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.

marketplace.sell_used_car

Sell a used car through a TOMO partner (Cars24 / Spinny / OLX Autos / CarTrade). Instant quote → at-home inspection → escrow payment → RC transfer initiation. TOMO is the listing/quote conversational surface; the partner holds the money and the legal transfer.


1. Identity

  • Intent ID: marketplace.sell_used_car
  • Vertical: marketplace
  • Verb: sell
  • Noun: used_car
  • Primary agent: MarketplaceAgent
  • Sub-agents enriching (DATA only): FinanceAgent (loan-closure if active), LogisticsAgent (pickup truck if not driveable), SafetyAgent (inspection-visit-safety flags)
  • Single-intent → completed action: instant quote → confirmed pickup slot → escrow payment + RC transfer initiation
  • Handoff layer: L2 (embedded in TOMO; partner micro-frontend renders ownership-transfer paperwork)

2. NL Coverage (must-classify utterances)

  • "sell my car"
  • "what's my swift dzire 2019 worth"
  • "sell my hyundai i20 nakkalgutta"
  • "instant quote for my ertiga"
  • "cars24 quote for my swift"
  • "spinny inspection visit"
  • "i want to sell my car to olx"
  • "honda city 2018 sell price"
  • "sell car at home pickup"
  • "evaluate my car for sale"

Must NOT match: "buy used car" (→ marketplace.buy_used_car), "service my car" (→ auto_service.book_service), "car valuation only" (→ marketplace.evaluate_used_vehicle).


3. Input (slots)

Slot Type Required Source
make enum HARD NL or RC lookup
model string HARD NL or RC lookup
variant string SOFT partner catalog match
year int HARD NL or RC
fuel enum [petrol, diesel, cng, electric, hybrid] HARD RC
transmission enum [manual, automatic] HARD catalog match
kms_driven int HARD seller declared (verified at inspection)
owners int HARD RC (1st/2nd/3rd+)
rc_number string HARD seller declared, Parivahan-verified
pickup_address geo HARD saved location or NL
inspection_slot datetime HARD partner calendar
existing_loan bool SOFT seller declared (triggers FinanceAgent NOC sub-flow)
expected_price_inr int SOFT seller declared (for honesty-gap chip only)

4. Provider Tools (partner MCP capabilities)

  • get_instant_quote(make, model, variant, year, fuel, transmission, kms_driven, owners){quote_inr, quote_ttl_min, quote_id}
  • schedule_inspection(quote_id, pickup_address, slot){visit_id, inspector_name, eta_min}
  • submit_inspection_report(visit_id){final_offer_inr, delta_inr, downgrade_reasons[]}
  • accept_offer(visit_id){transaction_id, escrow_state}
  • initiate_rc_transfer(transaction_id){form_29_pdf_url, form_30_pdf_url, parivahan_ack_id}
  • release_escrow(transaction_id){utr, settled_at_iso}
  • cancel_visit(visit_id, reason){cancellation_fee_inr}

Idempotency: quote_id is the dedupe key for downstream schedule_inspection.


5. Response Shape (Conv Intel 5-region grammar)

  • Region 1 — INTELLIGENCE strip: quote_ttl_min, parivahan_verified=true, loan_outstanding_inr (if any), local_demand_index (model+city), safety_flags[] (at-home inspection trust signals)
  • Region 2 — one-line summary: "₹{instant_quote_inr} instant quote, valid {ttl} min. Final price after at-home inspection."
  • Region 3 — visual anchor: stock photo of make+model+colour (NOT seller's car — clearly labelled "reference image")
  • Region 4 — NOW pin: nearest available inspection slot + partner name + inspector verification badge
  • Region 5 — TOMO CHOICES (OK/GOOD/GREAT):
    • OK: highest instant quote (fastest cash)
    • GOOD: best balance (quote + reputation + escrow reliability)
    • GREAT: highest historical final-offer match-rate (least downgrade risk)

Anti-fabrication: no AI-rendered photos of seller's specific vehicle, no synthetic "₹X higher than market" claims without partner-quoted comparison.


6. Controlled Vocabularies (STRICT ENUM)

  • fuel: petrol | diesel | cng | electric | hybrid
  • transmission: manual | automatic
  • owners: 1 | 2 | 3 | 4+
  • escrow_state: pending_inspection | inspected | offer_accepted | rc_initiated | escrow_held | settled | cancelled
  • downgrade_reason: accident_history | flood_damage | odometer_mismatch | major_panel_repaint | engine_blow_by | transmission_slip | tyres_below_2mm | interior_damage_severe | rust_chassis | aftermarket_unauthorized
  • partner: cars24 | spinny | olx_autos | cartrade | carwale
  • pickup_type: self_drive | partner_truck (auto if not driveable)

No free-text on downgrade_reason — partner must map to enum so TOMO can show plain-English honesty chip.


7. TTBS Dimensions (weights)

Dim Weight Signal
Time 0.20 instant quote TTL, inspection slot ETA, escrow settlement SLA
Taste 0.10 seller preference for partner brand (if any history)
Budget 0.40 highest quote, lowest downgrade history, no hidden deductions
Safety 0.30 partner Parivahan-verified, RC transfer assist included, escrow protection, inspector ID-badge, female-friendly inspector option

Locked: budget+safety = 0.70 — sell-side is dominated by price honesty and transaction security.


8. Completion Contract

Mission completes when ALL of:

  1. Seller accepts final offer (post-inspection)
  2. Partner emits escrow_state=escrow_held AND parivahan_ack_id is present
  3. Pickup truck (if applicable) confirmed scheduled OR seller marks self-drive-handover done
  4. CPC webhook received: event=sale_completed, amount_inr = partner's net referral fee (NOT sale price), pass_through_inr = 0 (TOMO never holds sale proceeds)

Failure modes (do NOT mark complete):

  • Inspection no-show by inspector
  • Final offer rejected by seller (mission ends cancelled, no commission)
  • Parivahan transfer rejected (state-side issue)

9. Widget (in-chat surface)

  • CHOICES card: 3 partner tiers (OK/GOOD/GREAT) with instant-quote ₹ + escrow-reliability chip + slot ETA
  • HONESTY strip (Region 1): "Final offer may differ from instant quote — average downgrade in {city} = ₹{X}. Inspection report is signed."
  • SLOT picker: partner inspector calendar, female-inspector toggle, address confirm
  • POST-INSPECTION reveal card: final offer + delta vs instant quote + each downgrade_reason in plain English + Accept/Reject buttons
  • ESCROW status pill: pending → held → settled (UTR on settled)
  • RC TRANSFER card: Form 29/30 PDF links + Parivahan ack ID + ETA-to-name-change-on-RC

NEVER show: "guaranteed best price" (illegal price-fixing claim), AI-rendered seller car photo, synthetic 5★ inspector rating.


10. Caching Policy

Key TTL Invalidate on
instant_quote:{make}:{model}:{variant}:{year}:{fuel}:{kms_band} quote_ttl_min (partner-set, max 1440) partner price-list refresh, RBI repo change >25bps
parivahan:rc:{rc_number} 30 days RC blacklist event, transfer-in-progress
partner:reputation:{partner}:{city} 7 days manual override on complaint spike
inspector:availability:{partner}:{pincode} 15 min bookings

No caching of: final offer (always fresh per inspection), escrow state (always live).


11. Error Codes

Code Meaning UX
MKT_QUOTE_EXPIRED quote TTL elapsed regenerate quote button
MKT_RC_BLACKLIST Parivahan blacklist on RC hard block, surface reason if disclosable
MKT_LOAN_NOC_REQUIRED active hypothecation FinanceAgent NOC sub-flow
MKT_INSPECTOR_NO_SHOW partner SLA breach auto-reschedule + ₹500 partner credit
MKT_DOWNGRADE_EXCESSIVE final offer < 80% instant quote mandatory honesty chip + cooling-off prompt
MKT_PARIVAHAN_DOWN RTO endpoint unreachable retry queue, surface ETA
MKT_ESCROW_BANK_FAIL partner escrow bank rail down freeze, surface partner support
MKT_CANCEL_WINDOW_EXPIRED seller cancelled post-acceptance partner-defined penalty

12. Sandbox → Production Checklist

  • Partner sandbox quote endpoint matches production (100 sample RCs)
  • Parivahan verification against test+live RC corpus
  • Inspector visit dispatch in 3 pilot cities (HYD, BLR, DEL)
  • Escrow rail tested with 10 ₹1 transactions
  • Form 29/30 PDF generation byte-equal to RTO format
  • CPC webhook HMAC verified on 50 events
  • Downgrade-reason ENUM mapping audited for all 4 partners
  • Cancellation fee schedule pulled from partner T&C
  • Female-inspector toggle wired in all pilot cities
  • Anti-fabrication audit: no AI photos, no "guaranteed" copy

13. Anti-Fabrication Rules

  • NEVER show partner-paid placement — ranking is always live-fit OK/GOOD/GREAT
  • NEVER render AI image of seller's specific car
  • NEVER synthesise "₹X above market" — must be partner-quoted vs partner-quoted
  • NEVER show fake inspector star ratings — show only partner-reported visit-completion rate
  • NEVER claim TOMO holds money — escrow is partner's bank rail
  • NEVER hide downgrade reasons — plain-English chip is mandatory
  • NEVER cache final offer — always live per inspection

14. Regulatory Framing

  • Motor Vehicles Act 1988 §50 — ownership transfer via Form 29 (intimation) + Form 30 (application), filed at RTO of registration
  • Central Motor Vehicles Rules 1989 Rule 55 — within 14 days of sale
  • GST — used-car sale by individual = NOT taxable; partner's margin scheme attracts 12-18% on margin only
  • DPDPA 2023 — seller's PII (Aadhaar/PAN/phone) collected by partner, NOT TOMO; consent surfaced at partner micro-frontend
  • RBI Master Direction on Hypothecation — if loan active, partner must obtain NOC from financier before RC transfer
  • State RTO fee — borne by buyer per convention; surface in partner T&C
  • Cybercrime advisory — TOMO never asks for Aadhaar, OTP, or bank password; partner does, inside partner surface