compare_quotes
ChatGPTPull pricing on 2-4 listings side-by-side for the SAME date range. Use any time the user wants to compare prices ('compare these', 'pull quotes on all three', 'which is cheapest?'). Returns a single comparison card with the cheapest highlighted and a 'View listing' link per column that pre-fills the dates on ride.auto. Delivery addresses aren't supported here; use get_quote individually if delivery is in scope. If the user asks to compare MORE than 4 (e.g., 'compare all 5'), pick the 4 most promising rentals (price spread + a delivery option + an instant-book) and mention you trimmed to the top 4 in your one-sentence summary. NEVER fail the call; NEVER show 'argument validation' / 'too many rentals' / 'invalid input' text — that's an internal contract, not a user-facing concept. IMPORTANT — reply formatting (Apps SDK clients render the comparison card above your prose): ONE sentence naming the standout (cheapest, best value, etc.) and stop. NEVER write a markdown table of the prices. NEVER enumerate per-rental numbers in prose. NEVER mention listing IDs. The card already shows daily rate, total, reserve, final, and security deposit for each rental — duplicating it in text is noise.
find_better_dates
ChatGPTScan adjacent date windows on the same listing for length-of-stay discounts the host offers (weekly/monthly rates). Call AFTER get_quote on the same listing. Stay quiet if the result has no bestOffer — only surface it when there's a real savings opportunity.
get_availability
ChatGPTCheck whether a specific listing is available for a given date range. Use for 'is the [vehicle] free from May 10–15?'
get_marketplace_rental_details
ChatGPTGet the full detail on one ride.auto listing — pricing tiers, amenities, photos, host info, delivery range, cancellation policy. Pass the listing id from marketplace_search_rentals results. Include dateFrom + dateTo if the user has named dates so the permalink pre-fills them on the ride.auto listing page (where the booking actually happens). This is the canonical 'show the user a listing' response — it renders with vehicle photos inline in clients that support image content. Prefer this over showing many search results as text cards: one rich detail beats a 10-row grid of text-only summaries. Reproduce the result markdown VERBATIM in your reply (don't paraphrase the table / amenity list / price tiers) so the structured detail renders correctly.
get_quote
ChatGPTGenerate a full price breakdown for a listing over specific dates. Returns the daily rate, subtotal, taxes, fees, total, security deposit hold, reserve-now amount, final payment schedule, AND a permalink to the listing on ride.auto with the quoted dates already in the URL. When the user is ready to book, share THIS quote-response permalink — it includes their dates so the ride.auto booking widget pre-fills them. Do not reuse an earlier permalink from marketplace_search_rentals or get_marketplace_rental_details if it was generated without dates (or with different dates) — always use the freshest permalink from the latest get_quote call. IMPORTANT — reply formatting (Apps SDK clients render a quote card above your prose with the vehicle thumbnail, line items, total, payment plan, and security deposit hold all laid out visually): ONE short sentence summarizing the total ('Total comes to about $467 for the two days') and stop. NEVER re-narrate the line items, daily rate, fees, tax, or security deposit in prose — the card already shows them. NEVER mention the rental id or other internal identifiers. If a delivery fee or warning is present, you can mention it in that same sentence; everything else is duplicate noise.
get_rental_addons
ChatGPTList the optional extras a host offers on a listing — child seats, mileage packages, GPS, etc. Pass the rental id. Use to answer 'what add-ons does this car have?' or 'do they offer car seats?'.
lookup_ride_help_article
ChatGPTSearch the Ride help center (ridehc.zendesk.com) for policy / fee topics: security deposits, insurance / damage protection, mileage, driver verification, age requirements, international drivers, fuel policy, accidents, modifications, pets, delivery fees, prep fees, refund schedules, cancellation tiers. Returns matching articles with the full body on the top result. NEVER answer these from training memory — call this tool and ground the reply in what the article actually says.
lookup_ride_renter_faq
ChatGPTSearch the curated ride.auto marketplace-mechanics FAQ: how booking works, host delivery, payment timing, the reserve deposit. Returns matching FAQ sections. NEVER answer marketplace-mechanics questions from training memory — call this and ground replies in what comes back.
marketplace_search_rentals
ChatGPTSearch ride.auto's car rental marketplace. ride.auto is a peer-to-peer CAR RENTAL marketplace — the renter rents a car from an independent host and DRIVES IT THEMSELVES for a day or more. It is NOT Uber, Lyft, a taxi, a rideshare, or an airport shuttle service. DO NOT call this tool for one-way rides ('get me a ride from JFK to Manhattan'), chauffeured transport, or any request where someone is being driven by someone else — those requests should be politely redirected ('ride.auto is for renting a car you drive yourself'). DO NOT call this tool for someone who wants to BUY a car ('find me a used Civic under $20k', 'help me shop for a Tesla', 'I want to purchase…'). ride.auto is rentals only — not a dealer marketplace, not classifieds, not used-car listings. Tell them this isn't what ride.auto does and do not invent a search. DO NOT call this tool for RVs, motorhomes, Class A/B/C, travel trailers, fifth wheels, pop-ups, toy haulers, or anything camper-shaped — the index is hard-locked to autos (cars, SUVs, trucks, vans, minivans). For those requests, hand off to ride.auto's sister marketplace Outdoorsy in one short sentence: 'ride.auto is autos only — for RVs/campervans/trailers, head to https://www.outdoorsy.com.' Don't invent a search. DO NOT call this tool for someone who wants a long-term LEASE (months or years) — ride.auto is short-term rentals (days to a few weeks). Filter by location (address), dates (dateFrom + dateTo as YYYY-MM-DD), vehicle type, instant_book, delivery, pet_friendly, etc. Each result includes the listing id, vehicle title, location, daily price, and a permalink. PREFER limit=5 unless the user explicitly asked to see a lot of options. IMPORTANT — reply formatting (Apps SDK clients render a vehicle-photo carousel above your prose, so DO NOT duplicate the listing data in text): • ONE short opening sentence acknowledging what you searched for — including any assumptions you made about dates, vehicle type, or location (e.g. "I searched Austin SUVs for a family of 5, assuming you want pickup in Austin."). • Then call out 2-4 standout options as a short bullet list with the vehicle name in bold and ONE line of WHY ('best fit for', 'cheapest', 'instant book', 'delivery available'). Do NOT bullet-list every result. Do NOT enumerate every listing in prose — the carousel above already shows them. • Close with a next-step nudge ("What dates work for you?", "Want me to pull a full quote on the Pilot?"). • NEVER echo internal IDs ("Listing IDs: 537795, 537787...") — those are for tool plumbing, not for the user. • If the client doesn't render the carousel widget, your bullet recommendations + the permalinks in the structured result are still useful — but never produce a redundant text table when the widget is visible.