Commands, policy enforcement, preference profiles, conversation patterns, and response formats for flight, hotel, car, and full-trip booking flows.
1. Install: clawhub install zim 2. Configure: export ZIM_API_KEY=your_key 3. Book: "Find me a flight to Dubai"
Zim gives your AI agent one travel layer for flights, hotels, cars, policy rules, preferences, trip assembly, monitoring, and post-booking changes.
Use direct commands when you want deterministic control, or expose them behind natural language in your agent layer.
zim flights <origin> <destination> <departure> [return] [options] Options: --class economy|business|first --airline <preferred airline> --direct Direct flights only --max-price <usd> Budget cap --flexible ±3 day date flexibility --mode business|personal
zim hotels <location> <checkin> <checkout> [options] Options: --stars <min> Minimum star rating --max-price <usd> Per night cap --near <address> Location preference --style luxury|boutique|budget|business --mode business|personal
zim cars <location> <pickup> <return> [options] Options: --type economy|compact|suv|luxury|van --provider <preferred>
zim trip <destination> <start> <end> [options] Assembles flight + hotel + car as a complete package. Options: --mode business|personal --budget <total usd>
zim preferences set --seat window --legroom extra --airline "Emirates,Singapore Airlines" zim preferences set --hotel-style boutique --hotel-stars 5 --no-redeye zim preferences show
zim policy set --max-hotel 300 --max-flight 2000 --class-domestic economy --class-intl business zim policy set --approval-threshold 5000 --approved-airlines "Emirates,BA,Qatar" zim policy show
business favors refundability, direct routes, calendar fit, and policy compliance. personal relaxes those rules and leans toward price and distinctive stays.
--max-price and policy ceilings filter results out. Airline, seat, style, and vendor preferences affect ranking unless configured as hard requirements.
zim trip aligns travel dates, hotel windows, airport/car timing, and can inherit company policy plus traveler preferences automatically.
{
"type": "flight_search",
"query": {
"origin": "LHR",
"destination": "DXB",
"departure": "2026-04-17",
"class": "business",
"mode": "business"
},
"results": [
{
"id": "flt_ek4_2026-04-17",
"airline": "Emirates",
"flight_number": "EK4",
"direct": true,
"duration_minutes": 405,
"depart_at": "2026-04-17T14:10:00Z",
"arrive_at": "2026-04-17T20:55:00Z",
"cabin": "business",
"price_usd": 2340,
"refundable": true,
"policy_status": "approved"
}
]
}{
"type": "hotel_search",
"query": {
"location": "Dubai",
"checkin": "2026-04-17",
"checkout": "2026-04-20",
"near": "DIFC",
"style": "luxury"
},
"results": [
{
"id": "htl_fs_difc",
"name": "Four Seasons Hotel DIFC",
"stars": 5,
"distance_km": 0.8,
"nightly_rate_usd": 540,
"currency": "USD",
"refundable": true,
"policy_status": "out_of_policy",
"reasons": ["hotel rate exceeds policy max of 300"]
}
]
}{
"type": "car_search",
"query": {
"location": "DXB",
"pickup": "2026-04-17T21:30:00Z",
"return": "2026-04-20T18:00:00Z",
"type": "suv"
},
"results": [
{
"id": "car_sixt_suv_01",
"provider": "Sixt",
"vehicle_class": "premium_suv",
"price_usd_total": 564,
"pickup_location": "Dubai International Airport",
"free_cancellation": true,
"policy_status": "approved"
}
]
}{
"type": "trip_package",
"destination": "Dubai",
"mode": "business",
"dates": {
"start": "2026-04-17",
"end": "2026-04-20"
},
"traveler_profile": {
"seat": "window",
"legroom": "extra",
"no_redeye": true,
"preferred_airlines": ["Emirates", "Singapore Airlines"]
},
"policy": {
"max_flight": 2000,
"max_hotel": 300,
"approval_threshold": 5000
},
"itinerary": {
"flight": "flt_ek4_2026-04-17",
"hotel": "htl_fs_difc",
"car": "car_sixt_suv_01"
},
"status": "approval_required",
"approval_reason": "total trip price exceeds threshold"
}zim policy set \ --max-hotel 300 \ --max-flight 2000 \ --class-domestic economy \ --class-intl business zim policy set \ --approval-threshold 5000 \ --approved-airlines "Emirates,BA,Qatar"
| Rule type | Example | Behavior |
|---|---|---|
| Hotel cap | $300/night | Hotels above the limit are hidden or flagged, depending on strictness. |
| Flight cap | $2,000 | Flights above limit can be suppressed or routed for approval. |
| Approval threshold | $5,000 trip total | Trip status becomes approval_required before booking. |
| Preferred vendors | Emirates, BA, Qatar | Preferred vendors rank first; unapproved vendors can be excluded. |
| Class restriction | Business on long-haul intl only | Cabin eligibility changes based on route length and geography. |
| Location radius | Within 2km of meeting | Hotel results are filtered by geographic proximity. |
zim preferences set \ --seat window \ --legroom extra \ --airline "Emirates,Singapore Airlines" zim preferences set \ --hotel-style boutique \ --hotel-stars 5 \ --no-redeye zim preferences show
If the user omits class, cabin, or hotel style, ask a minimal follow-up. Otherwise infer from preference profile and mode.
Explain why top options ranked highly: direct route, policy-compliant, preferred airline, near venue, refundable, or under budget.
Return structured statuses like approved, out_of_policy, approval_required, or monitoring so downstream agents stay deterministic.