Skip to main content
Glama

Server Details

Public chauffeur information, policies and anonymous price previews for Munich and MUC. On explicit customer request, prepare a binding unpaid offer using email OR E.164 phone, without an account. Customers review bound terms and explicitly confirm in Samuelz checkout. The same endpoint provides OAuth-protected booking status, payment review, history, and amendment/cancellation workflows. Booking data and actions require authorized customer access; changes and cancellations require the applicable object-bound consent. Tool discovery is public. Quotes do not guarantee availability, and MCP does not take payment.

Ownership verified
Status
Healthy
Uptime
99.5% over 21 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.5/5.0

Scored across 10 tools

Disambiguation4/5

The three booking-read tools (get_booking_status, get_booking_history, get_booking_payment_review) could superficially overlap, but each description explicitly carves out its scope and cross-references the others. The prepare_* tools are cleanly split by action (change vs cancellation), and quote_ride vs prepare_offer vs get_offer_status are well separated by intent. Only minor boundary judgment is needed between the read tools.

Naming Consistency5/5

Names follow a clear verb_noun pattern: get_* for reads (booking_history, booking_payment_review, booking_status, customer_policy, offer_status, service_options), prepare_* for proposal flows (booking_cancellation, booking_change, offer), and quote_ride. The verb families are used consistently and predictably.

Tool Count5/5

Ten tools is well within the ideal 3-15 range and each earns its place, covering reads, policy/scope discovery, pricing, and the offer/change/cancellation preparation lifecycle. Nothing appears redundant or padded.

Completeness4/5

The surface covers discovery (service options, policy), pricing (quote_ride), offers (prepare/get_offer_status), and booking review/change/cancellation, plus status, history and payment reads. The only apparent gap is a direct commit/confirm tool, but actions are intentionally routed through external consent links, so this is a minor, by-design limitation.

Available Tools

10 tools
get_booking_historyRead this booking and offer timeline
Read-onlyIdempotent
Inspect

Read recorded events for the OAuth-selected booking. Choose this for “what happened to this booking?”, get_booking_status for its current stored state, or get_booking_payment_review for its existing unpaid checkout. get_offer_status instead recovers an original new-offer submission.

Omit bookingKey to read the already-selected booking without asking for its number; an explicit key must still match that selection.

Pagination:

  • Start without after. Copy the entire nextCursor into after with the same bookingKey and limit; timestamp plus ID jointly identify the boundary, including timestamp ties.

  • limit sizes each page, not the complete timeline. Stop at nextCursor=null rather than restarting or inferring a missing booking.

available returns event ID, recorded timestamp and kind (offer, amendment preparation, amendment or cancellation request/outcome), plus observedAt and nextCursor. Newest timestamps come first; ties use ascending IDs. Each page has its own observedAt cutoff, so concurrent records do not form one frozen multi-page snapshot. Empty means no matching visible events.

Correct invalid_request; not_found denies access; unavailable leaves history unverified. Authority is checked before/after. No provider refresh occurs; records alone do not prove payment, refund, dispatch or completion. Reading performs no booking action.

ParametersJSON Schema
NameRequiredDescriptionDefault
afterNoOmit for the newest page. For older events, copy the preceding non-null nextCursor unchanged. Stop when nextCursor is null.
limitNoMaximum entries in this page, 1–50; defaults to 20. The selected booking stays unchanged.
bookingKeyNoOmit to use exactly the booking already selected by this OAuth connection. If supplied, use that same booking's ID or visible reference; another identifier cannot switch selection or grant access.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

get_booking_payment_reviewReview payment for this existing booking
Read-onlyIdempotent
Inspect

Open the existing unpaid checkout for the OAuth-selected guest booking. Choose this for “let me review/pay this existing offer”, get_booking_status for recorded payment flags, or get_offer_status for original-submission recovery. This retrieves a review destination rather than a general status or new-price result; prepare_offer creates a new ride offer.

Omit bookingKey (arguments {}) to review the already-selected booking; no repeated identifier is needed. If supplied, it must be that same booking's ID/reference. The server separately matches its original intake receipt and explicit guest payment-review consent; an identifier supplies neither. Linked-customer and status-only grants cannot use this review. not_found denies access without proving absence.

prepared supplies the existing private checkoutUrl with bound amount, expiry and terms. The customer reviews, explicitly confirms and pays on that page; afterward reread get_booking_status. Paid/refunded/closed bookings return recorded state without a link. For ambiguous/conflict/expired/unavailable follow returned guidance, never create a replacement offer to bypass denial. Authority/revocation are rechecked. No new checkout, charge, message or provider refresh occurs.

ParametersJSON Schema
NameRequiredDescriptionDefault
bookingKeyNoOmit to use exactly the booking already selected by this OAuth connection. If supplied, use that same booking's ID or visible reference; another identifier cannot switch selection or grant access.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

get_booking_statusRead an existing own booking
Read-onlyIdempotent
Inspect

Read the OAuth-selected booking's current stored state: booking/payment status and assignment flags. Choose this for “what is my booking's recorded state?”, get_booking_history for “what happened?”, or get_booking_payment_review for “open this booking's existing unpaid checkout”. get_offer_status instead recovers an original prepare_offer submission using its intake proof.

At the OAuth endpoint, omit bookingKey (arguments {}) to use the already-selected booking. If supplied, use its ID or visible bookingReference, never supplier offerKey or a URL fragment. The private app-session endpoint still requires an explicit bookingKey. For a fictional reference: {"bookingKey":"WEB-EXAMPLE"}. Changing this identifier cannot change OAuth selection; prepared offer results contain links rather than booking IDs.

Authority is checked each call. not_found denies access without proving absence; unavailable leaves state unverified. This read does not refresh providers: stored payment, assignment and completion flags are not fresh proof of payment, dispatch or fulfillment. No booking or payment action occurs.

ParametersJSON Schema
NameRequiredDescriptionDefault
bookingKeyNoOmit to use exactly the booking already selected by this OAuth connection. If supplied, use that same booking's ID or visible reference; another identifier cannot switch selection or grant access.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

get_customer_policyPublished customer terms
Read-onlyIdempotent
Inspect

Read current account/guest eligibility and pickup lead-time rules for a new offer. Call after get_service_options and before quote_ride or prepare_offer. This tool answers purchase eligibility, not price, capacity, or authority to amend/cancel an existing booking.

Selection and timing:

  • Retain the selected offerKey across the workflow; locale changes language without changing location. A different offerKey requires a fresh policy read.

  • Interpret intended pickup in returned timeZone; compare the interval from now with terms.minimumLeadTimeMinutes. A fictional 120-minute minimum excludes pickup 90 minutes away without implying vehicle unavailability.

available returns account requirements, guest-booking rules, lead-time terms, timeZone and observedAt. observedAt dates this policy read, not an expiry or capacity hold. Revalidate before preparation; unavailable leaves eligibility unverified. The customer reviews bound offer terms and confirms in checkout; confirmation requires provider-confirmed full payment. Reading policy creates no booking.

ParametersJSON Schema
NameRequiredDescriptionDefault
localeNoUse the customer's requested language for text and booking links: en by default, de for German. Preserve it on retries; pickup times stay in the provider time zone.en
offerKeyNoOptional existing published provider/supplier offer key. Selects its configured service location; it is not a customer bookingKey or bookingReference and grants no booking access.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

get_offer_statusRead prepared offer status
Read-onlyIdempotent
Inspect

Recover the stored outcome of exactly one prepare_offer submission. Choose this for “did my original offer submission finish?” or recovery after checkout, using its original submissionId/resumeToken. It cannot quote a new ride, create another offer, read policy/capabilities, or resume an amendment. get_booking_status uses separate OAuth selection to read an existing booking.

Both values belong to one original intake; mixing submissions cannot recover an intent. The pair is neither supplier offerKey nor a login grant. Unchanged retries preserve language and extend neither the 24-hour proof lifetime nor the separate offer expiry.

prepared returns private checkout/review links; available returns booking identifiers and recorded outcome. Wait retryAfterSeconds on pending. Inspect ambiguous/conflict before retrying preparation. not_found denies proof access; unavailable leaves recovery unverified and says nothing about vehicle availability. No booking action occurs.

ParametersJSON Schema
NameRequiredDescriptionDefault
resumeTokenYesCaller-generated private 64-character hexadecimal secret for this submission (32 random bytes). Keep its original submissionId pair. The stored resume proof expires 24 hours after first claimed intake; unchanged retries do not renew it. This is separate from offer.expiresAt and is not an account credential.
submissionIdYesCaller-generated UUID for one explicitly requested offer intent. Keep the same submissionId/resumeToken and unchanged facts for retries and status; a new explicit intent needs a new pair. This is not a bookingKey.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

get_service_optionsChauffeur service options
Read-onlyIdempotent
Inspect

Read supported ride services, required facts and the selected service location's timeZone. Call before collecting a new ride; follow with get_customer_policy for eligibility, quote_ride for price, then prepare_offer only for an explicitly requested offer.

Omitting offerKey selects the published default. Otherwise retain the same known published key across policy, pricing and preparation; a key must still match the current publication/catalog. locale selects translated labels and links independently: changing de to en keeps the location, whereas changing offerKey requires rereading timeZone before interpreting a clock time.

available reports capabilities and collection requirements, not vehicle inventory or held capacity. This uncached read consumes no quote admission; reread before quoting. Correct invalid_request facts; unavailable leaves service scope unverified.

ParametersJSON Schema
NameRequiredDescriptionDefault
localeNoUse the customer's requested language for text and booking links: en by default, de for German. Preserve it on retries; pickup times stay in the provider time zone.en
offerKeyNoOptional existing published provider/supplier offer key. Selects its configured service location; it is not a customer bookingKey or bookingReference and grants no booking access.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

prepare_booking_cancellationReview cancellation of this booking
Read-onlyIdempotent
Inspect

Return a private cancellation-review link for the OAuth-selected existing booking. Choose this to cancel that booking, prepare_booking_change for an amendment, or prepare_offer for a new ride; get_booking_status only reads stored state.

bookingKey must identify the selected booking and cannot switch OAuth selection. Generate onceKey once for this booking/cancellation intent, retain it for unchanged retries, and never substitute an amendment's key. The key travels with the booking/action in the URL for later consent; retrieving the link does not persist or execute cancellation.

consent_required returns consentUrl. Open it in the original signed-in session; the customer reviews amount/terms and separately consents/confirms there. Then read get_booking_status and get_booking_history; recorded events are not fresh refund proof. Correct invalid_request; not_found denies access; unavailable leaves review unverified. Authority is checked before/after. No cancellation, refund, payment or message occurs in this call.

ParametersJSON Schema
NameRequiredDescriptionDefault
onceKeyYesCaller-chosen retry key: 16–128 characters from A–Z, a–z, 0–9, underscore or hyphen. Reuse it for the same booking, action and unchanged request facts; use a fresh key for changed facts. The caller creates it; this handoff assigns it no independent expiry or execution authority. Later review still requires a current original session, object, offer and separate action consent.
bookingKeyYesInternal booking ID or visible bookingReference of the one booking already selected by this OAuth connection. Copy the same booking's bookingKey or bookingReference from an available get_offer_status/prepare_offer or authorized booking-read result; prepared returns links, not IDs. Never substitute the supplier offerKey. It grants no access to another booking.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

prepare_booking_changeReview a booking change
Read-onlyIdempotent
Inspect

Return a private amendment-review link for the OAuth-selected existing booking. Choose this to change that ride, prepare_booking_cancellation to cancel it, or prepare_offer to create a new ride. quote_ride prices a new request without amending a booking.

amendment is a complete proposal, not a patch: changing pickup time still requires the unchanged pickup, destination, date, passengers and trip type. Use the selected service location's timeZone. bookingKey cannot switch OAuth selection. Reuse onceKey only for the same booking/action/exact proposal; changed facts need a fresh key and customer review. The key and full proposal travel in the URL for later consent, not an executed amendment.

consent_required returns consentUrl. Open it in the original signed-in session; the customer reviews current offer/terms/proposal and separately consents/confirms there. Read the later outcome with get_booking_status and get_booking_history, not get_offer_status. Correct invalid_request; not_found denies access; unavailable leaves review unverified. Authority is checked before/after. Link retrieval neither stores the proposal nor grants execution authority, and performs no amendment, refund, payment or message.

ParametersJSON Schema
NameRequiredDescriptionDefault
onceKeyYesCaller-chosen retry key: 16–128 characters from A–Z, a–z, 0–9, underscore or hyphen. Reuse it for the same booking, action and unchanged request facts; use a fresh key for changed facts. The caller creates it; this handoff assigns it no independent expiry or execution authority. Later review still requires a current original session, object, offer and separate action consent.
amendmentYesFull proposed ride request in the existing quote-input shape, including all required ride fields. Review these exact facts in the linked original signed-in session before separate action consent and confirmation.
bookingKeyYesInternal booking ID or visible bookingReference of the one booking already selected by this OAuth connection. Copy the same booking's bookingKey or bookingReference from an available get_offer_status/prepare_offer or authorized booking-read result; prepared returns links, not IDs. Never substitute the supplier offerKey. It grants no access to another booking.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

prepare_offerPrepare an unpaid chauffeur offer
Idempotent
Inspect

Create one unpaid reservation and binding offer for an explicitly requested new ride. Price-only questions use quote_ride; amendments use prepare_booking_change. Preparation needs no account; private booking access requires separate authorization.

Keep one intent:

  • Generate submissionId/resumeToken once and retain the pair with the original ride, contact, locale, offerKey and supplied partner capability.

  • A different recipient or language conflicts with the intent; it does not update the offer. Contact identifies a reachable recipient, not a private booking grant.

Complete or recover:

  • prepared: open the private checkoutUrl. The customer reviews amount, expiry and full terms, then explicitly confirms and pays there; this call neither charges nor confirms.

  • pending/rate_limited: wait retryAfterSeconds, then recover with get_offer_status and the original pair.

  • ambiguous/conflict: inspect the original submission; never replace its pair to bypass it.

  • available: use returned booking IDs/reference only within the separately authorized booking lifecycle.

get_offer_status reads this submission's subsequent recorded outcome. The resume proof lasts 24 hours from first claimed intake; retries extend neither it nor offer.expiresAt. Keep links and proof private.

ParametersJSON Schema
NameRequiredDescriptionDefault
rideYesRide facts with distinct pickup/destination and valid local dates/times. Return requires returnDate/returnTime after pickup; one_way omits both. Hourly requires one_way and hours; transfers omit hours.
localeNoUse the customer's requested language for text and booking links: en by default, de for German. Preserve it on retries; pickup times stay in the provider time zone.en
contactYesCustomer/booker contact for this explicitly requested offer: email OR E.164 phone is required. Contact does not authorize private booking/history access.
offerKeyNoOptional existing published provider/supplier offer key. Selects its configured service location; it is not a customer bookingKey or bookingReference and grants no booking access.
resumeTokenYesCaller-generated private 64-character hexadecimal secret for this submission (32 random bytes). Keep its original submissionId pair. The stored resume proof expires 24 hours after first claimed intake; unchanged retries do not renew it. This is separate from offer.expiresAt and is not an account credential.
submissionIdYesCaller-generated UUID for one explicitly requested offer intent. Keep the same submissionId/resumeToken and unchanged facts for retries and status; a new explicit intent needs a new pair. This is not a bookingKey.
offerRequestedYesMust be true only after the customer explicitly requests an offer; a price question alone is insufficient consent.
specialRequestsNoOptional ride requirements, at most 500 characters. Additional stops or unusual requirements may require review; do not include contact details in a quote.
firstTouchTrackingTokenNoOptional existing server-issued first-touch UUID token for this tenant and consented attribution. Omit if none; never invent a token or source.
distributionPartnerCapabilityNoOptional existing opaque dp_live_ capability issued to an approved distribution partner. Omit for normal customers; do not create or guess one.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

quote_rideChauffeur price preview
Read-only
Inspect

Preview price for complete ride facts without contact details. Choose this for “what would this new ride cost?”, prepare_offer for “create the requested new offer”, and prepare_booking_change for review of an existing booking's amendment. get_offer_status only recovers an already submitted intent and cannot calculate a new price.

Use the same offerKey and its get_service_options timeZone. Return service needs a later return pickup; hourly service needs one_way plus duration. Vehicle preference and specialRequests share a 500-character combined note limit including label/separator: separately valid values can exceed it together. Preserve volunteered requirements; ask rather than truncate.

quoted returns price, tax and inclusions by leg without reserving capacity. Route/pricing reads consume quote admission; prices may change. Revalidate before preparation. Wait retryAfterSeconds on rate_limited; follow review_required guidance. No offer, reservation, charge or message is created.

ParametersJSON Schema
NameRequiredDescriptionDefault
rideYesRide facts with distinct pickup/destination and valid local dates/times. Return requires returnDate/returnTime after pickup; one_way omits both. Hourly requires one_way and hours; transfers omit hours.
localeNoUse the customer's requested language for text and booking links: en by default, de for German. Preserve it on retries; pickup times stay in the provider time zone.en
offerKeyNoOptional existing published provider/supplier offer key. Selects its configured service location; it is not a customer bookingKey or bookingReference and grants no booking access.
specialRequestsNoOptional ride requirements, at most 500 characters. Additional stops or unusual requirements may require review; do not include contact details in a quote.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • Changedget_booking_history2 fields changed
      • changedInput schema / properties / bookingKey / description
        Previous value: -"Internal booking ID for the one selected booking. At the customer OAuth endpoint, its visible bookingReference is accepted too. Copy the same booking's bookingKey or bookingReference from an available get_offer_status/prepare_offer or authorized booking-read result. prepared returns links, not these IDs. The supplier offerKey is not a booking identifier; the identifier grants no access by itself."New value: +"Omit to use exactly the booking already selected by this OAuth connection. If supplied, use that same booking's ID or visible reference; another identifier cannot switch selection or grant access."
      • removedInput schema / required
        Removed value: -[
        -  "bookingKey"
        -]
    • Changedget_booking_payment_review2 fields changed
      • changedInput schema / properties / bookingKey / description
        Previous value: -"Internal booking ID for the one selected booking. At the customer OAuth endpoint, its visible bookingReference is accepted too. Copy the same booking's bookingKey or bookingReference from an available get_offer_status/prepare_offer or authorized booking-read result. prepared returns links, not these IDs. The supplier offerKey is not a booking identifier; the identifier grants no access by itself."New value: +"Omit to use exactly the booking already selected by this OAuth connection. If supplied, use that same booking's ID or visible reference; another identifier cannot switch selection or grant access."
      • removedInput schema / required
        Removed value: -[
        -  "bookingKey"
        -]
    • Changedget_booking_status2 fields changed
      • changedInput schema / properties / bookingKey / description
        Previous value: -"Internal booking ID for the one selected booking. At the customer OAuth endpoint, its visible bookingReference is accepted too. Copy the same booking's bookingKey or bookingReference from an available get_offer_status/prepare_offer or authorized booking-read result. prepared returns links, not these IDs. The supplier offerKey is not a booking identifier; the identifier grants no access by itself."New value: +"Omit to use exactly the booking already selected by this OAuth connection. If supplied, use that same booking's ID or visible reference; another identifier cannot switch selection or grant access."
      • removedInput schema / required
        Removed value: -[
        -  "bookingKey"
        -]
  2. 3 tool updates
    • Changedprepare_booking_change1 field changed
      • changedInput schema / properties / amendment / properties / ride / properties / time / description
        Previous value: -"Local pickup time in 24-hour HH:mm format, in the provider timeZone (Samuelz: Europe/Berlin); not UTC or an offset timestamp."New value: +"Local pickup time in 24-hour HH:mm format, in the configured timeZone returned by get_service_options for the same offerKey; not UTC or an offset timestamp."
    • Changedprepare_offer1 field changed
      • changedInput schema / properties / ride / properties / time / description
        Previous value: -"Local pickup time in 24-hour HH:mm format, in the provider timeZone (Samuelz: Europe/Berlin); not UTC or an offset timestamp."New value: +"Local pickup time in 24-hour HH:mm format, in the configured timeZone returned by get_service_options for the same offerKey; not UTC or an offset timestamp."
    • Changedquote_ride1 field changed
      • changedInput schema / properties / ride / properties / time / description
        Previous value: -"Local pickup time in 24-hour HH:mm format, in the provider timeZone (Samuelz: Europe/Berlin); not UTC or an offset timestamp."New value: +"Local pickup time in 24-hour HH:mm format, in the configured timeZone returned by get_service_options for the same offerKey; not UTC or an offset timestamp."
  3. 1 tool update
    • Changedget_customer_policy1 field changed
      • changedOutput schema / oneOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "status": {
        -        "const": "invalid_request",
        -        "description": "Input does not match this operation's contract; correct the facts before retrying.",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "bookingUrl": {
        -        "description": "Published customer booking page for this provider and locale; the URL does not grant private booking access or confirm availability.",
        -        "format": "uri",
        -        "type": "string"
        -      },
        -      "status": {
        -        "const": "unavailable",
        -        "description": "The requested information could not be supplied safely; this is not vehicle-unavailability evidence.",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "bookingConfirmed": {
        -        "const": false,
        -        "description": "Reading policy does not create or confirm a booking.",
        -        "type": "boolean"
        -      },
        -      "bookingUrl": {
        -        "description": "Published customer booking page for this provider and locale; the URL does not grant private booking access or confirm availability.",
        -        "format": "uri",
        -        "type": "string"
        -      },
        -      "observedAt": {
        -        "description": "Observation timestamp of the minimum-lead-time policy read; no validity window is promised.",
        -        "type": "string"
        -      },
        -      "revalidationRequired": {
        -        "const": true,
        -        "description": "Re-read and revalidate current policy before offer preparation/confirmation.",
        -        "type": "boolean"
        -      },
        -      "scope": {
        -        "const": "booking_preparation",
        -        "description": "These rules cover preparation of a customer offer/booking, not action authority.",
        -        "type": "string"
        -      },
        -      "status": {
        -        "const": "available",
        -        "description": "Current booking-preparation policy was read; no booking is confirmed.",
        -        "type": "string"
        -      },
        -      "terms": {
        -        "additionalProperties": false,
        -        "description": "Current published account, guest-booking, lead-time and confirmation rules.",
        -        "properties": {
        -          "accountRequired": {
        -            "description": "Whether current purchase policy requires an account.",
        -            "type": "boolean"
        -          },
        -          "bookerForGuestAllowed": {
        -            "description": "Whether current policy allows a booker to request service for another guest.",
        -            "type": "boolean"
        -          },
        -          "bookingConfirmation": {
        -            "const": "after_confirmed_full_payment",
        -            "description": "Confirmation requires provider-confirmed full payment; an offer link alone is insufficient.",
        -            "type": "string"
        -          },
        -          "minimumLeadTimeMinutes": {
        -            "description": "Current minimum time before pickup, expressed in minutes.",
        -            "maximum": 9007199254740991,
        -            "minimum": 0,
        -            "type": "integer"
        -          },
        -          "serviceSpecificTerms": {
        -            "const": "review_the_current_offer_before_confirmation",
        -            "description": "Review the complete terms bound to the current offer before confirming.",
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "minimumLeadTimeMinutes",
        -          "accountRequired",
        -          "bookerForGuestAllowed",
        -          "bookingConfirmation",
        -          "serviceSpecificTerms"
        -        ],
        -        "type": "object"
        -      },
        -      "timeZone": {
        -        "description": "Configured local time zone for the selected provider/service location.",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status",
        -      "bookingUrl",
        -      "timeZone",
        -      "observedAt",
        -      "scope",
        -      "revalidationRequired",
        -      "terms",
        -      "bookingConfirmed"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "status": {
        +        "const": "invalid_request",
        +        "description": "Input does not match this operation's contract; correct the facts before retrying.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "bookingUrl": {
        +        "description": "Published customer booking page for this provider and locale; the URL does not grant private booking access or confirm availability.",
        +        "format": "uri",
        +        "type": "string"
        +      },
        +      "status": {
        +        "const": "unavailable",
        +        "description": "The requested information could not be supplied safely; this is not vehicle-unavailability evidence.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "bookingConfirmed": {
        +        "const": false,
        +        "description": "Reading policy does not create or confirm a booking.",
        +        "type": "boolean"
        +      },
        +      "bookingUrl": {
        +        "description": "Published customer booking page for this provider and locale; the URL does not grant private booking access or confirm availability.",
        +        "format": "uri",
        +        "type": "string"
        +      },
        +      "observedAt": {
        +        "description": "ISO 8601 UTC timestamp when the current minimum-lead-time policy was read, not its expiry or a guarantee of future validity.",
        +        "type": "string"
        +      },
        +      "revalidationRequired": {
        +        "const": true,
        +        "description": "Re-read and revalidate current policy before offer preparation/confirmation.",
        +        "type": "boolean"
        +      },
        +      "scope": {
        +        "const": "booking_preparation",
        +        "description": "These rules cover preparation of a customer offer/booking, not action authority.",
        +        "type": "string"
        +      },
        +      "status": {
        +        "const": "available",
        +        "description": "Current booking-preparation policy was read; no booking is confirmed.",
        +        "type": "string"
        +      },
        +      "terms": {
        +        "additionalProperties": false,
        +        "description": "Current published account, guest-booking, lead-time and confirmation rules.",
        +        "properties": {
        +          "accountRequired": {
        +            "description": "Whether current purchase policy requires an account.",
        +            "type": "boolean"
        +          },
        +          "bookerForGuestAllowed": {
        +            "description": "Whether current policy allows a booker to request service for another guest.",
        +            "type": "boolean"
        +          },
        +          "bookingConfirmation": {
        +            "const": "after_confirmed_full_payment",
        +            "description": "Confirmation requires provider-confirmed full payment; an offer link alone is insufficient.",
        +            "type": "string"
        +          },
        +          "minimumLeadTimeMinutes": {
        +            "description": "Current minimum time before pickup, expressed in minutes.",
        +            "maximum": 9007199254740991,
        +            "minimum": 0,
        +            "type": "integer"
        +          },
        +          "serviceSpecificTerms": {
        +            "const": "review_the_current_offer_before_confirmation",
        +            "description": "Review the complete terms bound to the current offer before confirming.",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "minimumLeadTimeMinutes",
        +          "accountRequired",
        +          "bookerForGuestAllowed",
        +          "bookingConfirmation",
        +          "serviceSpecificTerms"
        +        ],
        +        "type": "object"
        +      },
        +      "timeZone": {
        +        "description": "Configured local time zone for the selected provider/service location.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status",
        +      "bookingUrl",
        +      "timeZone",
        +      "observedAt",
        +      "scope",
        +      "revalidationRequired",
        +      "terms",
        +      "bookingConfirmed"
        +    ],
        +    "type": "object"
        +  }
        +]
  4. 10 tool updates
    • Changedget_booking_history2 fields changed
      • changedInput schema / properties / bookingKey / description
        Previous value: -"Internal booking ID for the one selected booking. At the customer OAuth endpoint, its visible bookingReference is accepted too. Use a value returned for that same booking; the identifier grants no access by itself."New value: +"Internal booking ID for the one selected booking. At the customer OAuth endpoint, its visible bookingReference is accepted too. Copy the same booking's bookingKey or bookingReference from an available get_offer_status/prepare_offer or authorized booking-read result. prepared returns links, not these IDs. The supplier offerKey is not a booking identifier; the identifier grants no access by itself."
      • changedOutput schema / oneOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "bookingKey": {
        -        "type": "string"
        -      },
        -      "bookingReference": {
        -        "type": "string"
        -      },
        -      "entries": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "id": {
        -              "type": "string"
        -            },
        -            "kind": {
        -              "enum": [
        -                "offer_recorded",
        -                "amendment_preparation_recorded",
        -                "amendment_recorded",
        -                "cancellation_requested",
        -                "cancellation_outcome_recorded"
        -              ],
        -              "type": "string"
        -            },
        -            "occurredAt": {
        -              "format": "date-time",
        -              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
        -              "type": "string"
        -            }
        -          },
        -          "required": [
        -            "id",
        -            "occurredAt",
        -            "kind"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "nextAction": {
        -        "type": "string"
        -      },
        -      "nextCursor": {
        -        "anyOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "id": {
        -                "description": "Exact ID from nextCursor for stable ordering of events at the same timestamp; it grants no access.",
        -                "maxLength": 256,
        -                "minLength": 1,
        -                "type": "string"
        -              },
        -              "occurredAt": {
        -                "description": "Exact timestamp from the returned nextCursor; copy unchanged for older entries.",
        -                "format": "date-time",
        -                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
        -                "type": "string"
        -              }
        -            },
        -            "required": [
        -              "occurredAt",
        -              "id"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "observedAt": {
        -        "format": "date-time",
        -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
        -        "type": "string"
        -      },
        -      "status": {
        -        "const": "available",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status",
        -      "bookingKey",
        -      "bookingReference",
        -      "observedAt",
        -      "entries",
        -      "nextCursor",
        -      "nextAction"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "status": {
        -        "const": "invalid_request",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "status": {
        -        "const": "not_found",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "status": {
        -        "const": "unavailable",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "bookingKey": {
        +        "description": "Internal reservation ID for the one booking selected by the current OAuth grant.",
        +        "type": "string"
        +      },
        +      "bookingReference": {
        +        "description": "Stored visible reference for this booking, falling back to its internal ID; not a supplier offerKey.",
        +        "type": "string"
        +      },
        +      "entries": {
        +        "description": "Recorded offer, amendment and cancellation entries, newest first and then id ascending for equal timestamps. Empty means no matching visible events.",
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "id": {
        +              "description": "Stable timeline-entry ID from a stored offer reference or booking event, not a booking ID or retry key.",
        +              "type": "string"
        +            },
        +            "kind": {
        +              "description": "Recorded event category: offer reference, amendment preparation, committed amendment, cancellation request or cancellation outcome. It is not a payment/refund or fulfillment history.",
        +              "enum": [
        +                "offer_recorded",
        +                "amendment_preparation_recorded",
        +                "amendment_recorded",
        +                "cancellation_requested",
        +                "cancellation_outcome_recorded"
        +              ],
        +              "type": "string"
        +            },
        +            "occurredAt": {
        +              "description": "Recorded event timestamp in ISO 8601; used with id for stable pagination.",
        +              "format": "date-time",
        +              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "id",
        +            "occurredAt",
        +            "kind"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "nextAction": {
        +        "description": "Read-only guidance to inspect booking status and bound action terms; reading history performs no booking action.",
        +        "type": "string"
        +      },
        +      "nextCursor": {
        +        "anyOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "id": {
        +                "description": "Exact ID from nextCursor for stable ordering of events at the same timestamp; it grants no access.",
        +                "maxLength": 256,
        +                "minLength": 1,
        +                "type": "string"
        +              },
        +              "occurredAt": {
        +                "description": "Exact timestamp from the returned nextCursor; copy unchanged for older entries.",
        +                "format": "date-time",
        +                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "occurredAt",
        +              "id"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ],
        +        "description": "Copy a non-null cursor unchanged into after for older entries. Null means no older page was observed; it grants no authority."
        +      },
        +      "observedAt": {
        +        "description": "Observation cutoff for this read; only events recorded at or before this timestamp are returned. It is not the booking's last-update time or provider refresh.",
        +        "format": "date-time",
        +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
        +        "type": "string"
        +      },
        +      "status": {
        +        "const": "available",
        +        "description": "The selected booking's authorized recorded timeline was read successfully.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status",
        +      "bookingKey",
        +      "bookingReference",
        +      "observedAt",
        +      "entries",
        +      "nextCursor",
        +      "nextAction"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "status": {
        +        "const": "invalid_request",
        +        "description": "Input or pagination cursor does not match this contract.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "status": {
        +        "const": "not_found",
        +        "description": "The selected booking is inaccessible under current authority, including authority lost during the read; absence is not proved.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "status": {
        +        "const": "unavailable",
        +        "description": "The timeline could not be read or validated safely; this does not mean the booking is missing.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status"
        +    ],
        +    "type": "object"
        +  }
        +]
    • Changedget_booking_payment_review2 fields changed
      • changedInput schema / properties / bookingKey / description
        Previous value: -"Internal booking ID for the one selected booking. At the customer OAuth endpoint, its visible bookingReference is accepted too. Use a value returned for that same booking; the identifier grants no access by itself."New value: +"Internal booking ID for the one selected booking. At the customer OAuth endpoint, its visible bookingReference is accepted too. Copy the same booking's bookingKey or bookingReference from an available get_offer_status/prepare_offer or authorized booking-read result. prepared returns links, not these IDs. The supplier offerKey is not a booking identifier; the identifier grants no access by itself."
      • changedOutput schema / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "status": {
        -        "enum": [
        -          "invalid_request",
        -          "not_found",
        -          "unavailable",
        -          "ambiguous",
        -          "conflict",
        -          "expired"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "bookingChanged": {
        -        "const": false,
        -        "type": "boolean"
        -      },
        -      "nextAction": {
        -        "type": "string"
        -      },
        -      "payment": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "recordedStatus": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "recordedStatus"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "const": "available",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status",
        -      "payment",
        -      "bookingChanged",
        -      "nextAction"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "bookingConfirmed": {
        -        "const": false,
        -        "type": "boolean"
        -      },
        -      "checkoutUrl": {
        -        "format": "uri",
        -        "type": "string"
        -      },
        -      "nextAction": {
        -        "type": "string"
        -      },
        -      "offer": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "completeTermsBound": {
        -            "const": true,
        -            "type": "boolean"
        -          },
        -          "currency": {
        -            "const": "EUR",
        -            "type": "string"
        -          },
        -          "customerConfirmationRequired": {
        -            "const": true,
        -            "type": "boolean"
        -          },
        -          "expiresAt": {
        -            "type": "string"
        -          },
        -          "grossTotalCents": {
        -            "maximum": 9007199254740991,
        -            "minimum": 0,
        -            "type": "integer"
        -          }
        -        },
        -        "required": [
        -          "currency",
        -          "grossTotalCents",
        -          "expiresAt",
        -          "customerConfirmationRequired",
        -          "completeTermsBound"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "const": "prepared",
        -        "type": "string"
        -      },
        -      "termsUrl": {
        -        "format": "uri",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status",
        -      "bookingConfirmed",
        -      "checkoutUrl",
        -      "termsUrl",
        -      "offer",
        -      "nextAction"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "status": {
        +        "description": "Review failure: invalid_request rejects input; not_found denies current object/proof access; unavailable cannot safely supply the review; ambiguous means evidence is incomplete or non-unique; conflict means stored offer facts disagree; expired means the bound offer has expired.",
        +        "enum": [
        +          "invalid_request",
        +          "not_found",
        +          "unavailable",
        +          "ambiguous",
        +          "conflict",
        +          "expired"
        +        ],
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "bookingChanged": {
        +        "const": false,
        +        "description": "This read did not change the booking.",
        +        "type": "boolean"
        +      },
        +      "nextAction": {
        +        "description": "Read-only guidance for the returned recorded state; do not start another payment.",
        +        "type": "string"
        +      },
        +      "payment": {
        +        "additionalProperties": false,
        +        "description": "The selected booking's recorded payment state.",
        +        "properties": {
        +          "recordedStatus": {
        +            "description": "Stored reservation payment status; no new payment-provider confirmation.",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "recordedStatus"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "const": "available",
        +        "description": "Recorded payment state is returned without another payment link for an already-paid, refunded or closed booking.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status",
        +      "payment",
        +      "bookingChanged",
        +      "nextAction"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "bookingConfirmed": {
        +        "const": false,
        +        "description": "Returning the existing review link does not confirm the booking.",
        +        "type": "boolean"
        +      },
        +      "checkoutUrl": {
        +        "description": "Existing private offer-review page; open it to review terms and explicitly confirm and pay through the existing flow. Treat the link as private.",
        +        "format": "uri",
        +        "type": "string"
        +      },
        +      "nextAction": {
        +        "description": "Guidance to open the existing review page and review the bound offer; this read performs no payment.",
        +        "type": "string"
        +      },
        +      "offer": {
        +        "additionalProperties": false,
        +        "description": "Existing offer amount, expiry and confirmation/terms requirements.",
        +        "properties": {
        +          "completeTermsBound": {
        +            "const": true,
        +            "description": "Complete service and legal terms were verified as bound to this offer.",
        +            "type": "boolean"
        +          },
        +          "currency": {
        +            "const": "EUR",
        +            "description": "Currency of the existing bound offer amount: EUR.",
        +            "type": "string"
        +          },
        +          "customerConfirmationRequired": {
        +            "const": true,
        +            "description": "The customer must explicitly review and confirm the offer on its existing page.",
        +            "type": "boolean"
        +          },
        +          "expiresAt": {
        +            "description": "Stored offer expiry timestamp from offer_expires_at. It is separate from the submission resume-token expiry; an expired offer cannot be confirmed.",
        +            "type": "string"
        +          },
        +          "grossTotalCents": {
        +            "description": "Verified gross total of the existing offer in EUR cents, including applicable tax.",
        +            "maximum": 9007199254740991,
        +            "minimum": 0,
        +            "type": "integer"
        +          }
        +        },
        +        "required": [
        +          "currency",
        +          "grossTotalCents",
        +          "expiresAt",
        +          "customerConfirmationRequired",
        +          "completeTermsBound"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "const": "prepared",
        +        "description": "The existing unpaid offer and bound review link were verified for review; no new Checkout Session or payment was created.",
        +        "type": "string"
        +      },
        +      "termsUrl": {
        +        "description": "The same existing offer page containing the complete bound terms to review before confirmation.",
        +        "format": "uri",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status",
        +      "bookingConfirmed",
        +      "checkoutUrl",
        +      "termsUrl",
        +      "offer",
        +      "nextAction"
        +    ],
        +    "type": "object"
        +  }
        +]
    • Changedget_booking_status2 fields changed
      • changedInput schema / properties / bookingKey / description
        Previous value: -"Internal booking ID for the one selected booking. At the customer OAuth endpoint, its visible bookingReference is accepted too. Use a value returned for that same booking; the identifier grants no access by itself."New value: +"Internal booking ID for the one selected booking. At the customer OAuth endpoint, its visible bookingReference is accepted too. Copy the same booking's bookingKey or bookingReference from an available get_offer_status/prepare_offer or authorized booking-read result. prepared returns links, not these IDs. The supplier offerKey is not a booking identifier; the identifier grants no access by itself."
      • changedOutput schema / oneOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "booking": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "recordedStatus": {
        -            "maxLength": 64,
        -            "minLength": 1,
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "recordedStatus"
        -        ],
        -        "type": "object"
        -      },
        -      "bookingKey": {
        -        "maxLength": 128,
        -        "minLength": 1,
        -        "type": "string"
        -      },
        -      "bookingReference": {
        -        "minLength": 1,
        -        "type": "string"
        -      },
        -      "fulfillment": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "chauffeurAssignmentRecorded": {
        -            "type": "boolean"
        -          },
        -          "completionRecorded": {
        -            "type": "boolean"
        -          },
        -          "vehicleAssignmentRecorded": {
        -            "type": "boolean"
        -          }
        -        },
        -        "required": [
        -          "chauffeurAssignmentRecorded",
        -          "vehicleAssignmentRecorded",
        -          "completionRecorded"
        -        ],
        -        "type": "object"
        -      },
        -      "payment": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "recordedStatus": {
        -            "maxLength": 64,
        -            "minLength": 1,
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "recordedStatus"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "const": "available",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status",
        -      "bookingKey",
        -      "bookingReference",
        -      "booking",
        -      "payment",
        -      "fulfillment"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "status": {
        -        "const": "invalid_request",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "status": {
        -        "const": "login_required",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "status": {
        -        "const": "not_found",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "status": {
        -        "const": "unavailable",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "booking": {
        +        "additionalProperties": false,
        +        "description": "Booking state read from the stored reservation; it may lag provider events.",
        +        "properties": {
        +          "recordedStatus": {
        +            "description": "Stored reservation status string. It is not a new provider confirmation.",
        +            "maxLength": 64,
        +            "minLength": 1,
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "recordedStatus"
        +        ],
        +        "type": "object"
        +      },
        +      "bookingKey": {
        +        "description": "Internal reservation ID for this selected booking. Returned in the available branch of get_offer_status/prepare_offer or an authorized booking read, not in prepared. It grants no access by itself.",
        +        "maxLength": 128,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "bookingReference": {
        +        "description": "Stored customer-visible reservation reference, falling back to bookingKey when absent. Customer OAuth accepts it only for its already-selected booking; it is not the supplier offerKey.",
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "fulfillment": {
        +        "additionalProperties": false,
        +        "description": "Flags derived from stored assignments and status, not live fulfillment confirmation.",
        +        "properties": {
        +          "chauffeurAssignmentRecorded": {
        +            "description": "True when a chauffeur ID is stored on the reservation; it does not confirm dispatch or acceptance.",
        +            "type": "boolean"
        +          },
        +          "completionRecorded": {
        +            "description": "True only when the stored reservation status is completed; no fresh service-completion check is made.",
        +            "type": "boolean"
        +          },
        +          "vehicleAssignmentRecorded": {
        +            "description": "True when a vehicle ID is stored on the reservation; it does not confirm availability or execution.",
        +            "type": "boolean"
        +          }
        +        },
        +        "required": [
        +          "chauffeurAssignmentRecorded",
        +          "vehicleAssignmentRecorded",
        +          "completionRecorded"
        +        ],
        +        "type": "object"
        +      },
        +      "payment": {
        +        "additionalProperties": false,
        +        "description": "Recorded payment state from this booking, without a payment-provider refresh.",
        +        "properties": {
        +          "recordedStatus": {
        +            "description": "Stored reservation payment-status string; no payment or refund is initiated or newly confirmed.",
        +            "maxLength": 64,
        +            "minLength": 1,
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "recordedStatus"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "const": "available",
        +        "description": "The selected booking was accessible and its stored fields passed validation; no provider refresh occurred.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status",
        +      "bookingKey",
        +      "bookingReference",
        +      "booking",
        +      "payment",
        +      "fulfillment"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "status": {
        +        "const": "invalid_request",
        +        "description": "Input does not match the booking-read contract.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "status": {
        +        "const": "login_required",
        +        "description": "The original signed-in session must be established or renewed before reading.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "status": {
        +        "const": "not_found",
        +        "description": "The selected booking is not accessible under current authority; this does not prove it is absent.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "status": {
        +        "const": "unavailable",
        +        "description": "The stored booking could not be read or validated safely; this is not vehicle-availability evidence.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status"
        +    ],
        +    "type": "object"
        +  }
        +]
    • Changedget_customer_policy2 fields changed
      • changedInput schema / properties / offerKey / description
        Previous value: -"Optional existing published provider offer key. Selects its configured service location; not booking authority."New value: +"Optional existing published provider/supplier offer key. Selects its configured service location; it is not a customer bookingKey or bookingReference and grants no booking access."
      • changedOutput schema / oneOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "status": {
        -        "const": "invalid_request",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "bookingUrl": {
        -        "format": "uri",
        -        "type": "string"
        -      },
        -      "status": {
        -        "const": "unavailable",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "bookingConfirmed": {
        -        "const": false,
        -        "type": "boolean"
        -      },
        -      "bookingUrl": {
        -        "format": "uri",
        -        "type": "string"
        -      },
        -      "observedAt": {
        -        "type": "string"
        -      },
        -      "revalidationRequired": {
        -        "const": true,
        -        "type": "boolean"
        -      },
        -      "scope": {
        -        "const": "booking_preparation",
        -        "type": "string"
        -      },
        -      "status": {
        -        "const": "available",
        -        "type": "string"
        -      },
        -      "terms": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "accountRequired": {
        -            "type": "boolean"
        -          },
        -          "bookerForGuestAllowed": {
        -            "type": "boolean"
        -          },
        -          "bookingConfirmation": {
        -            "const": "after_confirmed_full_payment",
        -            "type": "string"
        -          },
        -          "minimumLeadTimeMinutes": {
        -            "maximum": 9007199254740991,
        -            "minimum": 0,
        -            "type": "integer"
        -          },
        -          "serviceSpecificTerms": {
        -            "const": "review_the_current_offer_before_confirmation",
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "minimumLeadTimeMinutes",
        -          "accountRequired",
        -          "bookerForGuestAllowed",
        -          "bookingConfirmation",
        -          "serviceSpecificTerms"
        -        ],
        -        "type": "object"
        -      },
        -      "timeZone": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status",
        -      "bookingUrl",
        -      "timeZone",
        -      "observedAt",
        -      "scope",
        -      "revalidationRequired",
        -      "terms",
        -      "bookingConfirmed"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "status": {
        +        "const": "invalid_request",
        +        "description": "Input does not match this operation's contract; correct the facts before retrying.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "bookingUrl": {
        +        "description": "Published customer booking page for this provider and locale; the URL does not grant private booking access or confirm availability.",
        +        "format": "uri",
        +        "type": "string"
        +      },
        +      "status": {
        +        "const": "unavailable",
        +        "description": "The requested information could not be supplied safely; this is not vehicle-unavailability evidence.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "bookingConfirmed": {
        +        "const": false,
        +        "description": "Reading policy does not create or confirm a booking.",
        +        "type": "boolean"
        +      },
        +      "bookingUrl": {
        +        "description": "Published customer booking page for this provider and locale; the URL does not grant private booking access or confirm availability.",
        +        "format": "uri",
        +        "type": "string"
        +      },
        +      "observedAt": {
        +        "description": "Observation timestamp of the minimum-lead-time policy read; no validity window is promised.",
        +        "type": "string"
        +      },
        +      "revalidationRequired": {
        +        "const": true,
        +        "description": "Re-read and revalidate current policy before offer preparation/confirmation.",
        +        "type": "boolean"
        +      },
        +      "scope": {
        +        "const": "booking_preparation",
        +        "description": "These rules cover preparation of a customer offer/booking, not action authority.",
        +        "type": "string"
        +      },
        +      "status": {
        +        "const": "available",
        +        "description": "Current booking-preparation policy was read; no booking is confirmed.",
        +        "type": "string"
        +      },
        +      "terms": {
        +        "additionalProperties": false,
        +        "description": "Current published account, guest-booking, lead-time and confirmation rules.",
        +        "properties": {
        +          "accountRequired": {
        +            "description": "Whether current purchase policy requires an account.",
        +            "type": "boolean"
        +          },
        +          "bookerForGuestAllowed": {
        +            "description": "Whether current policy allows a booker to request service for another guest.",
        +            "type": "boolean"
        +          },
        +          "bookingConfirmation": {
        +            "const": "after_confirmed_full_payment",
        +            "description": "Confirmation requires provider-confirmed full payment; an offer link alone is insufficient.",
        +            "type": "string"
        +          },
        +          "minimumLeadTimeMinutes": {
        +            "description": "Current minimum time before pickup, expressed in minutes.",
        +            "maximum": 9007199254740991,
        +            "minimum": 0,
        +            "type": "integer"
        +          },
        +          "serviceSpecificTerms": {
        +            "const": "review_the_current_offer_before_confirmation",
        +            "description": "Review the complete terms bound to the current offer before confirming.",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "minimumLeadTimeMinutes",
        +          "accountRequired",
        +          "bookerForGuestAllowed",
        +          "bookingConfirmation",
        +          "serviceSpecificTerms"
        +        ],
        +        "type": "object"
        +      },
        +      "timeZone": {
        +        "description": "Configured local time zone for the selected provider/service location.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status",
        +      "bookingUrl",
        +      "timeZone",
        +      "observedAt",
        +      "scope",
        +      "revalidationRequired",
        +      "terms",
        +      "bookingConfirmed"
        +    ],
        +    "type": "object"
        +  }
        +]
    • Changedget_offer_status3 fields changed
      • changedInput schema / properties / resumeToken / description
        Previous value: -"Private 64-character hexadecimal secret generated for this submission. Reuse its original pair with submissionId for retries and status; never substitute account credentials."New value: +"Caller-generated private 64-character hexadecimal secret for this submission (32 random bytes). Keep its original submissionId pair. The stored resume proof expires 24 hours after first claimed intake; unchanged retries do not renew it. This is separate from offer.expiresAt and is not an account credential."
      • changedInput schema / properties / submissionId / description
        Previous value: -"Identifies one offer intent. Generate a UUID for a requested new offer; keep it with the same resumeToken for unchanged retries and status."New value: +"Caller-generated UUID for one explicitly requested offer intent. Keep the same submissionId/resumeToken and unchanged facts for retries and status; a new explicit intent needs a new pair. This is not a bookingKey."
      • changedOutput schema / oneOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "status": {
        -        "const": "invalid_request",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "bookingUrl": {
        -        "format": "uri",
        -        "type": "string"
        -      },
        -      "status": {
        -        "const": "unavailable",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "retryAfterSeconds": {
        -        "exclusiveMinimum": 0,
        -        "maximum": 9007199254740991,
        -        "type": "integer"
        -      },
        -      "status": {
        -        "const": "pending",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status",
        -      "retryAfterSeconds"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "retryAfterSeconds": {
        -        "exclusiveMinimum": 0,
        -        "maximum": 9007199254740991,
        -        "type": "integer"
        -      },
        -      "status": {
        -        "const": "rate_limited",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status",
        -      "retryAfterSeconds"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "status": {
        -        "enum": [
        -          "conflict",
        -          "ambiguous",
        -          "not_found"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "booking": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "recordedStatus": {
        -            "maxLength": 64,
        -            "minLength": 1,
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "recordedStatus"
        -        ],
        -        "type": "object"
        -      },
        -      "bookingKey": {
        -        "maxLength": 128,
        -        "minLength": 1,
        -        "type": "string"
        -      },
        -      "bookingReference": {
        -        "minLength": 1,
        -        "type": "string"
        -      },
        -      "customerPortalUrl": {
        -        "format": "uri",
        -        "type": "string"
        -      },
        -      "fulfillment": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "chauffeurAssignmentRecorded": {
        -            "type": "boolean"
        -          },
        -          "completionRecorded": {
        -            "type": "boolean"
        -          },
        -          "vehicleAssignmentRecorded": {
        -            "type": "boolean"
        -          }
        -        },
        -        "required": [
        -          "chauffeurAssignmentRecorded",
        -          "vehicleAssignmentRecorded",
        -          "completionRecorded"
        -        ],
        -        "type": "object"
        -      },
        -      "payment": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "recordedStatus": {
        -            "maxLength": 64,
        -            "minLength": 1,
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "recordedStatus"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "const": "available",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status",
        -      "bookingKey",
        -      "bookingReference",
        -      "booking",
        -      "payment",
        -      "fulfillment",
        -      "customerPortalUrl"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "bookingUrl": {
        -        "format": "uri",
        -        "type": "string"
        -      },
        -      "message": {
        -        "type": "string"
        -      },
        -      "review": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "availabilityConfirmed": {
        -            "const": false,
        -            "type": "boolean"
        -          },
        -          "code": {
        -            "enum": [
        -              "additional_requirements_review",
        -              "model_guarantee_review",
        -              "address_review",
        -              "service_scope_review",
        -              "booking_window_review",
        -              "route_review"
        -            ],
        -            "type": "string"
        -          },
        -          "customerContactRequired": {
        -            "const": false,
        -            "type": "boolean"
        -          },
        -          "nextAction": {
        -            "const": "review_requirements",
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "code",
        -          "customerContactRequired",
        -          "availabilityConfirmed",
        -          "nextAction"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "const": "review_required",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status",
        -      "bookingUrl",
        -      "message",
        -      "review"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "status": {
        -        "const": "expired",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "bookingConfirmed": {
        -        "const": false,
        -        "type": "boolean"
        -      },
        -      "checkoutUrl": {
        -        "format": "uri",
        -        "type": "string"
        -      },
        -      "customerPortalUrl": {
        -        "format": "uri",
        -        "type": "string"
        -      },
        -      "nextAction": {
        -        "type": "string"
        -      },
        -      "offer": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "completeTermsBound": {
        -            "const": true,
        -            "type": "boolean"
        -          },
        -          "currency": {
        -            "const": "EUR",
        -            "type": "string"
        -          },
        -          "customerConfirmationRequired": {
        -            "const": true,
        -            "type": "boolean"
        -          },
        -          "expiresAt": {
        -            "type": "string"
        -          },
        -          "grossTotalCents": {
        -            "maximum": 9007199254740991,
        -            "minimum": 0,
        -            "type": "integer"
        -          }
        -        },
        -        "required": [
        -          "currency",
        -          "grossTotalCents",
        -          "expiresAt",
        -          "customerConfirmationRequired",
        -          "completeTermsBound"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "const": "prepared",
        -        "type": "string"
        -      },
        -      "termsUrl": {
        -        "format": "uri",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status",
        -      "bookingConfirmed",
        -      "checkoutUrl",
        -      "termsUrl",
        -      "offer",
        -      "nextAction"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "status": {
        +        "const": "invalid_request",
        +        "description": "Input does not match this operation's contract; correct the facts before retrying.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "bookingUrl": {
        +        "description": "Published customer booking page for this provider and locale; the URL does not grant private booking access or confirm availability.",
        +        "format": "uri",
        +        "type": "string"
        +      },
        +      "status": {
        +        "const": "unavailable",
        +        "description": "The requested information could not be supplied safely; this is not vehicle-unavailability evidence.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "retryAfterSeconds": {
        +        "description": "Wait at least this many seconds, then use the same original submissionId/resumeToken pair for status or unchanged retry.",
        +        "exclusiveMinimum": 0,
        +        "maximum": 9007199254740991,
        +        "type": "integer"
        +      },
        +      "status": {
        +        "const": "pending",
        +        "description": "The original offer-intent execution is still pending; no completed offer result is available.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status",
        +      "retryAfterSeconds"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "retryAfterSeconds": {
        +        "description": "Wait at least this many seconds before retrying the unchanged submissionId/resumeToken and facts.",
        +        "exclusiveMinimum": 0,
        +        "maximum": 9007199254740991,
        +        "type": "integer"
        +      },
        +      "status": {
        +        "const": "rate_limited",
        +        "description": "Offer preparation admission was rate-limited; retry only the unchanged explicit offer intent.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status",
        +      "retryAfterSeconds"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "status": {
        +        "description": "conflict means stored intent/offer facts disagree; ambiguous means execution or bound evidence cannot safely be resolved; not_found denies access to the original submission proof. Inspect status rather than blindly creating another offer.",
        +        "enum": [
        +          "conflict",
        +          "ambiguous",
        +          "not_found"
        +        ],
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "booking": {
        +        "additionalProperties": false,
        +        "description": "Booking state read from the stored reservation; it may lag provider events.",
        +        "properties": {
        +          "recordedStatus": {
        +            "description": "Stored reservation status string. It is not a new provider confirmation.",
        +            "maxLength": 64,
        +            "minLength": 1,
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "recordedStatus"
        +        ],
        +        "type": "object"
        +      },
        +      "bookingKey": {
        +        "description": "Internal reservation ID for this selected booking. Returned in the available branch of get_offer_status/prepare_offer or an authorized booking read, not in prepared. It grants no access by itself.",
        +        "maxLength": 128,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "bookingReference": {
        +        "description": "Stored customer-visible reservation reference, falling back to bookingKey when absent. Customer OAuth accepts it only for its already-selected booking; it is not the supplier offerKey.",
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "customerPortalUrl": {
        +        "description": "Private customer-login entry for the original submission proof. This available branch also returns this booking's ID/reference; no history or write authority is granted.",
        +        "format": "uri",
        +        "type": "string"
        +      },
        +      "fulfillment": {
        +        "additionalProperties": false,
        +        "description": "Flags derived from stored assignments and status, not live fulfillment confirmation.",
        +        "properties": {
        +          "chauffeurAssignmentRecorded": {
        +            "description": "True when a chauffeur ID is stored on the reservation; it does not confirm dispatch or acceptance.",
        +            "type": "boolean"
        +          },
        +          "completionRecorded": {
        +            "description": "True only when the stored reservation status is completed; no fresh service-completion check is made.",
        +            "type": "boolean"
        +          },
        +          "vehicleAssignmentRecorded": {
        +            "description": "True when a vehicle ID is stored on the reservation; it does not confirm availability or execution.",
        +            "type": "boolean"
        +          }
        +        },
        +        "required": [
        +          "chauffeurAssignmentRecorded",
        +          "vehicleAssignmentRecorded",
        +          "completionRecorded"
        +        ],
        +        "type": "object"
        +      },
        +      "payment": {
        +        "additionalProperties": false,
        +        "description": "Recorded payment state from this booking, without a payment-provider refresh.",
        +        "properties": {
        +          "recordedStatus": {
        +            "description": "Stored reservation payment-status string; no payment or refund is initiated or newly confirmed.",
        +            "maxLength": 64,
        +            "minLength": 1,
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "recordedStatus"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "const": "available",
        +        "description": "The selected booking was accessible and its stored fields passed validation; no provider refresh occurred.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status",
        +      "bookingKey",
        +      "bookingReference",
        +      "booking",
        +      "payment",
        +      "fulfillment",
        +      "customerPortalUrl"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "bookingUrl": {
        +        "description": "Published customer booking page for this provider and locale; the URL does not grant private booking access or confirm availability.",
        +        "format": "uri",
        +        "type": "string"
        +      },
        +      "message": {
        +        "description": "Customer-language explanation of the required review.",
        +        "type": "string"
        +      },
        +      "review": {
        +        "additionalProperties": false,
        +        "description": "Structured reason and safe next step for requirements review.",
        +        "properties": {
        +          "availabilityConfirmed": {
        +            "const": false,
        +            "description": "This review result does not confirm availability.",
        +            "type": "boolean"
        +          },
        +          "code": {
        +            "description": "Reason for further requirements, model, address, service-scope, booking-window or route review; not vehicle-unavailability evidence.",
        +            "enum": [
        +              "additional_requirements_review",
        +              "model_guarantee_review",
        +              "address_review",
        +              "service_scope_review",
        +              "booking_window_review",
        +              "route_review"
        +            ],
        +            "type": "string"
        +          },
        +          "customerContactRequired": {
        +            "const": false,
        +            "description": "No customer contact is required for this price/requirements review.",
        +            "type": "boolean"
        +          },
        +          "nextAction": {
        +            "const": "review_requirements",
        +            "description": "Review the stated requirements before proceeding; do not infer acceptance or confirmed availability.",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "code",
        +          "customerContactRequired",
        +          "availabilityConfirmed",
        +          "nextAction"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "const": "review_required",
        +        "description": "Offer preparation requires review of the ride facts/requirements; availability is not confirmed.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status",
        +      "bookingUrl",
        +      "message",
        +      "review"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "status": {
        +        "const": "expired",
        +        "description": "The existing bound offer has expired; this does not extend or describe the separate resume-proof lifetime.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "bookingConfirmed": {
        +        "const": false,
        +        "description": "Offer preparation does not confirm a booking or charge the customer.",
        +        "type": "boolean"
        +      },
        +      "checkoutUrl": {
        +        "description": "Private bound offer-review page to review complete terms and explicitly confirm using the existing flow. Treat this offer link as private.",
        +        "format": "uri",
        +        "type": "string"
        +      },
        +      "customerPortalUrl": {
        +        "description": "Existing private customer-login entry with the original submissionId/resumeToken in its fragment. Keep it private; current session/proof authority is still required.",
        +        "format": "uri",
        +        "type": "string"
        +      },
        +      "nextAction": {
        +        "description": "Guidance to open checkoutUrl, review the bound terms and explicitly confirm; no confirmation occurred in this call.",
        +        "type": "string"
        +      },
        +      "offer": {
        +        "additionalProperties": false,
        +        "description": "Existing offer amount, expiry and confirmation/terms requirements.",
        +        "properties": {
        +          "completeTermsBound": {
        +            "const": true,
        +            "description": "Complete service/legal terms were verified as bound to this offer.",
        +            "type": "boolean"
        +          },
        +          "currency": {
        +            "const": "EUR",
        +            "description": "Currency of the bound offer: EUR.",
        +            "type": "string"
        +          },
        +          "customerConfirmationRequired": {
        +            "const": true,
        +            "description": "The customer must explicitly review and confirm the offer on its page.",
        +            "type": "boolean"
        +          },
        +          "expiresAt": {
        +            "description": "Stored offer expiry timestamp from offer_expires_at. Separate from the 24-hour submission resume-proof lifetime; re-review an expired or revised offer.",
        +            "type": "string"
        +          },
        +          "grossTotalCents": {
        +            "description": "Bound offer gross total in EUR cents, including applicable tax.",
        +            "maximum": 9007199254740991,
        +            "minimum": 0,
        +            "type": "integer"
        +          }
        +        },
        +        "required": [
        +          "currency",
        +          "grossTotalCents",
        +          "expiresAt",
        +          "customerConfirmationRequired",
        +          "completeTermsBound"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "const": "prepared",
        +        "description": "The existing unpaid draft and its bound offer links are ready for customer review; this branch does not return bookingKey/bookingReference.",
        +        "type": "string"
        +      },
        +      "termsUrl": {
        +        "description": "The same offer page with complete bound service/legal terms.",
        +        "format": "uri",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status",
        +      "bookingConfirmed",
        +      "checkoutUrl",
        +      "termsUrl",
        +      "offer",
        +      "nextAction"
        +    ],
        +    "type": "object"
        +  }
        +]
    • Changedget_service_options2 fields changed
      • changedInput schema / properties / offerKey / description
        Previous value: -"Optional existing published provider offer key. Selects its configured service location; not booking authority."New value: +"Optional existing published provider/supplier offer key. Selects its configured service location; it is not a customer bookingKey or bookingReference and grants no booking access."
      • changedOutput schema / oneOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "status": {
        -        "const": "invalid_request",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "bookingUrl": {
        -        "format": "uri",
        -        "type": "string"
        -      },
        -      "status": {
        -        "const": "unavailable",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "bookingUrl": {
        -        "format": "uri",
        -        "type": "string"
        -      },
        -      "hourlyRideFacts": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "location": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "countryCode": {
        -            "type": "string"
        -          },
        -          "key": {
        -            "type": "string"
        -          },
        -          "label": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "key",
        -          "countryCode",
        -          "label"
        -        ],
        -        "type": "object"
        -      },
        -      "nextAction": {
        -        "type": "string"
        -      },
        -      "provider": {
        -        "type": "string"
        -      },
        -      "requiredRideFacts": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "returnRideFacts": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "services": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "availability": {
        -              "const": "requires_offer_review",
        -              "type": "string"
        -            },
        -            "key": {
        -              "type": "string"
        -            },
        -            "tripTypes": {
        -              "items": {
        -                "enum": [
        -                  "one_way",
        -                  "return"
        -                ],
        -                "type": "string"
        -              },
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "key",
        -            "tripTypes",
        -            "availability"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "status": {
        -        "const": "available",
        -        "type": "string"
        -      },
        -      "timeZone": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status",
        -      "provider",
        -      "timeZone",
        -      "bookingUrl",
        -      "services",
        -      "requiredRideFacts",
        -      "returnRideFacts",
        -      "hourlyRideFacts",
        -      "nextAction"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "status": {
        +        "const": "invalid_request",
        +        "description": "Input does not match this operation's contract; correct the facts before retrying.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "bookingUrl": {
        +        "description": "Published customer booking page for this provider and locale; the URL does not grant private booking access or confirm availability.",
        +        "format": "uri",
        +        "type": "string"
        +      },
        +      "status": {
        +        "const": "unavailable",
        +        "description": "The requested information could not be supplied safely; this is not vehicle-unavailability evidence.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "bookingUrl": {
        +        "description": "Published customer booking page for this provider and locale; the URL does not grant private booking access or confirm availability.",
        +        "format": "uri",
        +        "type": "string"
        +      },
        +      "hourlyRideFacts": {
        +        "description": "Additional hourly-service fields and required service/trip-type values.",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "location": {
        +        "additionalProperties": false,
        +        "description": "Location configured for the supplied published offerKey; omitted for the default service scope.",
        +        "properties": {
        +          "countryCode": {
        +            "description": "Country code configured for this service location.",
        +            "type": "string"
        +          },
        +          "key": {
        +            "description": "Configured service-location key selected by the published supplier offerKey.",
        +            "type": "string"
        +          },
        +          "label": {
        +            "description": "Location label in the requested language.",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "key",
        +          "countryCode",
        +          "label"
        +        ],
        +        "type": "object"
        +      },
        +      "nextAction": {
        +        "description": "Guidance to collect complete ride facts and request a price preview; no contact details are required for quoting.",
        +        "type": "string"
        +      },
        +      "provider": {
        +        "description": "Published display name of the service provider.",
        +        "type": "string"
        +      },
        +      "requiredRideFacts": {
        +        "description": "Ride fields to collect before quoting a transfer.",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "returnRideFacts": {
        +        "description": "Additional return-trip fields to collect for an outbound and later return pickup.",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "services": {
        +        "description": "Published service definitions and supported trip types.",
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "availability": {
        +              "const": "requires_offer_review",
        +              "description": "Availability/acceptance still require review of an actual offer.",
        +              "type": "string"
        +            },
        +            "key": {
        +              "description": "Published service identifier, such as transfer or hourly service.",
        +              "type": "string"
        +            },
        +            "tripTypes": {
        +              "description": "Trip types supported by this service definition; not confirmed availability.",
        +              "items": {
        +                "enum": [
        +                  "one_way",
        +                  "return"
        +                ],
        +                "type": "string"
        +              },
        +              "type": "array"
        +            }
        +          },
        +          "required": [
        +            "key",
        +            "tripTypes",
        +            "availability"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "status": {
        +        "const": "available",
        +        "description": "Published service information is readable; no price, acceptance or availability is confirmed.",
        +        "type": "string"
        +      },
        +      "timeZone": {
        +        "description": "Configured local provider time zone for ride dates and pickup times.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status",
        +      "provider",
        +      "timeZone",
        +      "bookingUrl",
        +      "services",
        +      "requiredRideFacts",
        +      "returnRideFacts",
        +      "hourlyRideFacts",
        +      "nextAction"
        +    ],
        +    "type": "object"
        +  }
        +]
    • Changedprepare_booking_cancellation3 fields changed
      • changedInput schema / properties / bookingKey / description
        Previous value: -"Internal booking ID or visible bookingReference of the one booking already selected by this OAuth connection. Copy a returned ID or reference for that same booking; it grants no access to another booking."New value: +"Internal booking ID or visible bookingReference of the one booking already selected by this OAuth connection. Copy the same booking's bookingKey or bookingReference from an available get_offer_status/prepare_offer or authorized booking-read result; prepared returns links, not IDs. Never substitute the supplier offerKey. It grants no access to another booking."
      • changedInput schema / properties / onceKey / description
        Previous value: -"Caller-chosen retry key: 16–128 characters from A–Z, a–z, 0–9, underscore or hyphen. Reuse it for the same booking, action and unchanged request facts; use a fresh key for changed facts. It grants no execution authority."New value: +"Caller-chosen retry key: 16–128 characters from A–Z, a–z, 0–9, underscore or hyphen. Reuse it for the same booking, action and unchanged request facts; use a fresh key for changed facts. The caller creates it; this handoff assigns it no independent expiry or execution authority. Later review still requires a current original session, object, offer and separate action consent."
      • changedOutput schema / oneOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "consentUrl": {
        -        "pattern": "^https:\\/\\/platform-api\\.samuelz\\.com\\/app\\/customer-booking\\/manage#request=",
        -        "type": "string"
        -      },
        -      "status": {
        -        "const": "consent_required",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status",
        -      "consentUrl"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "status": {
        -        "enum": [
        -          "invalid_request",
        -          "not_found",
        -          "unavailable"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "consentUrl": {
        +        "description": "Open this exact private proposal link in the original signed-in session. Its fragment contains the selected object, action, onceKey and proposed facts. Current authority is rechecked, then the existing flow requires separate visible action consent and confirmation; the link itself grants no authority.",
        +        "pattern": "^https:\\/\\/platform-api\\.samuelz\\.com\\/app\\/customer-booking\\/manage#request=",
        +        "type": "string"
        +      },
        +      "status": {
        +        "const": "consent_required",
        +        "description": "A private proposal link is ready for review; no action consent or execution grant has been issued.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status",
        +      "consentUrl"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "status": {
        +        "description": "invalid_request rejects malformed selection/action facts; not_found denies access to the currently selected booking; unavailable means the handoff could not be supplied safely. No booking action has occurred.",
        +        "enum": [
        +          "invalid_request",
        +          "not_found",
        +          "unavailable"
        +        ],
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status"
        +    ],
        +    "type": "object"
        +  }
        +]
    • Changedprepare_booking_change4 fields changed
      • changedInput schema / properties / amendment / properties / offerKey / description
        Previous value: -"Optional existing published provider offer key. Selects its configured service location; not booking authority."New value: +"Optional existing published provider/supplier offer key. Selects its configured service location; it is not a customer bookingKey or bookingReference and grants no booking access."
      • changedInput schema / properties / bookingKey / description
        Previous value: -"Internal booking ID or visible bookingReference of the one booking already selected by this OAuth connection. Copy a returned ID or reference for that same booking; it grants no access to another booking."New value: +"Internal booking ID or visible bookingReference of the one booking already selected by this OAuth connection. Copy the same booking's bookingKey or bookingReference from an available get_offer_status/prepare_offer or authorized booking-read result; prepared returns links, not IDs. Never substitute the supplier offerKey. It grants no access to another booking."
      • changedInput schema / properties / onceKey / description
        Previous value: -"Caller-chosen retry key: 16–128 characters from A–Z, a–z, 0–9, underscore or hyphen. Reuse it for the same booking, action and unchanged request facts; use a fresh key for changed facts. It grants no execution authority."New value: +"Caller-chosen retry key: 16–128 characters from A–Z, a–z, 0–9, underscore or hyphen. Reuse it for the same booking, action and unchanged request facts; use a fresh key for changed facts. The caller creates it; this handoff assigns it no independent expiry or execution authority. Later review still requires a current original session, object, offer and separate action consent."
      • changedOutput schema / oneOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "consentUrl": {
        -        "pattern": "^https:\\/\\/platform-api\\.samuelz\\.com\\/app\\/customer-booking\\/manage#request=",
        -        "type": "string"
        -      },
        -      "status": {
        -        "const": "consent_required",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status",
        -      "consentUrl"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "status": {
        -        "enum": [
        -          "invalid_request",
        -          "not_found",
        -          "unavailable"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "consentUrl": {
        +        "description": "Open this exact private proposal link in the original signed-in session. Its fragment contains the selected object, action, onceKey and proposed facts. Current authority is rechecked, then the existing flow requires separate visible action consent and confirmation; the link itself grants no authority.",
        +        "pattern": "^https:\\/\\/platform-api\\.samuelz\\.com\\/app\\/customer-booking\\/manage#request=",
        +        "type": "string"
        +      },
        +      "status": {
        +        "const": "consent_required",
        +        "description": "A private proposal link is ready for review; no action consent or execution grant has been issued.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status",
        +      "consentUrl"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "status": {
        +        "description": "invalid_request rejects malformed selection/action facts; not_found denies access to the currently selected booking; unavailable means the handoff could not be supplied safely. No booking action has occurred.",
        +        "enum": [
        +          "invalid_request",
        +          "not_found",
        +          "unavailable"
        +        ],
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status"
        +    ],
        +    "type": "object"
        +  }
        +]
    • Changedprepare_offer4 fields changed
      • changedInput schema / properties / offerKey / description
        Previous value: -"Optional existing published provider offer key. Selects its configured service location; not booking authority."New value: +"Optional existing published provider/supplier offer key. Selects its configured service location; it is not a customer bookingKey or bookingReference and grants no booking access."
      • changedInput schema / properties / resumeToken / description
        Previous value: -"Private 64-character hexadecimal secret generated for this submission. Reuse its original pair with submissionId for retries and status; never substitute account credentials."New value: +"Caller-generated private 64-character hexadecimal secret for this submission (32 random bytes). Keep its original submissionId pair. The stored resume proof expires 24 hours after first claimed intake; unchanged retries do not renew it. This is separate from offer.expiresAt and is not an account credential."
      • changedInput schema / properties / submissionId / description
        Previous value: -"Identifies one offer intent. Generate a UUID for a requested new offer; keep it with the same resumeToken for unchanged retries and status."New value: +"Caller-generated UUID for one explicitly requested offer intent. Keep the same submissionId/resumeToken and unchanged facts for retries and status; a new explicit intent needs a new pair. This is not a bookingKey."
      • changedOutput schema / oneOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "status": {
        -        "const": "invalid_request",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "bookingUrl": {
        -        "format": "uri",
        -        "type": "string"
        -      },
        -      "status": {
        -        "const": "unavailable",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "retryAfterSeconds": {
        -        "exclusiveMinimum": 0,
        -        "maximum": 9007199254740991,
        -        "type": "integer"
        -      },
        -      "status": {
        -        "const": "pending",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status",
        -      "retryAfterSeconds"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "retryAfterSeconds": {
        -        "exclusiveMinimum": 0,
        -        "maximum": 9007199254740991,
        -        "type": "integer"
        -      },
        -      "status": {
        -        "const": "rate_limited",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status",
        -      "retryAfterSeconds"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "status": {
        -        "enum": [
        -          "conflict",
        -          "ambiguous",
        -          "not_found"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "booking": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "recordedStatus": {
        -            "maxLength": 64,
        -            "minLength": 1,
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "recordedStatus"
        -        ],
        -        "type": "object"
        -      },
        -      "bookingKey": {
        -        "maxLength": 128,
        -        "minLength": 1,
        -        "type": "string"
        -      },
        -      "bookingReference": {
        -        "minLength": 1,
        -        "type": "string"
        -      },
        -      "customerPortalUrl": {
        -        "format": "uri",
        -        "type": "string"
        -      },
        -      "fulfillment": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "chauffeurAssignmentRecorded": {
        -            "type": "boolean"
        -          },
        -          "completionRecorded": {
        -            "type": "boolean"
        -          },
        -          "vehicleAssignmentRecorded": {
        -            "type": "boolean"
        -          }
        -        },
        -        "required": [
        -          "chauffeurAssignmentRecorded",
        -          "vehicleAssignmentRecorded",
        -          "completionRecorded"
        -        ],
        -        "type": "object"
        -      },
        -      "payment": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "recordedStatus": {
        -            "maxLength": 64,
        -            "minLength": 1,
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "recordedStatus"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "const": "available",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status",
        -      "bookingKey",
        -      "bookingReference",
        -      "booking",
        -      "payment",
        -      "fulfillment",
        -      "customerPortalUrl"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "bookingUrl": {
        -        "format": "uri",
        -        "type": "string"
        -      },
        -      "message": {
        -        "type": "string"
        -      },
        -      "review": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "availabilityConfirmed": {
        -            "const": false,
        -            "type": "boolean"
        -          },
        -          "code": {
        -            "enum": [
        -              "additional_requirements_review",
        -              "model_guarantee_review",
        -              "address_review",
        -              "service_scope_review",
        -              "booking_window_review",
        -              "route_review"
        -            ],
        -            "type": "string"
        -          },
        -          "customerContactRequired": {
        -            "const": false,
        -            "type": "boolean"
        -          },
        -          "nextAction": {
        -            "const": "review_requirements",
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "code",
        -          "customerContactRequired",
        -          "availabilityConfirmed",
        -          "nextAction"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "const": "review_required",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status",
        -      "bookingUrl",
        -      "message",
        -      "review"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "status": {
        -        "const": "expired",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "bookingConfirmed": {
        -        "const": false,
        -        "type": "boolean"
        -      },
        -      "checkoutUrl": {
        -        "format": "uri",
        -        "type": "string"
        -      },
        -      "customerPortalUrl": {
        -        "format": "uri",
        -        "type": "string"
        -      },
        -      "nextAction": {
        -        "type": "string"
        -      },
        -      "offer": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "completeTermsBound": {
        -            "const": true,
        -            "type": "boolean"
        -          },
        -          "currency": {
        -            "const": "EUR",
        -            "type": "string"
        -          },
        -          "customerConfirmationRequired": {
        -            "const": true,
        -            "type": "boolean"
        -          },
        -          "expiresAt": {
        -            "type": "string"
        -          },
        -          "grossTotalCents": {
        -            "maximum": 9007199254740991,
        -            "minimum": 0,
        -            "type": "integer"
        -          }
        -        },
        -        "required": [
        -          "currency",
        -          "grossTotalCents",
        -          "expiresAt",
        -          "customerConfirmationRequired",
        -          "completeTermsBound"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "const": "prepared",
        -        "type": "string"
        -      },
        -      "termsUrl": {
        -        "format": "uri",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status",
        -      "bookingConfirmed",
        -      "checkoutUrl",
        -      "termsUrl",
        -      "offer",
        -      "nextAction"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "status": {
        +        "const": "invalid_request",
        +        "description": "Input does not match this operation's contract; correct the facts before retrying.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "bookingUrl": {
        +        "description": "Published customer booking page for this provider and locale; the URL does not grant private booking access or confirm availability.",
        +        "format": "uri",
        +        "type": "string"
        +      },
        +      "status": {
        +        "const": "unavailable",
        +        "description": "The requested information could not be supplied safely; this is not vehicle-unavailability evidence.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "retryAfterSeconds": {
        +        "description": "Wait at least this many seconds, then use the same original submissionId/resumeToken pair for status or unchanged retry.",
        +        "exclusiveMinimum": 0,
        +        "maximum": 9007199254740991,
        +        "type": "integer"
        +      },
        +      "status": {
        +        "const": "pending",
        +        "description": "The original offer-intent execution is still pending; no completed offer result is available.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status",
        +      "retryAfterSeconds"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "retryAfterSeconds": {
        +        "description": "Wait at least this many seconds before retrying the unchanged submissionId/resumeToken and facts.",
        +        "exclusiveMinimum": 0,
        +        "maximum": 9007199254740991,
        +        "type": "integer"
        +      },
        +      "status": {
        +        "const": "rate_limited",
        +        "description": "Offer preparation admission was rate-limited; retry only the unchanged explicit offer intent.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status",
        +      "retryAfterSeconds"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "status": {
        +        "description": "conflict means stored intent/offer facts disagree; ambiguous means execution or bound evidence cannot safely be resolved; not_found denies access to the original submission proof. Inspect status rather than blindly creating another offer.",
        +        "enum": [
        +          "conflict",
        +          "ambiguous",
        +          "not_found"
        +        ],
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "booking": {
        +        "additionalProperties": false,
        +        "description": "Booking state read from the stored reservation; it may lag provider events.",
        +        "properties": {
        +          "recordedStatus": {
        +            "description": "Stored reservation status string. It is not a new provider confirmation.",
        +            "maxLength": 64,
        +            "minLength": 1,
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "recordedStatus"
        +        ],
        +        "type": "object"
        +      },
        +      "bookingKey": {
        +        "description": "Internal reservation ID for this selected booking. Returned in the available branch of get_offer_status/prepare_offer or an authorized booking read, not in prepared. It grants no access by itself.",
        +        "maxLength": 128,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "bookingReference": {
        +        "description": "Stored customer-visible reservation reference, falling back to bookingKey when absent. Customer OAuth accepts it only for its already-selected booking; it is not the supplier offerKey.",
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "customerPortalUrl": {
        +        "description": "Private customer-login entry for the original submission proof. This available branch also returns this booking's ID/reference; no history or write authority is granted.",
        +        "format": "uri",
        +        "type": "string"
        +      },
        +      "fulfillment": {
        +        "additionalProperties": false,
        +        "description": "Flags derived from stored assignments and status, not live fulfillment confirmation.",
        +        "properties": {
        +          "chauffeurAssignmentRecorded": {
        +            "description": "True when a chauffeur ID is stored on the reservation; it does not confirm dispatch or acceptance.",
        +            "type": "boolean"
        +          },
        +          "completionRecorded": {
        +            "description": "True only when the stored reservation status is completed; no fresh service-completion check is made.",
        +            "type": "boolean"
        +          },
        +          "vehicleAssignmentRecorded": {
        +            "description": "True when a vehicle ID is stored on the reservation; it does not confirm availability or execution.",
        +            "type": "boolean"
        +          }
        +        },
        +        "required": [
        +          "chauffeurAssignmentRecorded",
        +          "vehicleAssignmentRecorded",
        +          "completionRecorded"
        +        ],
        +        "type": "object"
        +      },
        +      "payment": {
        +        "additionalProperties": false,
        +        "description": "Recorded payment state from this booking, without a payment-provider refresh.",
        +        "properties": {
        +          "recordedStatus": {
        +            "description": "Stored reservation payment-status string; no payment or refund is initiated or newly confirmed.",
        +            "maxLength": 64,
        +            "minLength": 1,
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "recordedStatus"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "const": "available",
        +        "description": "The selected booking was accessible and its stored fields passed validation; no provider refresh occurred.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status",
        +      "bookingKey",
        +      "bookingReference",
        +      "booking",
        +      "payment",
        +      "fulfillment",
        +      "customerPortalUrl"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "bookingUrl": {
        +        "description": "Published customer booking page for this provider and locale; the URL does not grant private booking access or confirm availability.",
        +        "format": "uri",
        +        "type": "string"
        +      },
        +      "message": {
        +        "description": "Customer-language explanation of the required review.",
        +        "type": "string"
        +      },
        +      "review": {
        +        "additionalProperties": false,
        +        "description": "Structured reason and safe next step for requirements review.",
        +        "properties": {
        +          "availabilityConfirmed": {
        +            "const": false,
        +            "description": "This review result does not confirm availability.",
        +            "type": "boolean"
        +          },
        +          "code": {
        +            "description": "Reason for further requirements, model, address, service-scope, booking-window or route review; not vehicle-unavailability evidence.",
        +            "enum": [
        +              "additional_requirements_review",
        +              "model_guarantee_review",
        +              "address_review",
        +              "service_scope_review",
        +              "booking_window_review",
        +              "route_review"
        +            ],
        +            "type": "string"
        +          },
        +          "customerContactRequired": {
        +            "const": false,
        +            "description": "No customer contact is required for this price/requirements review.",
        +            "type": "boolean"
        +          },
        +          "nextAction": {
        +            "const": "review_requirements",
        +            "description": "Review the stated requirements before proceeding; do not infer acceptance or confirmed availability.",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "code",
        +          "customerContactRequired",
        +          "availabilityConfirmed",
        +          "nextAction"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "const": "review_required",
        +        "description": "Offer preparation requires review of the ride facts/requirements; availability is not confirmed.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status",
        +      "bookingUrl",
        +      "message",
        +      "review"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "status": {
        +        "const": "expired",
        +        "description": "The existing bound offer has expired; this does not extend or describe the separate resume-proof lifetime.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "bookingConfirmed": {
        +        "const": false,
        +        "description": "Offer preparation does not confirm a booking or charge the customer.",
        +        "type": "boolean"
        +      },
        +      "checkoutUrl": {
        +        "description": "Private bound offer-review page to review complete terms and explicitly confirm using the existing flow. Treat this offer link as private.",
        +        "format": "uri",
        +        "type": "string"
        +      },
        +      "customerPortalUrl": {
        +        "description": "Existing private customer-login entry with the original submissionId/resumeToken in its fragment. Keep it private; current session/proof authority is still required.",
        +        "format": "uri",
        +        "type": "string"
        +      },
        +      "nextAction": {
        +        "description": "Guidance to open checkoutUrl, review the bound terms and explicitly confirm; no confirmation occurred in this call.",
        +        "type": "string"
        +      },
        +      "offer": {
        +        "additionalProperties": false,
        +        "description": "Existing offer amount, expiry and confirmation/terms requirements.",
        +        "properties": {
        +          "completeTermsBound": {
        +            "const": true,
        +            "description": "Complete service/legal terms were verified as bound to this offer.",
        +            "type": "boolean"
        +          },
        +          "currency": {
        +            "const": "EUR",
        +            "description": "Currency of the bound offer: EUR.",
        +            "type": "string"
        +          },
        +          "customerConfirmationRequired": {
        +            "const": true,
        +            "description": "The customer must explicitly review and confirm the offer on its page.",
        +            "type": "boolean"
        +          },
        +          "expiresAt": {
        +            "description": "Stored offer expiry timestamp from offer_expires_at. Separate from the 24-hour submission resume-proof lifetime; re-review an expired or revised offer.",
        +            "type": "string"
        +          },
        +          "grossTotalCents": {
        +            "description": "Bound offer gross total in EUR cents, including applicable tax.",
        +            "maximum": 9007199254740991,
        +            "minimum": 0,
        +            "type": "integer"
        +          }
        +        },
        +        "required": [
        +          "currency",
        +          "grossTotalCents",
        +          "expiresAt",
        +          "customerConfirmationRequired",
        +          "completeTermsBound"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "const": "prepared",
        +        "description": "The existing unpaid draft and its bound offer links are ready for customer review; this branch does not return bookingKey/bookingReference.",
        +        "type": "string"
        +      },
        +      "termsUrl": {
        +        "description": "The same offer page with complete bound service/legal terms.",
        +        "format": "uri",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status",
        +      "bookingConfirmed",
        +      "checkoutUrl",
        +      "termsUrl",
        +      "offer",
        +      "nextAction"
        +    ],
        +    "type": "object"
        +  }
        +]
    • Changedquote_ride2 fields changed
      • changedInput schema / properties / offerKey / description
        Previous value: -"Optional existing published provider offer key. Selects its configured service location; not booking authority."New value: +"Optional existing published provider/supplier offer key. Selects its configured service location; it is not a customer bookingKey or bookingReference and grants no booking access."
      • changedOutput schema / oneOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "status": {
        -        "const": "invalid_request",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "bookingUrl": {
        -        "format": "uri",
        -        "type": "string"
        -      },
        -      "status": {
        -        "const": "unavailable",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "bookingUrl": {
        -        "format": "uri",
        -        "type": "string"
        -      },
        -      "retryAfterSeconds": {
        -        "exclusiveMinimum": 0,
        -        "maximum": 9007199254740991,
        -        "type": "integer"
        -      },
        -      "status": {
        -        "const": "rate_limited",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status",
        -      "bookingUrl",
        -      "retryAfterSeconds"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "bookingUrl": {
        -        "format": "uri",
        -        "type": "string"
        -      },
        -      "message": {
        -        "type": "string"
        -      },
        -      "review": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "availabilityConfirmed": {
        -            "const": false,
        -            "type": "boolean"
        -          },
        -          "code": {
        -            "enum": [
        -              "additional_requirements_review",
        -              "model_guarantee_review",
        -              "address_review",
        -              "service_scope_review",
        -              "booking_window_review",
        -              "route_review"
        -            ],
        -            "type": "string"
        -          },
        -          "customerContactRequired": {
        -            "const": false,
        -            "type": "boolean"
        -          },
        -          "nextAction": {
        -            "const": "review_requirements",
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "code",
        -          "customerContactRequired",
        -          "availabilityConfirmed",
        -          "nextAction"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "const": "review_required",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status",
        -      "bookingUrl",
        -      "message"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "bookingConfirmed": {
        -        "const": false,
        -        "type": "boolean"
        -      },
        -      "bookingUrl": {
        -        "format": "uri",
        -        "type": "string"
        -      },
        -      "nextAction": {
        -        "type": "string"
        -      },
        -      "quote": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "billableHoursPerServiceLine": {
        -            "exclusiveMinimum": 0,
        -            "type": "number"
        -          },
        -          "calculatedAt": {
        -            "type": "string"
        -          },
        -          "currency": {
        -            "type": "string"
        -          },
        -          "grossTotalCents": {
        -            "maximum": 9007199254740991,
        -            "minimum": 0,
        -            "type": "integer"
        -          },
        -          "parkingIncluded": {
        -            "type": "boolean"
        -          },
        -          "pricesIncludeVat": {
        -            "type": "boolean"
        -          },
        -          "revalidationRequired": {
        -            "const": true,
        -            "type": "boolean"
        -          },
        -          "serviceLines": {
        -            "items": {
        -              "additionalProperties": false,
        -              "properties": {
        -                "direction": {
        -                  "enum": [
        -                    "outbound",
        -                    "return"
        -                  ],
        -                  "type": "string"
        -                },
        -                "grossAmountCents": {
        -                  "maximum": 9007199254740991,
        -                  "minimum": 0,
        -                  "type": "integer"
        -                }
        -              },
        -              "required": [
        -                "direction",
        -                "grossAmountCents"
        -              ],
        -              "type": "object"
        -            },
        -            "type": "array"
        -          },
        -          "tollsIncluded": {
        -            "type": "boolean"
        -          },
        -          "vatRateBasisPoints": {
        -            "maximum": 9007199254740991,
        -            "minimum": 0,
        -            "type": "integer"
        -          },
        -          "vehicleCount": {
        -            "exclusiveMinimum": 0,
        -            "maximum": 9007199254740991,
        -            "type": "integer"
        -          }
        -        },
        -        "required": [
        -          "currency",
        -          "grossTotalCents",
        -          "pricesIncludeVat",
        -          "vatRateBasisPoints",
        -          "parkingIncluded",
        -          "tollsIncluded",
        -          "vehicleCount",
        -          "billableHoursPerServiceLine",
        -          "serviceLines",
        -          "calculatedAt",
        -          "revalidationRequired"
        -        ],
        -        "type": "object"
        -      },
        -      "status": {
        -        "const": "quoted",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status",
        -      "bookingUrl",
        -      "bookingConfirmed",
        -      "quote",
        -      "nextAction"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "status": {
        +        "const": "invalid_request",
        +        "description": "Input does not match this operation's contract; correct the facts before retrying.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "bookingUrl": {
        +        "description": "Published customer booking page for this provider and locale; the URL does not grant private booking access or confirm availability.",
        +        "format": "uri",
        +        "type": "string"
        +      },
        +      "status": {
        +        "const": "unavailable",
        +        "description": "The requested information could not be supplied safely; this is not vehicle-unavailability evidence.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "bookingUrl": {
        +        "description": "Published customer booking page for this provider and locale; the URL does not grant private booking access or confirm availability.",
        +        "format": "uri",
        +        "type": "string"
        +      },
        +      "retryAfterSeconds": {
        +        "description": "Wait at least this many seconds before retrying the same quote request.",
        +        "exclusiveMinimum": 0,
        +        "maximum": 9007199254740991,
        +        "type": "integer"
        +      },
        +      "status": {
        +        "const": "rate_limited",
        +        "description": "Quote admission is currently rate-limited; no quote was returned.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status",
        +      "bookingUrl",
        +      "retryAfterSeconds"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "bookingUrl": {
        +        "description": "Published customer booking page for this provider and locale; the URL does not grant private booking access or confirm availability.",
        +        "format": "uri",
        +        "type": "string"
        +      },
        +      "message": {
        +        "description": "Customer-language explanation of the required review.",
        +        "type": "string"
        +      },
        +      "review": {
        +        "additionalProperties": false,
        +        "description": "Structured review reason and next step when supplied; not an availability confirmation.",
        +        "properties": {
        +          "availabilityConfirmed": {
        +            "const": false,
        +            "description": "This review result does not confirm availability.",
        +            "type": "boolean"
        +          },
        +          "code": {
        +            "description": "Reason for further requirements, model, address, service-scope, booking-window or route review; not vehicle-unavailability evidence.",
        +            "enum": [
        +              "additional_requirements_review",
        +              "model_guarantee_review",
        +              "address_review",
        +              "service_scope_review",
        +              "booking_window_review",
        +              "route_review"
        +            ],
        +            "type": "string"
        +          },
        +          "customerContactRequired": {
        +            "const": false,
        +            "description": "No customer contact is required for this price/requirements review.",
        +            "type": "boolean"
        +          },
        +          "nextAction": {
        +            "const": "review_requirements",
        +            "description": "Review the stated requirements before proceeding; do not infer acceptance or confirmed availability.",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "code",
        +          "customerContactRequired",
        +          "availabilityConfirmed",
        +          "nextAction"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "const": "review_required",
        +        "description": "The ride facts or requirements require further review; no availability conclusion is made.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status",
        +      "bookingUrl",
        +      "message"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "bookingConfirmed": {
        +        "const": false,
        +        "description": "A quote does not confirm or create a booking.",
        +        "type": "boolean"
        +      },
        +      "bookingUrl": {
        +        "description": "Published customer booking page for this provider and locale; the URL does not grant private booking access or confirm availability.",
        +        "format": "uri",
        +        "type": "string"
        +      },
        +      "nextAction": {
        +        "description": "Guidance to proceed only to an explicitly requested offer after reviewing the preview.",
        +        "type": "string"
        +      },
        +      "quote": {
        +        "additionalProperties": false,
        +        "description": "Calculated price preview and tax/inclusion breakdown; no reservation or availability confirmation.",
        +        "properties": {
        +          "billableHoursPerServiceLine": {
        +            "description": "Billable hours used for each calculated service line.",
        +            "exclusiveMinimum": 0,
        +            "type": "number"
        +          },
        +          "calculatedAt": {
        +            "description": "Timestamp of this preview calculation, not a guaranteed price-validity window.",
        +            "type": "string"
        +          },
        +          "currency": {
        +            "description": "Currency of the price preview.",
        +            "type": "string"
        +          },
        +          "grossTotalCents": {
        +            "description": "Gross total of the preview in the returned currency's minor units (EUR cents).",
        +            "maximum": 9007199254740991,
        +            "minimum": 0,
        +            "type": "integer"
        +          },
        +          "parkingIncluded": {
        +            "description": "Whether parking costs are included in the preview.",
        +            "type": "boolean"
        +          },
        +          "pricesIncludeVat": {
        +            "description": "Whether the returned price includes VAT.",
        +            "type": "boolean"
        +          },
        +          "revalidationRequired": {
        +            "const": true,
        +            "description": "Revalidate price and terms before preparing or confirming an offer.",
        +            "type": "boolean"
        +          },
        +          "serviceLines": {
        +            "description": "Price breakdown by outbound/return service line.",
        +            "items": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "direction": {
        +                  "description": "The outbound or return leg priced by this service line.",
        +                  "enum": [
        +                    "outbound",
        +                    "return"
        +                  ],
        +                  "type": "string"
        +                },
        +                "grossAmountCents": {
        +                  "description": "Gross price for this service line in the returned currency's minor units.",
        +                  "maximum": 9007199254740991,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                }
        +              },
        +              "required": [
        +                "direction",
        +                "grossAmountCents"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "tollsIncluded": {
        +            "description": "Whether toll costs are included in the preview.",
        +            "type": "boolean"
        +          },
        +          "vatRateBasisPoints": {
        +            "description": "VAT rate in basis points: 10000 basis points equal 100 percent.",
        +            "maximum": 9007199254740991,
        +            "minimum": 0,
        +            "type": "integer"
        +          },
        +          "vehicleCount": {
        +            "description": "Vehicle count used in this price calculation, not confirmed vehicle availability.",
        +            "exclusiveMinimum": 0,
        +            "maximum": 9007199254740991,
        +            "type": "integer"
        +          }
        +        },
        +        "required": [
        +          "currency",
        +          "grossTotalCents",
        +          "pricesIncludeVat",
        +          "vatRateBasisPoints",
        +          "parkingIncluded",
        +          "tollsIncluded",
        +          "vehicleCount",
        +          "billableHoursPerServiceLine",
        +          "serviceLines",
        +          "calculatedAt",
        +          "revalidationRequired"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "const": "quoted",
        +        "description": "A price preview was calculated; it must be revalidated before an actual offer.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status",
        +      "bookingUrl",
        +      "bookingConfirmed",
        +      "quote",
        +      "nextAction"
        +    ],
        +    "type": "object"
        +  }
        +]
  5. 5 tool updates
    • Changedget_booking_history3 fields changed
      • changedInput schema / properties / after / description
        Previous value: -"Omit for the newest page. For older events, copy the returned nextCursor unchanged."New value: +"Omit for the newest page. For older events, copy the preceding non-null nextCursor unchanged. Stop when nextCursor is null."
      • addedInput schema / properties / bookingKey / description
        Added value: +"Internal booking ID for the one selected booking. At the customer OAuth endpoint, its visible bookingReference is accepted too. Use a value returned for that same booking; the identifier grants no access by itself."
      • changedInput schema / properties / limit / description
        Previous value: -"Maximum entries in this page, 1–50; defaults to20. Does not change the authorized booking."New value: +"Maximum entries in this page, 1–50; defaults to 20. The selected booking stays unchanged."
    • Changedget_booking_payment_review1 field changed
      • addedInput schema / properties / bookingKey / description
        Added value: +"Internal booking ID for the one selected booking. At the customer OAuth endpoint, its visible bookingReference is accepted too. Use a value returned for that same booking; the identifier grants no access by itself."
    • Changedget_booking_status1 field changed
      • addedInput schema / properties / bookingKey / description
        Added value: +"Internal booking ID for the one selected booking. At the customer OAuth endpoint, its visible bookingReference is accepted too. Use a value returned for that same booking; the identifier grants no access by itself."
    • Changedprepare_booking_cancellation2 fields changed
      • addedInput schema / properties / bookingKey / description
        Added value: +"Internal booking ID or visible bookingReference of the one booking already selected by this OAuth connection. Copy a returned ID or reference for that same booking; it grants no access to another booking."
      • addedInput schema / properties / onceKey / description
        Added value: +"Caller-chosen retry key: 16–128 characters from A–Z, a–z, 0–9, underscore or hyphen. Reuse it for the same booking, action and unchanged request facts; use a fresh key for changed facts. It grants no execution authority."
    • Changedprepare_booking_change3 fields changed
      • addedInput schema / properties / amendment / description
        Added value: +"Full proposed ride request in the existing quote-input shape, including all required ride fields. Review these exact facts in the linked original signed-in session before separate action consent and confirmation."
      • addedInput schema / properties / bookingKey / description
        Added value: +"Internal booking ID or visible bookingReference of the one booking already selected by this OAuth connection. Copy a returned ID or reference for that same booking; it grants no access to another booking."
      • addedInput schema / properties / onceKey / description
        Added value: +"Caller-chosen retry key: 16–128 characters from A–Z, a–z, 0–9, underscore or hyphen. Reuse it for the same booking, action and unchanged request facts; use a fresh key for changed facts. It grants no execution authority."
  6. 5 tool updates
    • Addedget_booking_history
    • Addedget_booking_payment_review
    • Addedget_booking_status
    • Addedprepare_booking_cancellation
    • Addedprepare_booking_change
  7. 1 tool update
    • Changedprepare_offer1 field changed
      • changedInput schema / properties / contact / properties / email / pattern
        Previous value: -"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"New value: +"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
  8. 4 tool updates
    • Changedget_customer_policy1 field changed
      • addedInput schema / properties / offerKey
        Added value: +{
        +  "description": "Optional existing published provider offer key. Selects its configured service location; not booking authority.",
        +  "pattern": "^[a-z0-9][a-z0-9_-]{0,79}$",
        +  "type": "string"
        +}
    • Changedget_service_options2 fields changed
      • addedInput schema / properties / offerKey
        Added value: +{
        +  "description": "Optional existing published provider offer key. Selects its configured service location; not booking authority.",
        +  "pattern": "^[a-z0-9][a-z0-9_-]{0,79}$",
        +  "type": "string"
        +}
      • changedOutput schema / oneOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "status": {
        -        "const": "invalid_request",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "bookingUrl": {
        -        "format": "uri",
        -        "type": "string"
        -      },
        -      "status": {
        -        "const": "unavailable",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "bookingUrl": {
        -        "format": "uri",
        -        "type": "string"
        -      },
        -      "hourlyRideFacts": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "nextAction": {
        -        "type": "string"
        -      },
        -      "provider": {
        -        "type": "string"
        -      },
        -      "requiredRideFacts": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "returnRideFacts": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "services": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "availability": {
        -              "const": "requires_offer_review",
        -              "type": "string"
        -            },
        -            "key": {
        -              "type": "string"
        -            },
        -            "tripTypes": {
        -              "items": {
        -                "enum": [
        -                  "one_way",
        -                  "return"
        -                ],
        -                "type": "string"
        -              },
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "key",
        -            "tripTypes",
        -            "availability"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "status": {
        -        "const": "available",
        -        "type": "string"
        -      },
        -      "timeZone": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "status",
        -      "provider",
        -      "timeZone",
        -      "bookingUrl",
        -      "services",
        -      "requiredRideFacts",
        -      "returnRideFacts",
        -      "hourlyRideFacts",
        -      "nextAction"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "status": {
        +        "const": "invalid_request",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "bookingUrl": {
        +        "format": "uri",
        +        "type": "string"
        +      },
        +      "status": {
        +        "const": "unavailable",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "bookingUrl": {
        +        "format": "uri",
        +        "type": "string"
        +      },
        +      "hourlyRideFacts": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "location": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "countryCode": {
        +            "type": "string"
        +          },
        +          "key": {
        +            "type": "string"
        +          },
        +          "label": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "key",
        +          "countryCode",
        +          "label"
        +        ],
        +        "type": "object"
        +      },
        +      "nextAction": {
        +        "type": "string"
        +      },
        +      "provider": {
        +        "type": "string"
        +      },
        +      "requiredRideFacts": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "returnRideFacts": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "services": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "availability": {
        +              "const": "requires_offer_review",
        +              "type": "string"
        +            },
        +            "key": {
        +              "type": "string"
        +            },
        +            "tripTypes": {
        +              "items": {
        +                "enum": [
        +                  "one_way",
        +                  "return"
        +                ],
        +                "type": "string"
        +              },
        +              "type": "array"
        +            }
        +          },
        +          "required": [
        +            "key",
        +            "tripTypes",
        +            "availability"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "status": {
        +        "const": "available",
        +        "type": "string"
        +      },
        +      "timeZone": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status",
        +      "provider",
        +      "timeZone",
        +      "bookingUrl",
        +      "services",
        +      "requiredRideFacts",
        +      "returnRideFacts",
        +      "hourlyRideFacts",
        +      "nextAction"
        +    ],
        +    "type": "object"
        +  }
        +]
    • Changedprepare_offer10 fields changed
      • addedInput schema / properties / offerKey
        Added value: +{
        +  "description": "Optional existing published provider offer key. Selects its configured service location; not booking authority.",
        +  "pattern": "^[a-z0-9][a-z0-9_-]{0,79}$",
        +  "type": "string"
        +}
      • changedInput schema / properties / ride / description
        Previous value: -"Complete ride facts for a transfer, return transfer or hourly service. Distinct pickup/destination and valid local dates/times are required."New value: +"Ride facts with distinct pickup/destination and valid local dates/times. Return requires returnDate/returnTime after pickup; one_way omits both. Hourly requires one_way and hours; transfers omit hours."
      • changedInput schema / properties / ride / properties / flightNumber / description
        Previous value: -"Optional flight number for the airport ride, such as LH123; at most 240 characters."New value: +"Flight number for an airport pickup, such as LH123; omit when not applicable."
      • changedInput schema / properties / ride / properties / hours / description
        Previous value: -"Booked hourly-service duration, integer 1–24 hours; required with serviceType=hourly and forbidden for transfers."New value: +"Booked duration for hourly service; omit for transfers."
      • changedInput schema / properties / ride / properties / luggage / description
        Previous value: -"Optional luggage count/type or fit requirements, at most 240 characters; unusual luggage may require review."New value: +"Luggage count/type or fit requirements; unusual luggage may require review."
      • changedInput schema / properties / ride / properties / passengers / description
        Previous value: -"Total passenger count, integer 1–60; vehicle requirements and acceptance are evaluated separately."New value: +"Total people travelling; determines vehicle requirements, not availability or acceptance."
      • changedInput schema / properties / ride / properties / returnDate / description
        Previous value: -"Return service date YYYY-MM-DD; required only when tripType=return. The return must follow the outbound pickup."New value: +"Return pickup date in the same local format as date, in the provider timeZone; provide only for return trips, after the outbound pickup."
      • changedInput schema / properties / ride / properties / returnTime / description
        Previous value: -"Return pickup local HH:mm in the same provider timeZone; required only when tripType=return. Omit both return fields for one_way."New value: +"Return pickup time in the same local format as time and the same provider timeZone; provide only for return trips."
      • changedInput schema / properties / ride / properties / serviceType / description
        Previous value: -"Set hourly only for chauffeur service booked by duration; omit for transfers. Hourly requires tripType=one_way and hours."New value: +"Set hourly for service booked by duration; omit for transfers."
      • changedInput schema / properties / ride / properties / tripType / description
        Previous value: -"one_way for a single transfer or hourly service; return for outbound plus a separate later return transfer, requiring returnDate and returnTime."New value: +"one_way for a single transfer or hourly service; return for outbound plus a separate later return transfer."
    • Changedquote_ride10 fields changed
      • addedInput schema / properties / offerKey
        Added value: +{
        +  "description": "Optional existing published provider offer key. Selects its configured service location; not booking authority.",
        +  "pattern": "^[a-z0-9][a-z0-9_-]{0,79}$",
        +  "type": "string"
        +}
      • changedInput schema / properties / ride / description
        Previous value: -"Complete ride facts for a transfer, return transfer or hourly service. Distinct pickup/destination and valid local dates/times are required."New value: +"Ride facts with distinct pickup/destination and valid local dates/times. Return requires returnDate/returnTime after pickup; one_way omits both. Hourly requires one_way and hours; transfers omit hours."
      • changedInput schema / properties / ride / properties / flightNumber / description
        Previous value: -"Optional flight number for the airport ride, such as LH123; at most 240 characters."New value: +"Flight number for an airport pickup, such as LH123; omit when not applicable."
      • changedInput schema / properties / ride / properties / hours / description
        Previous value: -"Booked hourly-service duration, integer 1–24 hours; required with serviceType=hourly and forbidden for transfers."New value: +"Booked duration for hourly service; omit for transfers."
      • changedInput schema / properties / ride / properties / luggage / description
        Previous value: -"Optional luggage count/type or fit requirements, at most 240 characters; unusual luggage may require review."New value: +"Luggage count/type or fit requirements; unusual luggage may require review."
      • changedInput schema / properties / ride / properties / passengers / description
        Previous value: -"Total passenger count, integer 1–60; vehicle requirements and acceptance are evaluated separately."New value: +"Total people travelling; determines vehicle requirements, not availability or acceptance."
      • changedInput schema / properties / ride / properties / returnDate / description
        Previous value: -"Return service date YYYY-MM-DD; required only when tripType=return. The return must follow the outbound pickup."New value: +"Return pickup date in the same local format as date, in the provider timeZone; provide only for return trips, after the outbound pickup."
      • changedInput schema / properties / ride / properties / returnTime / description
        Previous value: -"Return pickup local HH:mm in the same provider timeZone; required only when tripType=return. Omit both return fields for one_way."New value: +"Return pickup time in the same local format as time and the same provider timeZone; provide only for return trips."
      • changedInput schema / properties / ride / properties / serviceType / description
        Previous value: -"Set hourly only for chauffeur service booked by duration; omit for transfers. Hourly requires tripType=one_way and hours."New value: +"Set hourly for service booked by duration; omit for transfers."
      • changedInput schema / properties / ride / properties / tripType / description
        Previous value: -"one_way for a single transfer or hourly service; return for outbound plus a separate later return transfer, requiring returnDate and returnTime."New value: +"one_way for a single transfer or hourly service; return for outbound plus a separate later return transfer."

Publisher details

Operator
Samuelz®, operated by Glöggl GmbH · Publisher source
Vendor relationship
First-party · Publisher source
Trust center
Unknown
Restrictions
Public service information, policies and price previews need no login or API key. This is a live API (no sandbox) for Munich/MUC; REST and MCP share a limited pilot allowance. Preparing an unpaid offer requires an explicit customer request and email OR E.164 phone. Customers review bound terms and confirm in Samuelz checkout; MCP does not take payment. Booking status, payment review, history, amendment and cancellation require customer OAuth and object-level authorization; amendments and cancellations additionally require the applicable object-bound consent. Automated amendments currently support price-neutral changes; price differences require review. Tool discovery is public. Issued tenant-bound partner attribution capabilities are optional for ordinary customers. · Publisher source

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources