Bug #5224
openImplement Plan Schema & Pricing Scenarios Create Plan API
80%
Description
Build and integrate the new Plan Engine that supports all current and upcoming business scenarios for products, services, subscriptions, and hybrid plans.
Subtasks
Related issues
Updated by Thirupathirao Uppu 13 days ago
- Subject changed from Implement Plan Schema & Pricing Scenarios to Implement Plan Schema & Pricing Scenarios Create Plan API
- Status changed from New to In Progress
- Priority changed from Normal to High
- % Done changed from 0 to 80
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