Typical Journeys
Tools have data dependencies — outputs of one call feed the next. Follow these chains.
Book a ride
Order food
food_merchant_search / food_dish_search
→ food_get_restaurant_menu (restaurant_id)
→ food_get_item_options / food_get_items_options ← REQUIRED before adding customizable items
→ cart_add_item / cart_add_items (with catalog_option_ids)
→ cart_get_basket_price ← get total_price (best promo auto-applied)
→ cart_checkout (basket_id, total_price) ← ⚠️ confirm with user first
→ get_activities / track_activity ← track the order
Order groceries
search_groceries_items | search_groceries_get_top_user_items
→ create_grocery_cart_with_quantities (shopping list in one call)
→ cart_get_basket_price
→ cart_grocery_checkout ← ⚠️ confirm with user first
Reorder
get_activities(past)
→ cart_reorder(order_id)
→ cart_get_basket_price → cart_checkout
Cancel a ride
get_activities(ongoing, ride) → get_ride_cancellation_reasons(rideId)
→ get_ride_cancellation_attributes(rideId, reasonId) ← returns pricingId + any fee
→ cancel_ride(rideId, pricingId) ← ⚠️ may incur a fee; confirm