1. Implement Unified Plan Schema
Support plan types: service, product, subscription, hybrid
Add support for:
Variants
Combo products
Pricing rules (distance, area, quantity)
Visit schedules
Perks
SKU
Metadata
Multi-tenant (dbName)
2. Pricing Rule Engine
Calculate basePrice
Apply distance rules
Apply area rules
Apply quantity slabs (tier pricing)
Apply combo basePrice overrides
Apply discounts & taxes
Generate finalPrice + savingsAmount
3. API Development
POST /api/plans → Create Plan
Include validation, sanitization, and business rules
Auto-generate price values per variant
4. Validation Layer (Joi)
Validate all plan types
Validate combo items
Validate pricing rules
Validate variants + schedules
5. Controller & Service Layer
CreatePlan controller
PlanService with:
basePrice calculator
combo calculator
rule engine integration
variant processor
6. Utility Functions
priceEngine.js
asyncHandler.js
apiError.js
standardized API response structure
7. Testing
Test with all plan scenarios:
Mixed pricing rules (distance + area)
Tiered / slab pricing
Multi-variant plan
Combo item plans
One-time product bundle
Annual subscription + visit schedule
Full hybrid plan
Simple product plan
Simple service plan
8. Documentation
Explain basePrice
Explain pricing rules
Explain SKU logic
Explain combo pricing flow
Add API examples (Postman JSON)
Acceptance Criteria:
All plan types must be created successfully via API.
Pricing engine must compute correct finalPrice + savingsAmount.
Validation must reject incorrect payloads.
All scenarios tested and passed.
Clean error responses & logging.
Schema ready for future features (addons, bundles, etc.).
Deliverables:
UnifiedPlanSchema
PlanService with pricing engine
PlanController
Routes
Validation schema
Utility modules
Postman collection
Internal documentation PDF