Skip to content

Services & Enrollment

Services

What it's for

Browse the full catalog of services you can enroll a client into.

Services

Steps

Use the search box to filter by name/type, then click View Details on a card.

Service Details

Here you can see the price, duration, and required documents before enrolling anyone. The Onboard User with this Service button just takes you to Onboarded Users — it doesn't pre-select this service, so you'll still choose it again on the enroll screen.

Technical Notes

GET /api/agent/services, GET /api/agent/services/:id.

Enroll a client

What it's for

The actual enrollment + payment flow, reached via Enroll in Service from the Onboarded Users list.

Enroll User in Service

Steps

  1. Under Enroll in New Service, choose a service from the Select Service dropdown.
  2. Review the summary that appears (price, duration), then click Proceed to Payment.

Complete Payment dialog

This is the same payment screen used everywhere in the app — Admin's Direct Enrollment, every role's client enrollment, all funnel through this one component.

Complete Payment dialog

Pick a payment method (Agents only see Online Payment via Razorpay — Cash and other manual methods are staff-only), choose to pay in full or leave a partial advance, optionally apply a coupon, and click Pay ₹....

Technical Notes

GET /api/agent/users (to look up the one user by id), enrollment order creation and verification via the shared enrollmentService/paymentService (PaymentDialog.tsx in components/common/). The available payment methods list is role-gated inside PaymentDialog.tsx — Cash, External Online Payment, and Pay Later only appear for admin/employee; Agents and Associates only ever see Razorpay. The "Enrolled Services History" table on this page is currently always empty — fetchEnrolledServices is stubbed to return [], not wired to a real endpoint yet. Use Enrollment History for the real record instead.