T
TOMO
Developer Docs
BETA These docs are under partner review. Some features described are roadmap items, not yet shipped. Verify against your sandbox before relying on any contract.
● LIVEv1.0.0marketplace.buy_used_car

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_minbudget_inr_max — else ERR_BUDGET_RANGE.
  • accident_history_max: none HARD filters listings with any history.
  • flood_damaged: false + odometer_tampered: false HARD applied always (anti-fraud).
  • ownership_chain_max STRICT integer.
  • fuel_types STRICT 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_inr vs 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

  1. RC + insurance + PUC active.
  2. Parivahan verified within 30d.
  3. Flood-damaged: false, odometer-tampered: false.
  4. Owner chain ≤ user max.
  5. Accident history within user tolerance.
  6. KM run ≤ user max.

7. COMPLETION CONTRACT

Success criteria

  1. Shortlist viewed; detail report accessed.
  2. Test drive scheduled (where requested).
  3. Finance pre-approval received (if requested).
  4. Booking locked via partner escrow.
  5. Vehicle delivered with photo handover.
  6. RC transfer initiated (where included or as add-on).
  7. 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_rank on 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.