marketplace.buy_used_car — Full Intent Specification
INTENT NAMESPACE: marketplace
INTENT NAME: buy_used_car
FULL ID: marketplace.buy_used_car
VERSION: v1.0.0
STATUS: live
TTBS WEIGHTS: time 0.15 · taste 0.25 · budget 0.30 · safety 0.30
LAST UPDATED: 2026-05-14
Buy a used car through a TOMO-routed marketplace (Cars24, Spinny, CarDekho, Maruti True Value, Mahindra First Choice, OLX Autos). Distinct from new-car booking because: (a) vehicle history (accident, flood, odometer, ownership chain) is the centerpiece of safety; (b) RC + insurance + PUC + fitness must be live; (c) inspection report (200-point / 140-point per partner) is the trust artifact; (d) finance is offered as add-on but TOMO never holds the loan — partner finance arm or bank does; (e) RC transfer (Parivahan / state RTO) is the post-sale operation; (f) return policy varies (7-day money-back from some, none from others).
1. NATURAL LANGUAGE COVERAGE
Classifies IN
- "buy used car under ₹6 lakh"
- "Cars24 inventory Maruti Swift"
- "second hand sedan Hyderabad"
- "pre-owned Honda City automatic"
- "Spinny assured cars Mumbai"
- "buy refurbished SUV"
- "used car with low km, single owner"
- "Maruti True Value showroom inventory"
- "OLX Autos verified seller"
- "used EV under 10 lakh"
Classifies OUT — borderline NO
- "new car booking" → out of v1 (separate intent path)
- "rent a car" →
mobility.book_self_drive - "evaluate my car for sale" →
marketplace.evaluate_used_vehicle - "sell my car" →
marketplace.sell_used_car - "RC transfer" →
auto.book_rc_transfer
MULTI-INTENT TRIGGERS
- "buy used car + insurance + RC transfer" →
marketplace.buy_used_car+finance.buy_motor_insurance+auto.book_rc_transfer - "buy used car + extended warranty"
- "buy used car + delivery to another city"
2. INPUT — TOMO → PROVIDER
{
"intent": "marketplace.buy_used_car",
"intent_version": "v1.0.0",
"request_id": "req_buc_4r2q_2026-05-14T19:00:00Z",
"user_session_id": "anon_user_token_or_uid",
"criteria": {
"city": "Hyderabad",
"budget_inr_min": 300000,
"budget_inr_max": 700000,
"fuel_types": ["petrol", "diesel"],
"fuel_types_allowed": ["petrol", "diesel", "cng", "ev", "hybrid"],
"transmission": "any",
"transmissions_allowed": ["manual", "automatic", "any"],
"body_types": ["hatchback", "sedan"],
"body_types_allowed":["hatchback", "sedan", "suv", "muv", "convertible"],
"max_km_run": 70000,
"min_year": 2017,
"ownership_chain_max": 2,
"min_seating": 5
},
"trust_requirements": {
"inspection_report_required": true,
"insurance_active_required": true,
"puc_active_required": true,
"rc_active_required": true,
"accident_history_max": "minor_only",
"accident_history_allowed": ["none", "minor_only", "any"],
"flood_damaged": false,
"odometer_tampered": false
},
"add_ons": {
"test_drive_at_home_required": true,
"finance_pre_approval_request": true,
"extended_warranty_quote": true,
"rc_transfer_assistance": true
},
"user_constants": {
"preferred_providers": ["Cars24", "Spinny", "CarDekho", "Maruti True Value"]
}
}
Field rules
budget_inr_min≤budget_inr_max— elseERR_BUDGET_RANGE.accident_history_max: noneHARD filters listings with any history.flood_damaged: false+odometer_tampered: falseHARD applied always (anti-fraud).ownership_chain_maxSTRICT integer.fuel_typesSTRICT ENUM array.
3. PROVIDER TOOLS
umcar.search
Returns matching inventory with prices + photos + inspection summary.
umcar.detail
Returns full 200-point inspection report + RC + insurance status + history.
umcar.parivahan_verify
Verifies RC status against Parivahan (partner integration permits).
umcar.test_drive_at_home
Schedules at-home test drive slot.
umcar.finance_pre_approval
Returns pre-approval offers from partner finance arms / banks.
umcar.book_buy
Locks the car; payment routed via partner's escrow / direct.
umcar.rc_transfer_assist
Initiates RC transfer (Parivahan).
umcar.dispute_return
For 7-day money-back partners.
umcar.cancel
Pre-payment cancel.
4. RESPONSE SHAPE
{
"intent": "marketplace.buy_used_car",
"request_id": "req_buc_4r2q_2026-05-14T19:00:00Z",
"listings": [
{
"tier": "OK",
"provider": "OLX Autos Hyderabad",
"vehicle": {
"make": "Maruti Suzuki", "model": "Swift VXi", "variant": "2018 Petrol Manual",
"year": 2018, "km_run": 62000, "fuel": "petrol", "transmission": "manual",
"color": "white", "owners_chain": 2, "rc_state": "TS"
},
"price_inr": 425000,
"inspection_report_points": 140,
"inspection_summary": "minor_dents_no_engine_issues",
"accident_history": "none",
"rc_active": true,
"insurance_active": true,
"puc_active": true,
"parivahan_verified_at_iso": "2026-05-13T07:00:00Z",
"delivery_eta_days": 5,
"return_window_days": 0,
"ttbs_score": 0.68,
"tier_reason": "cheapest within criteria"
},
{
"tier": "GOOD",
"provider": "CarDekho",
"vehicle": {
"make": "Maruti Suzuki", "model": "Swift ZXi", "variant": "2019 Petrol Manual",
"year": 2019, "km_run": 48000, "fuel": "petrol", "transmission": "manual",
"color": "silver", "owners_chain": 1, "rc_state": "TS"
},
"price_inr": 525000,
"inspection_report_points": 200,
"inspection_summary": "no_accident_no_flood",
"accident_history": "none",
"rc_active": true,
"insurance_active": true,
"puc_active": true,
"parivahan_verified_at_iso": "2026-05-13T07:00:00Z",
"delivery_eta_days": 3,
"return_window_days": 5,
"extended_warranty_available": true,
"ttbs_score": 0.85,
"tier_reason": "balanced — 200-pt inspection + 5-day return"
},
{
"tier": "GREAT",
"provider": "Spinny Assured",
"vehicle": {
"make": "Maruti Suzuki", "model": "Swift ZXi+", "variant": "2020 Petrol Manual",
"year": 2020, "km_run": 32000, "fuel": "petrol", "transmission": "manual",
"color": "red", "owners_chain": 1, "rc_state": "TS"
},
"price_inr": 650000,
"inspection_report_points": 200,
"inspection_summary": "no_accident_no_flood_no_repaint",
"accident_history": "none",
"rc_active": true,
"insurance_active": true,
"puc_active": true,
"parivahan_verified_at_iso": "2026-05-13T07:00:00Z",
"delivery_eta_days": 2,
"return_window_days": 7,
"extended_warranty_included": true,
"rc_transfer_included": true,
"ttbs_score": 0.92,
"tier_reason": "Spinny Assured — 7-day return + warranty + RC transfer included"
}
]
}
5. CONTROLLED VOCABULARIES
fuel_type
petrol · diesel · cng · ev · hybrid
transmission
manual · automatic · any
body_type
hatchback · sedan · suv · muv · convertible
accident_history
none · minor_only · any
inspection_summary
no_accident_no_flood · no_accident_no_flood_no_repaint · minor_dents_no_engine_issues · engine_issue_disclosed · accident_disclosed_minor
All STRICT ENUM.
6. TTBS DIMENSIONS
TIME (weight 0.15)
- Delivery ETA days
- Test-drive-at-home slot availability
- TIME = 1 − delivery_eta / 7
TASTE (weight 0.25)
- Provider brand familiarity
- Color/variant match
- Body type fit
- Listing photo quality (multi-angle band)
- TASTE = brand × variant_fit × photo_band
BUDGET (weight 0.30)
price_inrvs market median for same make/model/year/km- Hidden registration / processing fee transparency
- Finance EMI clarity if pre-approval
- BUDGET = 1 − (price − market_median) / market_median
SAFETY (weight 0.30)
- Inspection report points (200 > 140 > none)
- Accident / flood / odometer-tamper flags
- RC + insurance + PUC active
- Parivahan verified cache ≤ 30d
- Return window > 0
- Extended warranty option
- Owner chain ≤ specified
- SAFETY = inspection × history × docs × parivahan × return × warranty × chain
HARD FILTERS
- RC + insurance + PUC active.
- Parivahan verified within 30d.
- Flood-damaged: false, odometer-tampered: false.
- Owner chain ≤ user max.
- Accident history within user tolerance.
- KM run ≤ user max.
7. COMPLETION CONTRACT
Success criteria
- Shortlist viewed; detail report accessed.
- Test drive scheduled (where requested).
- Finance pre-approval received (if requested).
- Booking locked via partner escrow.
- Vehicle delivered with photo handover.
- RC transfer initiated (where included or as add-on).
- CPC webhook fires.
CPC webhook
{
"event": "marketplace.buy_used_car.completed",
"intent_id": "marketplace.buy_used_car",
"request_id": "req_buc_4r2q_2026-05-14T19:00:00Z",
"order_id": "BUC9KP72",
"provider": "Spinny Assured",
"vehicle_rc": "TS09EZXXXX",
"price_inr": 650000,
"tomo_commission_base_inr": 26000,
"tomo_commission_inr": 2600,
"pass_through_inr": 621400,
"inspection_report_points": 200,
"delivered_at_iso": "2026-05-21T11:30:00+05:30",
"signature_hmac_sha256": "…"
}
tomo_commission_base_inr = partner referral on NET commission slice, NOT 10% of car price. Per COMMISSION BASE = NET, TOMO never books vehicle MSRP as revenue.
Failure cases
parivahan_mismatch→ block sale; investigate.rc_inactive_post_listing→ de-list; user refunded.inspection_failed_post_book→ user can void per return window.finance_pre_approval_failed→ switch to alt lender.delivery_delayed→ SLA-tied compensation.
8. WIDGET
{
"widget": "BuyUsedCarWidget",
"header": {
"criteria_strip": "Hatch/Sedan · ₹3–7L · ≤70k km · ≥2017 · ≤2 owners",
"trust_strip": "Parivahan-verified · 200-pt inspection where available"
},
"regions": {
"region_1_intelligence": ["3 matches passed all hard filters", "test drive at home in 2 slots", "finance pre-approval available"],
"region_2_summary": "Top 3 picks across providers",
"region_3_visual": "vehicle_photo_url (partner-supplied, signed)",
"region_4_now_pin": "Schedule test drive — 3 slots tomorrow",
"region_5_tomo_choices": [
{"tier": "OK", "label": "Swift VXi 2018 · 62k km · ₹4.25L · OLX Autos", "reason": "cheapest"},
{"tier": "GOOD", "label": "Swift ZXi 2019 · 48k km · ₹5.25L · 200-pt + 5-day return", "reason": "balanced"},
{"tier": "GREAT", "label": "Swift ZXi+ 2020 · 32k km · ₹6.5L · 7-day return + warranty", "reason": "highest trust"}
]
},
"footer_disclosures": [
"All listings shown are Parivahan-verified within 30 days — RC status is real.",
"Inspection points (140 vs 200) reflect partner inspection depth — both are valid baselines.",
"Return windows differ — 0 days at OLX-style classifieds, up to 7 days at Spinny Assured."
]
}
9. CACHING POLICY
- Search results: 30 min TTL.
- Vehicle detail: 24h TTL.
- Parivahan check: 30 days at registry layer.
- Inspection report: pointer at TOMO; full at partner.
- Past buys: 5 years on-device (audit), encrypted.
10. ERROR CODES
| Code | Meaning | UI surface |
|---|---|---|
ERR_BUDGET_RANGE |
min > max | Re-enter |
ERR_NO_MATCHES |
filters too tight | Suggest relaxing filters |
ERR_PARIVAHAN_MISMATCH |
RC verify fail | Block sale |
ERR_RC_INACTIVE |
RC not active | De-list |
ERR_INSPECTION_REPORT_STALE |
report > 90d | Re-inspect or de-list |
ERR_FINANCE_PRE_APPROVAL_FAILED |
lender said no | Alt lender |
ERR_TEST_DRIVE_SLOT_UNAVAILABLE |
no slot | Reschedule |
ERR_DELIVERY_DELAYED |
beyond SLA | Compensation |
ERR_FLOOD_OR_TAMPER_DETECTED |
failed anti-fraud | Block |
ERR_PARTNER_OFFLINE |
partner API down | Try next |
11. SANDBOX → PRODUCTION CHECKLIST
- Sandbox Parivahan verify gate.
- Sandbox flood / tamper filter.
- Sandbox inspection report staleness gate.
- Sandbox finance pre-approval flow.
- Sandbox return window display.
- Production Parivahan API SLA agreement signed.
- Production rate limit: 10 active buy intents / user / month.
- Production CPC HMAC-SHA256 5-min replay verified.
- Production partner inspection contract attested.
- Production finance partner KYC + lender RBI registration verified.
12. ANTI-FABRICATION RULES
- NO
paid_placement/editor_pick/sponsored_rankon listings — TTBS only. - NO synthetic vehicle photos — partner-supplied only.
- NO AI-generated inspection summaries — partner-attested only.
- NO concealing partner processing fee.
- NO claim of "no accident" if partner data says otherwise.
- NO TOMO-issued inspection badge.
- NO claim of warranty unless
extended_warranty_included: true. - NO bundling promo into car price.
- NO holding RC / customer data at TOMO beyond pointer.
- NO marketing language ("smart used car deal").
13. REGULATORY FRAMING
- Motor Vehicles Act 1988 — RC active, fitness, transfer.
- Parivahan Sewa portal — RC verification.
- Consumer Protection Act 2019 — partner is service provider; misrepresentation actionable.
- Sale of Goods Act 1930 — implied conditions of merchantability for used vehicles.
- GST — applicable on margin scheme for used-car dealers.
- IRDAI — motor insurance per RC.
- CPCB — PUC certificate active.
- DPDPA 2023 — RC + buyer details = personal data; partner is processor; TOMO holds pointer only.
- TOMO is router only — does NOT own inventory, does NOT inspect, does NOT issue RC.