3. Service Catalog & Pricing
(a) Business requirements
- Admin defines the catalog skeleton: top-level service categories (e.g., مراقبت از سالمند / Elderly Care, مراقبت پس از جراحی / Post-Surgery Recovery, مراقبت از نوزاد / Infant Care, مدیریت بیماری مزمن / Chronic Illness Management) and configurable option dimensions as admin-managed option groups (e.g., تعداد بیمار / patient count, نوع شیفت / shift type) each with concrete option values (e.g., ۱ نفر, ۲ نفر, شبانهروزی). Admin can add new dimensions without a schema change.
- Each nurse defines their own offerings as variants. A variant is the atomic bookable unit: a category + a chosen combination of option values + the nurse's own price and price unit. A nurse may have many variants per category, one per combination they choose to offer and price independently.
- Price units must support the real shapes of home nursing:
per_hour,per_session,per_half_day,per_day, andper_24h(شبانهروزی / live-in). For hourly variants an estimated duration helps the customer estimate total cost. - The variant
display_nameauto-generates from option labels but is nurse-editable. Nurses can deactivate (not delete) a variant; deactivated variants cannot be booked. - Catalog and prices are snapshotted onto the booking at booking time (
variant_snapshot_json) so historical records survive later edits.
(b) Iran-specific considerations
- Iranian competitors sell exactly these shapes — hourly / daily / 24-hour (شبانهروزی) shifts and multi-day packages — so
per_24handper_dayare first-class, not edge cases. - Competitor pricing is opaque and "توافقی" (negotiable); transparent, upfront, nurse-set pricing is a deliberate differentiator families value.
- All catalog tables carry
name_fa/name_enpairs (Persian primary).
(c) MVP vs DEFERRED
- MVP: admin categories + option groups/values; nurse variants with own price + price unit across all five units; activate/deactivate; snapshotting.
- DEFERRED: holiday/surge pricing rules; a lighter "companionship / daily-living" tier (modeled as a future category); dynamic/tiered commission per category.
(d) Supporting database entities
service_categories, service_option_groups, service_option_values, nurse_service_variants (carries price, price_unit), nurse_service_variant_options.
↑ Back to topRelated: Data model — Services & Pricing.