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.0logistics.book_full_house_move

logistics.book_full_house_move — Full Intent Specification

INTENT NAMESPACE: logistics
INTENT NAME:      book_full_house_move
FULL ID:          logistics.book_full_house_move
VERSION:          v1.0.0
STATUS:           live
TTBS WEIGHTS:     time 0.20 · taste 0.10 · budget 0.30 · safety 0.40
LAST UPDATED:     2026-05-14

End-to-end household relocation: complete packing + loading + transit + unloading + unpacking + reassembly. Distinct from logistics.book_furniture_move because: (a) full inventory (cartons + furniture + appliances + fragile glassware); (b) packing crew + carpenter + electrician + truck + driver — multi-day; (c) intercity is common (Hyderabad → Bengaluru) and requires permits, fuel surcharge, GST E-way bill above ₹50k value; (d) household-goods all-risk insurance differs from parcel insurance — Sum Insured and Itemized Declaration matter; (e) survey is mandatory (video or in-person) before final quote.


1. NATURAL LANGUAGE COVERAGE

Classifies IN

  • "shift my 2BHK to Bengaluru"
  • "full house move Hyderabad to Pune"
  • "Agarwal Packers full quote"
  • "I'm moving cities, pack everything"
  • "house shifting + appliances + fragile crockery"
  • "complete home relocation 3BHK"
  • "intercity packers and movers Bangalore"
  • "shift my flat next month, end-to-end"
  • "move my household + car"
  • "office shift to new building, 1500 sqft"

Classifies OUT — borderline NO

  • "move just my sofa" → logistics.book_furniture_move
  • "send 5 boxes Mumbai" → logistics.send_intercity_parcel
  • "ship my bike Hyd to Pune" → logistics.book_bike_transport
  • "store stuff for 3 months" → logistics.book_storage_warehouse

MULTI-INTENT TRIGGERS

  • "full house move + car transport" → logistics.book_full_house_move + (separate vehicle-transport vendor, out of v1)
  • "move + storage for 2 weeks" → logistics.book_full_house_move + logistics.book_storage_warehouse
  • "move + cleaning at old flat" → logistics.book_full_house_move + lifestyle.book_at_home_service

2. INPUT — TOMO → PROVIDER

{
  "intent":          "logistics.book_full_house_move",
  "intent_version":  "v1.0.0",
  "request_id":      "req_hh_9p3q_2026-05-14T13:00:00Z",
  "user_session_id": "anon_user_token_or_uid",

  "scope": {
    "type":           "intercity",
    "type_allowed":   ["intracity", "intercity"],
    "home_size":      "2bhk",
    "home_size_allowed": ["1rk", "1bhk", "2bhk", "3bhk", "4bhk_plus", "villa", "office_small", "office_large"],
    "occupied_sqft_estimate": 950,
    "lived_in_years": 3
  },

  "pickup": {
    "address_id":   "addr_hyd_v1",
    "city":         "Hyderabad",
    "pin":          "500032",
    "floor":         "3",
    "lift_available": true,
    "narrow_lane_flag": false,
    "ready_at_iso":  "2026-06-01T08:00:00+05:30"
  },

  "drop": {
    "address_id":   "addr_blr_v1",
    "city":         "Bengaluru",
    "pin":          "560076",
    "floor":         "4",
    "lift_available": true,
    "narrow_lane_flag": true
  },

  "inventory": {
    "rooms": ["bedroom_master", "bedroom_2", "living", "kitchen", "study"],
    "fragile_count_estimate": 35,
    "appliances": ["refrigerator_double_door", "washing_machine_front_load", "air_conditioner_split", "microwave", "tv_55"],
    "furniture": ["sofa_3_seater", "queen_bed", "wardrobe_3_door", "dining_table_wood", "study_desk", "tv_unit", "bookshelf"],
    "valuables_declared_inr": 35000,
    "carton_count_estimate": 28
  },

  "services_required": {
    "packing":              true,
    "loading":              true,
    "transit":              true,
    "unloading":            true,
    "unpacking":            true,
    "carpenter_reassembly": true,
    "electrician_appliance_fit": true,
    "fragile_specialist":   true,
    "live_tracking":        true
  },

  "survey": {
    "type":         "video",
    "types_allowed": ["video", "in_person"],
    "completed":     true,
    "completed_at_iso": "2026-05-12T15:00:00+05:30"
  },

  "insurance": {
    "type":               "all_risk",
    "sum_insured_inr":    600000,
    "itemized_declaration_uploaded": true
  },

  "user_constants": {
    "preferred_partners": ["Agarwal Packers", "LeoPackers", "Pikkol", "Writer Relocations"]
  }
}

Field rules

  • survey.completed: true mandatory before final quote — else ERR_SURVEY_REQUIRED.
  • insurance.sum_insured_inr must be ≥ declared total household value; provider validates.
  • itemized_declaration_uploaded: true required if claim window is to honor item-level damages.
  • home_size STRICT ENUM.

3. PROVIDER TOOLS

move.survey_request

Schedules video or in-person survey.

move.final_quote

Returns binding quote after survey; valid 7 days.

move.book

Locks slot + crew.

move.crew_pre_visit

Day-before site recce by lead packer.

move.day_one_packing_start

Starts on-site packing; crew GPS active.

move.loading_complete_seal

Truck sealed; seal_id captured; user receives photo.

move.in_transit_track

Truck live GPS + speed + estimated arrival.

move.unload_begin

Drop city — verify seal_id intact before opening.

move.unpacking_carpenter_electrician

Final-day services.

move.completion_handover

User signs off; itemized damage register completed.

move.dispute_damage

Claim within 7 days; insurance handles.

move.cancel

Pre-pack day cancel — penalty per partner.


4. RESPONSE SHAPE

{
  "intent": "logistics.book_full_house_move",
  "request_id": "req_hh_9p3q_2026-05-14T13:00:00Z",
  "options": [
    {
      "tier": "OK",
      "provider": "LeoPackers",
      "crew_size": 6,
      "vehicle":   "20ft_truck",
      "carpenter_included": true,
      "electrician_included": false,
      "fragile_specialist_included": false,
      "packing_material_grade": "standard",
      "price_inr": 38000,
      "pickup_iso": "2026-06-01T08:00:00+05:30",
      "delivery_eta_iso": "2026-06-03T14:00:00+05:30",
      "insurance_included_inr": 200000,
      "ttbs_score": 0.65,
      "tier_reason": "cheapest — basic packing, lower cover"
    },
    {
      "tier": "GOOD",
      "provider": "Pikkol",
      "crew_size": 8,
      "vehicle":   "22ft_truck",
      "carpenter_included": true,
      "electrician_included": true,
      "fragile_specialist_included": true,
      "packing_material_grade": "premium_bubble_wrap",
      "price_inr": 56000,
      "pickup_iso": "2026-06-01T08:00:00+05:30",
      "delivery_eta_iso": "2026-06-03T10:00:00+05:30",
      "insurance_included_inr": 600000,
      "insurance_cover_meets_sum_insured": true,
      "background_check_band": "verified",
      "ttbs_score": 0.85,
      "tier_reason": "balanced — fragile specialist + electrician + full sum insured"
    },
    {
      "tier": "GREAT",
      "provider": "Agarwal Packers",
      "crew_size": 10,
      "vehicle":   "24ft_truck_dedicated",
      "carpenter_included": true,
      "electrician_included": true,
      "fragile_specialist_included": true,
      "packing_material_grade": "premium_with_double_corrugation",
      "white_glove_unpacking": true,
      "price_inr": 89000,
      "pickup_iso": "2026-06-01T08:00:00+05:30",
      "delivery_eta_iso": "2026-06-02T18:00:00+05:30",
      "insurance_included_inr": 600000,
      "insurance_cover_meets_sum_insured": true,
      "background_check_band": "verified_plus_aadhaar",
      "dedicated_supervisor_assigned": true,
      "ttbs_score": 0.93,
      "tier_reason": "next-day delivery + dedicated supervisor + white-glove"
    }
  ],
  "eway_bill_check": {
    "required": true,
    "reason": "household goods intercity > ₹50,000 value",
    "partner_will_generate": true
  },
  "survey_disclosure": {
    "completed": true,
    "binding_quote_validity_days": 7
  }
}

5. CONTROLLED VOCABULARIES

scope.type

intracity · intercity

home_size

1rk · 1bhk · 2bhk · 3bhk · 4bhk_plus · villa · office_small · office_large

vehicle

14ft_truck · 17ft_truck · 20ft_truck · 22ft_truck · 24ft_truck_dedicated · container_truck

packing_material_grade

standard · premium_bubble_wrap · premium_with_double_corrugation

insurance.type

all_risk · transit_only · none

survey.type

video · in_person

All STRICT ENUM.


6. TTBS DIMENSIONS

TIME (weight 0.20)

  • Pickup-to-delivery business days
  • Crew arrival punctuality SLA
  • TIME = 1 − total_days / 5

TASTE (weight 0.10)

  • Brand familiarity / customer rating
  • Supervisor communication band
  • TASTE = brand_band × supervisor_band

BUDGET (weight 0.30)

  • price_inr vs best
  • Hidden surcharge transparency (toll, fuel, narrow-lane)
  • Insurance top-up cost
  • BUDGET = 1 − (price − best) / best

SAFETY (weight 0.40 — dominant)

  • insurance_cover_meets_sum_insured boolean
  • Background check band of every crew member
  • Fragile specialist presence
  • Truck sealing protocol (seal_id captured + verified at drop)
  • Live GPS tracking active
  • Carpenter + electrician for reassembly/refitting
  • Survey completed (binding accuracy)
  • SAFETY = insurance_fit × bg_band × fragile_specialist × seal_protocol × tracking × carpenter × electrician × survey_done

HARD FILTERS

  1. Survey completed (survey.completed: true).
  2. Insurance ≥ sum_insured; itemized declaration uploaded.
  3. Crew bg band ≥ verified.
  4. Truck sealing protocol present (any intercity).
  5. Carpenter + electrician included when their flags are set.

7. COMPLETION CONTRACT

Success criteria

  1. Survey done → binding quote.
  2. Pre-visit by lead packer.
  3. Packing day: carton labels per room, fragile-specialist for glassware.
  4. Loading: photos before sealing; seal_id shared.
  5. Transit: live GPS, deviation alerts.
  6. Drop city: seal verified before opening.
  7. Unloading, unpacking, carpenter reassembly, electrician fit.
  8. Itemized damage register signed by user; claim within 7 days if any.
  9. CPC webhook fires on completion handover.

CPC webhook

{
  "event": "logistics.book_full_house_move.completed",
  "intent_id": "logistics.book_full_house_move",
  "request_id": "req_hh_9p3q_2026-05-14T13:00:00Z",
  "order_id": "FH98K2R",
  "provider": "Pikkol",
  "crew_size": 8,
  "vehicle": "22ft_truck",
  "price_inr": 56000,
  "tomo_commission_base_inr": 8400,
  "tomo_commission_inr": 840,
  "pass_through_inr": 47600,
  "seal_id_at_load": "SEAL-2K9PQ7",
  "seal_intact_at_unload": true,
  "completed_at_iso": "2026-06-03T12:42:00+05:30",
  "signature_hmac_sha256": "…"
}

Failure cases

  • seal_broken_in_transit → mandatory partner investigation + insurance pre-claim.
  • damaged_appliance → claim within 7 days; insurer pays per all-risk policy.
  • crew_late_pack_day → partner-side SLA penalty.
  • vehicle_breakdown_in_transit → alt vehicle; user notified.

8. WIDGET

{
  "widget": "FullHouseMoveWidget",
  "header": {
    "scope_strip": "2BHK · Hyderabad → Bengaluru · ~570 km",
    "survey_strip": "Survey complete · quote binding 7 days",
    "eway_bill_strip": "GST E-way bill auto-generated by partner",
    "insurance_strip": "All-risk · Sum Insured ₹6,00,000 · itemized declaration uploaded"
  },
  "regions": {
    "region_1_intelligence": ["35 fragile items flagged", "fragile specialist on", "electrician for AC + WM"],
    "region_2_summary": "Pack June 1, deliver June 2–3 depending on tier",
    "region_3_visual": null,
    "region_4_now_pin": "Lock tier — slot opens at 08:00 on June 1",
    "region_5_tomo_choices": [
      {"tier": "OK", "label": "LeoPackers · ₹38,000 · ₹2L cover · standard packing", "reason": "cheapest"},
      {"tier": "GOOD", "label": "Pikkol · ₹56,000 · ₹6L cover + electrician + fragile specialist", "reason": "balanced"},
      {"tier": "GREAT", "label": "Agarwal · ₹89,000 · next-day + dedicated supervisor + white-glove", "reason": "highest safety"}
    ]
  },
  "footer_disclosures": [
    "Damage claims must be filed within 7 days — keep your itemized declaration handy.",
    "Truck is sealed at loading and seal is verified at drop — never accept an opened truck without partner supervisor present.",
    "If anything you're moving is worth more than your insurance cover, top up before pack day."
  ]
}

9. CACHING POLICY

  • Binding quote: 7 days TTL per regulation/partner.
  • Survey artifact (video/photos): pointer at TOMO; full at partner.
  • Crew bg band: provider-fresh per quote.
  • Past moves: 5 years on-device (audit value), encrypted.
  • Itemized declaration: encrypted at partner; pointer on TOMO; deleted 90 days post-claim window.

10. ERROR CODES

Code Meaning UI surface
ERR_SURVEY_REQUIRED Survey not done Schedule survey CTA
ERR_QUOTE_EXPIRED 7-day window over Re-survey or re-quote
ERR_INSURANCE_GAP cover < sum_insured Top-up
ERR_ITEMIZED_DECL_MISSING required upload missing Inline capture
ERR_BG_BAND_TOO_LOW crew bg insufficient Upgrade tier
ERR_SEAL_BROKEN_TRANSIT seal compromised Auto-investigation + insurance pre-claim
ERR_VEHICLE_BREAKDOWN partner vehicle down Alt vehicle assigned
ERR_PICKUP_NO_SHOW_USER user not present pack day Re-schedule or cancel fee
ERR_CARPENTER_NOT_ASSIGNED flag set but not provided Partner remediation
ERR_CLAIM_WINDOW_CLOSED beyond 7 days Apology + escalation

11. SANDBOX → PRODUCTION CHECKLIST

  • Sandbox survey-required gate.
  • Sandbox binding quote 7-day expiry.
  • Sandbox seal_id capture + verification at unload.
  • Sandbox insurance gap flow with top-up.
  • Sandbox damage-claim window 7-day boundary.
  • Sandbox itemized declaration upload required.
  • Production crew bg band sourced from partner — no inference.
  • Production insurance contract attested by legal.
  • Production rate limit: 2 full-house moves/user/year (anti-abuse).
  • Production partner SLA penalty enforcement automated.
  • Production CPC HMAC-SHA256 5-min replay verified.

12. ANTI-FABRICATION RULES

  • NO paid_placement on partners — TTBS only.
  • NO synthetic crew or supervisor photos.
  • NO "fully insured" without exact insurance_cover_inr.
  • NO concealing fuel/toll/narrow-lane surcharges.
  • NO bundling "free packing material" if standard grade is default.
  • NO claiming next-day delivery without partner SLA.
  • NO TOMO-issued seal_id — partner's seal only.
  • NO holding move data — partner is custodian.
  • NO synthetic damage-claim settlement rate — partner-published only.
  • NO marketing language ("smart packers").

13. REGULATORY FRAMING

  • Carriage by Road Act 2007 + Rules 2011.
  • Motor Vehicles Act 1988 + state RTO permits.
  • GST E-way Bill Rules — value ≥ ₹50k intercity triggers; partner generates.
  • IRDAI — household goods all-risk insurance product.
  • Consumer Protection Act 2019 — partner is service provider.
  • DPDPA 2023 — addresses, inventory, itemized declaration = personal data; partner is processor.
  • Building / lift bye-laws — vary by city.
  • TOMO is router only — does NOT operate trucks/crew, does NOT issue insurance.