Appearance
Quote requests
Submissions from the website's "Get My Custom Quote" plan builder (clinic type → team size → features → city → contact details). Open Quote requests in the CRM to work them.
Every submission is also emailed to hello@cliniify.com (reply-to is the visitor), so the sales team gets it the moment it comes in.
In the CRM
- Open Quote requests.
- Search by name, clinic or city; filter by status, clinic type, partner, country or date.
- Open the eye icon for the full answers: team size, extra features, the price the visitor saw, and their requirements.
- Move the status forward: New → Contacted → Quote Sent → Converted → Closed. A status cannot go backward.
- Export downloads the filtered list as CSV.
Website API (public — no token)
POST /api/quote-requests/
The partner is picked automatically from the request's Origin header, so the India partner's domain (Partners → India partner) must match the website's host, e.g. cliniify.in. Browsers send Origin on their own; when testing with curl, pass it yourself. Limited to 10 submissions per hour per IP.
Example
bash
curl -X POST https://<api-host>/api/quote-requests/ \
-H "Content-Type: application/json" \
-H "Origin: https://cliniify.in" \
-d '{
"clinic_type": "MULTI_CHAIR",
"doctors": 3,
"branches": 2,
"receptionists": 2,
"admin_managers": 1,
"features": ["AI_FACE_RECOGNITION", "ADVANCED_ANALYTICS"],
"city": "Mumbai",
"estimated_price": 2999,
"name": "Dr. Asha Mehta",
"phone_number": "+91 98765 43210",
"email": "asha@smile.com",
"clinic_name": "Smile Dental Clinic",
"requirements": "We need lab integration"
}'Success (201):
json
{
"success": true,
"message": "Quote request submitted successfully.",
"data": { "id": 12, "status": "NEW", "feature_labels": ["AI Face Recognition", "Advanced Analytics Dashboard"], "...": "..." }
}Validation errors come back as 400 with the field names, e.g. {"clinic_type": ["\"HOSPITAL\" is not a valid choice."]}.
Fields
| Field | Required | Notes |
|---|---|---|
clinic_type | yes | SOLO (Solo Practitioner), MULTI_CHAIR (Multi-Chair Clinic), CHAIN (Dental Chain / Group), SPECIALTY (Specialty Practice) |
doctors | no, default 1 | Whole number 1–1000 (Dentists / Doctors slider) |
branches | no, default 1 | 1–1000 (Clinic Branches slider) |
receptionists | no, default 1 | 1–1000 |
admin_managers | no, default 1 | 1–1000 (Admin / Managers slider) |
features | no, default [] | Only the optional features the visitor ticked (the "Included" ones are in every plan, don't send them). Allowed: AXON_AI_COPILOT, AI_FACE_RECOGNITION, INVENTORY_TRACKING, ADVANCED_ANALYTICS, AI_3D_SCAN, MULTI_LOCATION_COMMAND_CENTRE, DEDICATED_ACCOUNT_MANAGER |
city | yes | The tile picked (e.g. Mumbai, Delhi / NCR, Other City) or the typed search text, max 100 chars |
estimated_price | no | Monthly price the website showed the visitor, a number. Informational only — it is calculated in the browser, so don't treat it as the final quote |
name | yes | Full name |
phone_number | yes | Max 20 chars |
email | yes | Valid email |
clinic_name | yes | |
requirements | no | Free text |
India only
Quote requests exist for India only. A request from any other country's partner domain is rejected with 400 ("Quote requests are only available for India."), and the Quote requests menu is shown only to the portal team and India partner teams.
