approve_booking
ChatGPTApprove a booking from the dealer side. For a booking the dealer created for a customer, approving sends the customer their quote with a link to review and pay (include reason to add a personal message). When the customer has already approved, both sides approved confirms the booking. Does not charge a card — the customer pays via their link.
cancel_booking
ChatGPTCancel a confirmed booking. Only valid once confirmed — use decline_booking for a booking that isn't confirmed yet. Cancellation may trigger a refund per the listing's cancellation policy, so confirm with the operator before calling.
create_booking
ChatGPTCreate a booking on a listing for a date range. UNPAID (negotiating) — this does NOT charge anyone; use create_checkout_link to collect payment. Identify the renter EITHER by customer_id (existing) OR a customer block (new — created and attached to the rental's location automatically). To send a quote, create the booking then approve it.
create_checkout_link
ChatGPTCreate a shareable checkout link for a booking so the customer can pay without a password. Send them the link — a human completes payment; the agent never charges a card. Only works for dealer-managed customers.
create_customer
ChatGPTCreate a customer (renter) in the dealer account, or return the existing one if the email already matches. Use before create_booking when the renter has no customer id yet.
decline_booking
ChatGPTDecline a pre-confirmation booking request. Only valid before the booking is confirmed — use cancel_booking for a confirmed booking. Include reason to tell the customer why.
get_availability
ChatGPTGet a listing's unavailable date ranges (bookings + owner blocks, merged) within a window. Dates not listed are bookable. Defaults to the next 12 months.
get_booking
ChatGPTGet the full booking detail by id: receipt (line items, taxes, totals), payment plan, renter and listing references.
get_listing
ChatGPTGet source-of-truth detail for a single listing by id: description, pricing, vehicle specs, images, and owner. Use this before quoting or booking (search results can lag).
get_quote
ChatGPTPrice a stay: full non-binding receipt (line items, taxes, totals, payment plan) for a listing + date range, optionally with add-ons. Does not create a booking.
list_addons
ChatGPTList the optional add-ons bookable on a listing (with per-unit or daily price). Pass selected add-on ids to get_quote to see their cost applied.
list_bookings
ChatGPTList the credential's bookings (as renter or as owner), newest-relevant first. Thin rows — use get_booking for the full receipt. Filter by status, start-date window, and customer_id. To find a specific customer's bookings, call search_customers first to get their customer_id, then pass it here.
list_insurance_options
ChatGPTList the insurance/protection options (tiers) offered on a listing — each with price per day, deductible, a coverage summary (liability + physical damage), and a full feature list. Dealer credentials automatically get dealer-priced options (not Outdoorsy marketplace pricing). Use this to answer "what insurance/protection can my renter choose" for a listing.
list_locations
ChatGPTList the dealer's pickup/drop-off locations — address, phone, and weekly pickup/drop-off hours per weekday. Use this to answer "what are the pickup hours" for a booking or vehicle: take the location id from a booking (listing.location.id) or from vehicles_report (location.id) and match it here. Hours are per weekday; a day not listed has no configured restriction, closed marks a day off, and null open/close means open with no set window.
list_pricing_rules
ChatGPTList the dealer's price and minimum-stay rules. Filter by listing, kind (price | min_stay), and stay-date window. Use this to see current rules and to find rules to clean up (e.g. a lead-time-decay job removing expired discounts). Only price and min_stay rules are returned; internal smart-pricing rules are omitted. total is the count matching the filters.
search_customers
ChatGPTSearch the dealer's customers by name, email, phone, or id. Use this to look someone up — and to get a customer's id before calling list_bookings with customer_id to see that customer's bookings. Marketplace guests' email/phone are masked in results until a confirmed booking exists (you can still search by them).
search_listings
ChatGPTSearch PUBLISHED marketplace listings by location, dates, guests, and type — for shopping/quoting a trip. Returns a page of listings with nightly price, capacity, and location. Use get_listing for full detail before quoting. NOTE: this only sees published, bookable listings; for the dealer's full fleet — including unpublished/draft vehicles, counts, VIN, and publish status — use vehicles_report instead.
security_deposits_report
ChatGPTList security deposit holds across the dealer's bookings. Use this to answer "which deposits are still on hold?" or "what should I have released by now?" — each row has outstanding (still holding the renter's money), overdue (outstanding AND the trip already ended), days_since_trip_end, and over_max_hold. Pass outstanding=true to fetch only deposits still being held; then surface the ones where overdue is true.
submit_feedback
ChatGPTSend the Wheelbase team a feature request or gap the dealer hit that no other tool can satisfy. Before calling, briefly interview the dealer: (1) what they were trying to accomplish, (2) what capability would help, and optionally how they handle it today and how often it comes up. Use this when the dealer asks for something in-scope for their account that no tool supports — don't guess or fabricate data.
transactions_report
ChatGPTList payments and money movement across all of the dealer's bookings — charges, refunds, payouts, and fees — as an account-wide ledger. This is the tool for questions like "payments in the last week", "recent charges", "refunds this month", or "what was paid out". Filter by date (created_from / created_to), type, status, or payment method (cash/card). Each row has a normalized category (charge/refund/payout/fee; refund and payout reduce net), dealer-facing fees, and deposit tracking; amounts are always positive. summary.total is the net across the whole filtered set, not just this page.
update_booking
ChatGPTModify an existing booking (dates, guests, discount code, insurance, add-ons). Only works while the booking is not yet confirmed; the platform rejects changes to confirmed bookings.
vehicles_report
ChatGPTThe dealer's full fleet inventory — every vehicle, INCLUDING unpublished/draft ones (unlike search_listings, which only sees published marketplace listings). Use this for "how many vehicles do I have", "list my unpublished/draft vehicles", or to look up a vehicle's publish status, VIN, pricing, capacity, or location. Filter by status (published/unpublished), type, location, or a search term; total is the fleet count matching the filters (so it answers "how many …").