Project Vision & Overview
Vision
To be the leading digital platform for discovering and booking beauty and wellness services across India, empowering both consumers and professionals.
Mission
To create a seamless, transparent, and trusted ecosystem connecting users with verified salons and stylists, simplifying bookings and payments through technology.
Solution
A mobile-first marketplace platform featuring location-based discovery, real-time availability, secure online payments, verified reviews, and robust tools for salon management.
Platform Fundamentals
Core business logic, goals, and financial model.
Core Goal
Unified ecosystem for discovery, bookings, payments.
Core Financial Logic
Platform Commission: 5%
Deducted from the final service price paid by user.
Payment Gateway Fees: ~2%
Platform business expense, absorbed into Platform Fee.
Revenue Model (Pilot → Future)
| Source | Pilot (1-6 Mo) | Growth (6-18 Mo) | Scale (18+ Mo) |
|---|---|---|---|
| Booking Commission | 5-10% | 7-12% | 10-15% |
| Convenience Fee (User) | ₹10-20 | ₹20-30 | ₹30-50 |
| Verification / KYC | Free | ₹99 | ₹199 |
| Featured Listing | None | ₹499/mo | ₹999+/mo |
| Salon Subscription | None | ₹499+/mo | ₹999+/mo |
| Brand Product Tie-up | None | 10% cut | 15-20% |
Refined Financial Projection (Pilot Ahmedabad)
Based on: 100 Salons | 3 Bookings/Day/Salon | Avg Order Value (AOV) ₹500 | Commission 5% | Avg Convenience Fee ₹15 | Payment Gateway (PG) Cost 2% of (AOV + Fee) | Infra/Support Cost ₹1.2L/month.
| Calculation Step | Daily Value | Monthly Value (x30 Days) |
|---|---|---|
| Total Daily Bookings | 100 salons * 3 = 300 | 9,000 |
| Gross Merchandise Value (GMV) | 300 * ₹500 = ₹1,50,000 | ₹45,00,000 |
| (+) Platform Commission (5% of GMV) | ₹1,50,000 * 0.05 = ₹7,500 | ₹2,25,000 |
| (+) Convenience Fees (₹15 x Bookings) | 300 * ₹15 = ₹4,500 | ₹1,35,000 |
| A. Total Platform Revenue | ₹7,500 + ₹4,500 = ₹12,000 | ₹3,60,000 |
| (-) Payment Gateway Fees (2% of User Payment) | (₹500 + ₹15) * 0.02 * 300 = (~₹3,090) | (~₹92,700) |
| (-) Estimated Infra/Support Costs | ₹1,20,000 / 30 = (~₹4,000) | (₹1,20,000) |
| B. Total Platform Costs | (~₹7,090) | (~₹2,12,700) |
| Estimated Net Profit (A - B) | ~₹4,910 | ~₹1,47,300 |
Revenue Model Evolution (Chart)
Detailed Feature Specifications
In-depth technical breakdown for each core MVP feature, accessed via the header dropdown.
Feature: User Registration
Allows a new customer to create an account using email/phone and password, granting the 'User' role.
users
(Write)name,
email, phoneNumber, passwordHash, roleId
('User'), createdAt, status ('Active')POST /api/auth/registerGuest
onlyFeature: User Login
Allows registered users to authenticate and receive an access token containing their permissions.
users
(Read), roles (Read)users:
(email/phone, passwordHash, roleId). roles: (permissions).POST /api/auth/loginGuest
onlyFeature: Salon Discovery & Search
Enables users to find salons via location (GPS/manual), filters (category, rating), and sorting.
salons
(Read)salonId,
salonName, address (city, geolocation), avgRating,
status ('Approved'), businessType.GET /api/public/salonsGuest,
UserFeature: Salon Detail Page
Displays comprehensive details about a specific salon.
salons
(Read), services (Read), staff (Read), reviews
(Read)services, staff,
reviews.GET /api/public/salons/:salonId (+ maybe separate
calls)Guest,
UserFeature: Check Availability
Calculates and displays available time slots for a service on a given date.
salons
(Read), services (Read), purchaseOrders (Read)salons:
(timings, blockedSlots). services: (duration). purchaseOrders:
(bookingDateTime, serviceSnapshot.duration).GET /api/public/availabilityGuest,
UserFeature: Create Booking & Payment
Handles the end-to-end booking process: creates temporary order, processes payment, confirms order.
orders doc -> Initiates Razorpay -> User pays -> Webhook confirms
-> API updates orders, creates purchaseOrders, logs discount ->
Returns confirmation.orders
(Write/Update), purchaseOrders (Write), discounts (Read/Update),
giftCards (Read/Update), discountLogs (Write)orders & purchaseOrders. discounts: (code,
currentUsage). giftCards: (code, currentBalance).POST /api/user/orders,
POST /api/user/orders/:orderId/confirm (or webhook handler)User
(Permission: `CreateBooking`)Feature: View Booking History
Allows logged-in users to see their past and upcoming confirmed bookings.
purchaseOrders (Read)userId,
salonId, serviceSnapshot, bookingDateTime,
status.GET /api/user/bookingsUser
(Permission: `ViewOwnBookingHistory`)Feature: Gift Cards (MVP)
Allows users to purchase gift cards and redeem them during booking checkout.
giftCards doc.orders.priceBreakup -> Updates giftCards.currentBalance on
confirmation.giftCards
(Write/Read/Update)code,
initialAmount, currentBalance, status,
expiryDate.POST /api/user/giftcards/buy (Purchase). Redemption logic
inside POST /api/user/orders.User
(Permissions: `PurchaseGiftCard`, `RedeemGiftCard`)Feature: Submit Review
Allows users to submit a rating and comment after a completed booking.
reviews
(Write), purchaseOrders (Read/Update)reviews:
(purchaseOrderId, userId, salonId, rating, comment, createdAt). purchaseOrders:
(isReviewed).POST /api/user/reviewsUser
(Permission: `CreateReview`)Feature: Salon Registration
Initial application process for salon owners.
salons doc (Pending) -> Triggers Razorpay onboarding -> Notifies
Admin.salons
(Write), users (Update role?)salons: All
fields, `status` ('Pending').
users`: `roleId`.POST /api/auth/salon/register
User (not already SalonOwner)Feature: Manage Salon Profile
Allows approved salon owners to update their salon details, timings, and amenities.
salons
(Read/Update)salonName,
contact, address, amenities.GET /api/salon/my-salon,
PUT /api/salon/my-salonSalonOwner
(Permission: `UpdateOwnSalonDetails`)Feature: Manage Timing & Holidays
Allows salon owners to set their weekly hours and add specific block-out periods (holidays, breaks).
salons
(Read/Update)timings,
blockedSlots.PUT /api/salon/my-salonSalonOwner
(Permission: `UpdateOwnSalonTimings`)Feature: Manage Services
Salon owners add, edit, or delete services offered, including price, duration, staff assignment, and sale price.
services
(Write/Read/Update/Delete)salonId,
name, description, category, duration,
genderType, originalPrice, salePrice,
addOns, assignedStaffIds, isActive.POST /api/salon/my-salon/services,
PUT /api/salon/my-salon/services/:serviceId,
DELETE /api/salon/my-salon/services/:serviceIdSalonOwner
(Permission: `CreateEditDeleteOwnService`)Feature: Manage Staff
Salon owners add, edit, or delete staff profiles and link them to services.
services.
staff
(Write/Read/Update/Delete), services (Update
assignedStaffIds)staff:
(salonId, name, role, bio, imageUrl, experienceLevel, specializations).
services`: (assignedStaffIds).POST /api/salon/my-salon/staff,
PUT /api/salon/my-salon/staff/:staffId,
DELETE /api/salon/my-salon/staff/:staffIdSalonOwner
(Permission: `CreateEditDeleteOwnStaff`)Feature: Manage Appointments
Salon owners view their upcoming/past bookings and update their status (e.g., mark as completed, cancel).
purchaseOrders doc.purchaseOrders (Read/Update)salonId,
bookingDateTime, status, userId,
serviceSnapshot.GET /api/salon/my-salon/bookings,
PUT /api/salon/my-salon/bookings/:purchaseOrderId/statusSalonOwner
(Permission: `UpdateOwnBookingStatus`)Feature: Manage Discounts (Salon)
Allows salon owners to create salon-funded promo codes and set sale prices on services.
discounts
(Write/Read/Update), services (Update)discounts`: (salonId, code, type, value, valid...). `services`: (salePrice).POST /api/salon/my-salon/offers`, `PUT /api/salon/my-salon/services/:serviceId
SalonOwner` (Permissions: `CreateEditDeleteOwnDiscount`, `SetServiceSalePrice`)Feature: Salon Dashboard
Provides salon owners with a basic overview of revenue, bookings, and top staff.
purchaseOrders (Aggregate), serviceAnalytics
(Read)purchaseOrders (revenue, bookings), grouped by
staffSnapshot. Aggregated bookingCount from
serviceAnalytics.GET /api/salon/my-salon/dashboardSalonOwner
(Permission: `ViewBasicAnalytics`)Feature: Manage Reviews (Salon)
Allows salon owners to view reviews for their salon and (in Phase 2) respond.
reviews
(Read/Update)salonId`, `rating`, `comment`, `createdAt`, `salonResponse`, `salonResponseAt`.GET /api/salon/my-salon/reviews`, `PUT /api/salon/my-salon/reviews/:reviewId` (Phase 2)SalonOwner` (Permissions: `ViewOwnReviews`, `RespondToReviews` - Phase 2)Feature: Admin Dashboard
Provides admins with a platform-wide overview of KPIs.
purchaseOrders (Aggregate), users (Count),
salons (Count)finalPriceBreakup.total) and counts across collections.GET /api/admin/dashboard-statsAdmin
(Permission: `ViewPlatformDashboard`)Feature: Salon Verification
Admin process to review KYC details and approve or reject new salon applications.
salons
(Read/Update)status`, `kycDetails`, `bankDetails`.GET /api/admin/salons (filter status='Pending'),
POST /api/admin/salons/:salonId/approve,
POST /api/admin/salons/:salonId/rejectAdmin
(Permission: `ApproveRejectSalon`)Feature: Master User Management
Allows Admin to view all users and activate/deactivate their accounts.
users
(Read/Update)userId,
name, email, roleId, status.
GET /api/admin/users,
PUT /api/admin/users/:userId/statusAdmin
(Permission: `ActivateDeactivateUser`)Feature: Master Booking Management
Allows Admin to view all bookings and initiate refunds.
purchaseOrders (Read/Update)purchaseOrders.GET /api/admin/bookings,
POST /api/admin/bookings/:purchaseOrderId/refundAdmin
(Permission: `ProcessRefunds`)Feature: Platform Offer Management
Allows Admin to create platform-funded promotional codes.
discounts doc with specific flag.discounts
(Write)salonId
(null), code, type, value, validFrom,
validTo, totalUsageLimit, isPlatformFunded
(true).POST /api/admin/offersAdmin
(Permission: `CreatePlatformOffers`)Feature: Platform Settings Management
Allows Admin to configure global platform rules like fees and categories.
platformSettings
doc.platformSettings (Read/Update)platformFeePercent, convenienceFeeFixed,
serviceCategories, activeCities,
maxBookingDaysInAdvance.GET /api/admin/settings,
PUT /api/admin/settingsAdmin
(Permission: `ManagePlatformSettings`)Feature: Role & Permission Management
Allows SuperAdmin to define roles (like subscription tiers) and assign granular permissions.
roles collection defining permission sets.roles
(Write/Read/Update)roleId,
name,
permissions` (object map).GET /api/admin/roles,
POST /api/admin/roles, PUT /api/admin/roles/:roleIdAdmin` (Specific Permission: `CreateEditRole`, SuperAdmin only)Feature: Abandoned Checkout Tracking
Allows Admin to view a list of booking attempts that were started but not completed.
orders
(Read)userId`, `salonId`, `serviceId`, `createdAt`, `paymentStatus` (e.g., 1-Pending and older than TTL, or 4-Failed).GET /api/admin/abandoned-checkoutsAdmin
(Permission: `ViewAbandonedCheckouts`)Design Guidance & Wireframes
Mobile-first principles and wireframe descriptions for key screens.
Mobile-First Principles
- **Layout:** Single-column layout. Vertical stacking. Bottom tabs or hamburger menu.
- **Touch Targets:** Min 44x44px, adequate spacing.
- **Typography:** Legible base size (~16px).
- **Forms:** Multi-step for complexity. Native mobile inputs.
- **Images:** Optimize for mobile.
- **Interactions:** Simple tap/swipe. Avoid complex hover.
- **Performance:** Minimize JS bundles, optimize assets.
Wireframe Descriptions (Mobile View)
Screen 1: Homepage (Guest View)
Hero...
Categories
Featured Near You
**Description:** ...
Screen 2: Salon Detail Page
Modern Cuts ★★★★☆ ...
...Hair
**Description:** ...
Screen 3: Booking - Select Date & Time
Select Date
Select Time
**Description:** ...
Interactive Financial Modeler
Adjust the inputs to see how different scenarios affect the price breakup for the user and the final payout for the salon.
Scenario Builder
User's Price Breakup
Salon's Payout
Core Logic & Visual Flows
Visual flowcharts for key processes and the definitive discount rules.
User Booking Process (Visual Flow)
Show Summary
Update `orders` (Completed)
Create `purchaseOrders`
Update Logs
Send Notification
Update `orders` (Failed)
Salon Onboarding Process (Visual Flow)
Trigger Razorpay API
Redirect Owner to Razorpay
Update `salons` (RP ID)
Notify Admin
Notify Owner
Admin Salon Verification (Visual Flow)
Update `salons` (Approved)
Notify Owner
Update `salons` (Rejected)
Notify Owner
Gift Card Purchase & Redemption
Purchase Flow
Redemption Flow (During Booking)
Update Summary UI
(Note: `giftCards.currentBalance` updated upon *successful purchase order* creation)
Razorpay Integration Note:
Gift Card purchases are standard Razorpay checkouts. For redemption, the platform validates the code *before* initiating the final Razorpay payment for the booking, passing the potentially reduced amount to Razorpay.Platform Rulebook: Discounts
Type A: "Sale Price"
Direct price reduction set by salon on a service
(`services.salePrice`). Displayed as ₹500 ₹400.
Type B: "Promo Code"
Code created by salon (`discounts` doc, `isPlatformFunded: false`). Applied at checkout.
Type C: "Platform Offer"
Code created by Admin (`discounts` doc, `isPlatformFunded: true`). Platform bears cost.
Payment Gateway Integration (Razorpay)
Detailed flow for onboarding salons and handling payment splits.
1. Salon Onboarding (Razorpay Sub-merchant)
Links salon's bank account via Razorpay for automatic settlements.
2. Payment Split Logic (Razorpay Route)
How money flows from user to platform and salon.
Key Considerations:
- Requires Razorpay Route activation & Nodal Account.
- Backend calculates and initiates splits via Transfer API.
- Settlement timing managed by Razorpay.
Permissions & Access Control
The granular list of permissions defining platform access.
Permission Access Control List
This list defines actions. Specific roles (defined in the `roles` collection) will be assigned `true`/`false` or limits for relevant permission keys.
Technical Blueprint
The complete technical specification: API reference and final database schema.
API Endpoint Definitions (Phase 1)
POST /api/auth/register (User registration)
POST /api/auth/login (User login)
POST /api/auth/salon/register (Salon owner initial application)
Database Schema Details (Final 13 Collections)
Document-style schema for each collection.
AI Integration
Planned features using the API to add intelligence and value to the platform.
AI Service Descriptions
"Generate with AI" button for professional service descriptions.
Smart Review Replies
AI suggests courteous replies to customer reviews.
AI Review Summarizer
AI summarizes review themes for quick quality assessment.
AI Booking Assistant
Chatbot for natural language booking queries.
Style Recommender (Vision API)
Suggest salons based on uploaded hairstyle photos.
Development Costs & Alternatives (MVP)
Structured breakdown of potential costs and savings.
A. Estimated Required Costs (Monthly, Initial Scale)
Cloud VM/Containers (e.g., 2 small instances) + CDN
~ ₹1,500 - ₹5,000
M0 Free Tier (if low usage) or M10/M20 Shared Tier
₹0 - ₹4,000
Charged per transaction
~2% + GST / Transaction
Annual Cost (pro-rated monthly)
~ ₹100
Estimate based on booking volume (e.g., 9000 bookings * 2 SMS each @ ₹0.20)
~ ₹3,600
B. Cost-Saving Strategies (MVP Focus)
• Use Vercel Hobby for Frontend.
• Use Cloud Run/AWS Lambda free quota for Backend APIs if possible (check cold starts).
• Stay on MongoDB Atlas M0 as long as feasible.
• Use SendGrid/Mailgun free tiers for email.
• Rely heavily on Email and In-App notifications (free).
• Use SMS *only* for absolutely critical alerts (e.g., booking confirmation).
• Delay WhatsApp integration.
• Leaflet.js + OpenStreetMap for basic map display.
• Use free geocoding tiers carefully (Nominatim).
• Postpone advanced analytics visualizations that might require heavier DB queries.
• Delay integration with third-party marketing tools.
Notification Strategy
Details on how, when, and where notifications will be used.
Channels:
- **Email (MVP):** Primary channel (SendGrid, Mailgun, AWS SES).
- **SMS (MVP):** For critical alerts (Twilio, Vonage, MSG91).
- **In-App Notifications (MVP):** Simple dashboard alerts.
- **Push Notifications (Future Phase):** For mobile app.
- **WhatsApp (Future Phase):** Richer comms (Business API).
Key Trigger Points (MVP):
- **User:** Booking Confirm/Remind/Cancel/Refund (Email, SMS).
- **Salon Owner:** New Booking, User Cancel, Appointment Reminder, Payout Summary (Email, In-App).
- **Admin:** New Salon Pending, System Alert (Email, In-App).
Cost Considerations:
Utilize email free tiers. SMS: ~₹0.15 - ₹0.50/message. WhatsApp API: Higher cost. Prioritize Email/In-App, use SMS judiciously for MVP.
Multi-Phase Future Roadmap
The finalized plan for platform evolution post-MVP.
Phase 1: Core MVP
- Salon Profile & KYC
- Basic Service/Staff Mgt
- Timing & Holiday Mgt
- Appointment Mgt (Accept/Reject)
- Basic Salon Dashboard
- User Discovery & Search
- Detailed Salon Pages
- Booking & Payment Flow
- User Profile & History
- Gift Cards (Purchase/Redeem)
- Admin Verification
- Admin Booking Oversight
- Admin Platform Settings
- Abandoned Checkout Tracking
- Basic Notifications (Email/SMS)
Phase 2: Monetization & Growth
- Salon Subscription Plans
- Self-Serve Discounts
- Advanced Analytics Pro
- Salon Review Responses
- User Wallet & Loyalty
- Admin Subscription Mgt
- Featured Listings
- **Blog/News Section (Content Marketing)**
Phase 3: Scaling & Expansion
- Advanced Staff Mgt (Pricing, Schedules)
- Home Service Module
- Push & WhatsApp Notifications
- Brand/Product Integration
- Dynamic Peak Hour Pricing
- Automated Payouts
- **Trending Services/Styles Section**
Project Summary: Cost & Timeline
High-level estimates for MVP development.
Estimated MVP Infrastructure Costs
• Hosting (Vercel/Cloud Free Tier): ₹0
• Database (MongoDB Atlas M0): ₹0
• Email (SendGrid Free Tier): ₹0
• SMS (Low Volume Estimate): ~₹500 - ₹1,000 / month
• Domain: ~₹100 / month
Total Estimate A: ~ ₹600 - ₹1,100 / month
• Hosting (Scaled Cloud Instances): ₹3,000 - ₹8,000 / month
• Database (Atlas M10/M20): ₹4,000 - ₹6,000 / month
• SMS (Increased Volume): ₹3,000 - ₹5,000 / month
• Caching/Queuing (Optional): ₹1,000 - ₹2,000 / month
• Domain: ~₹100 / month
Total Estimate B: ~ ₹11,100 - ₹21,100+ / month
Note: Excludes variable payment gateway transaction fees (~2%).
Estimated MVP Development Timeline
Based on a team of ~4-5 (Frontend, Backend, QA, Design/PM):
UI/UX Design based on wireframes, final design system.
~ 2-4 Weeks
Setup project, Auth, DB models, Core APIs (Salons, Services, Users).
~ 4-6 Weeks
Setup project, UI components, Public pages (Home, Search, Detail), Auth flow.
~ 4-6 Weeks
Booking flow (Frontend + Backend), Razorpay, Order logic, Notifications.
~ 3-4 Weeks
Implement management features for Salon Owners and Admins.
~ 4-5 Weeks
End-to-end testing, performance checks, refinement.
~ 2-4 Weeks
Total Estimated MVP Build: ~ 4.5 - 6.5 Months
Note: Assumes parallel workstreams for frontend/backend after core setup. Can vary significantly.