Skip to main content
Glama

Read prepared offer status

get_offer_status
Read-onlyIdempotent

Use this when recovering a submitted offer after a timeout or on return. Do not use for new requests (use prepare_offer instead).

For rides A then B, pair A's submissionId with A's resumeToken to read A, even after B. Recovery preserves the original language: there is no locale override.

pending: retry after retryAfterSeconds; prepared: private checkout/terms links; available: recorded booking state. not_found does not prove creation failed: check the pair and provider before another attempt.

The private pair authorizes this stored read without login and expires 24 hours after first submission. There is no provider refresh. Recorded flags do not prove fresh payment or availability.

Input Schema

NameRequiredDescriptionDefault
resumeTokenYesOriginal private 64-character hexadecimal resumeToken sent with this submissionId. Reuse it unchanged; never generate a replacement. Expired, invalid or foreign-provider proof can return not_found without proving that no booking exists.
submissionIdYesOriginal submissionId UUID sent to prepare_offer for this attempt, including when its response was lost. Reuse it with the original resumeToken; do not generate a new ID or substitute a booking ID.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / resumeToken / description
      Previous value: -"Caller-generated private secret of 64 hexadecimal characters. Generate once, retain it with submissionId for recovery, and never share the pair publicly or replace it on uncertain retries."New value: +"Original private 64-character hexadecimal resumeToken sent with this submissionId. Reuse it unchanged; never generate a replacement. Expired, invalid or foreign-provider proof can return not_found without proving that no booking exists."
    • changedInput schema / properties / submissionId / description
      Previous value: -"Create one UUID for one explicitly requested offer, for example 123e4567-e89b-42d3-a456-426614174000. Retain it with the original resumeToken and unchanged request on retries."New value: +"Original submissionId UUID sent to prepare_offer for this attempt, including when its response was lost. Reuse it with the original resumeToken; do not generate a new ID or substitute a booking ID."
  2. Changed2 schema fields changed
    • changedInput schema / properties / resumeToken / description
      Previous value: -"Private 64-hex secret. Keep the original pair."New value: +"Caller-generated private secret of 64 hexadecimal characters. Generate once, retain it with submissionId for recovery, and never share the pair publicly or replace it on uncertain retries."
    • changedInput schema / properties / submissionId / description
      Previous value: -"UUID for one explicit offer. Reuse it on retries."New value: +"Create one UUID for one explicitly requested offer, for example 123e4567-e89b-42d3-a456-426614174000. Retain it with the original resumeToken and unchanged request on retries."
  3. Changed3 schema fields changed
    • changedInput schema / properties / resumeToken / description
      Previous 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."New value: +"Private 64-hex secret. Keep the original pair."
    • changedInput schema / properties / submissionId / description
      Previous 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."New value: +"UUID for one explicit offer. Reuse it on retries."
    • 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": {
      -      "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"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "status": {
      +        "const": "invalid_request",
      +        "description": "Input does not match this operation.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "status"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "bookingUrl": {
      +        "description": "Booking page for this locale.",
      +        "format": "uri",
      +        "type": "string"
      +      },
      +      "status": {
      +        "const": "unavailable",
      +        "description": "This read could not be completed safely.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "status"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "bookingUrl": {
      +        "description": "Booking page for this locale.",
      +        "format": "uri",
      +        "type": "string"
      +      },
      +      "locations": {
      +        "description": "Areas this business currently publishes.",
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "areas": {
      +              "description": "Areas that can be quoted.",
      +              "items": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "id": {
      +                    "description": "Published area id.",
      +                    "type": "string"
      +                  },
      +                  "label": {
      +                    "description": "Area label for the locale.",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "id",
      +                  "label"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "countryCode": {
      +              "description": "Country code, when set.",
      +              "type": "string"
      +            },
      +            "key": {
      +              "description": "Service-location key.",
      +              "type": "string"
      +            },
      +            "label": {
      +              "description": "Location label for the locale.",
      +              "type": "string"
      +            },
      +            "timeZone": {
      +              "description": "Time zone of this location.",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "key",
      +            "countryCode",
      +            "timeZone",
      +            "label",
      +            "areas"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "nextAction": {
      +        "description": "Use a published area. Do not invent a price.",
      +        "type": "string"
      +      },
      +      "reason": {
      +        "const": "outside_service_area",
      +        "description": "Price withheld because the request is outside the served area.",
      +        "type": "string"
      +      },
      +      "status": {
      +        "const": "outside_service_area",
      +        "description": "No price: outside the published areas.",
      +        "type": "string"
      +      },
      +      "timeZone": {
      +        "description": "Time zone used for this decision.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "status",
      +      "reason",
      +      "bookingUrl",
      +      "timeZone",
      +      "locations",
      +      "nextAction"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "retryAfterSeconds": {
      +        "description": "Seconds to wait, then reuse the same pair.",
      +        "exclusiveMinimum": 0,
      +        "maximum": 9007199254740991,
      +        "type": "integer"
      +      },
      +      "status": {
      +        "const": "pending",
      +        "description": "This offer intent is still pending.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "status",
      +      "retryAfterSeconds"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "retryAfterSeconds": {
      +        "description": "Seconds to wait before the same retry.",
      +        "exclusiveMinimum": 0,
      +        "maximum": 9007199254740991,
      +        "type": "integer"
      +      },
      +      "status": {
      +        "const": "rate_limited",
      +        "description": "Offer admission is rate-limited.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "status",
      +      "retryAfterSeconds"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "status": {
      +        "description": "conflict, ambiguous, or not_found. Do not create another offer.",
      +        "enum": [
      +          "conflict",
      +          "ambiguous",
      +          "not_found"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "status"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "booking": {
      +        "additionalProperties": false,
      +        "description": "Stored booking state.",
      +        "properties": {
      +          "recordedStatus": {
      +            "description": "Stored reservation status.",
      +            "maxLength": 64,
      +            "minLength": 1,
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "recordedStatus"
      +        ],
      +        "type": "object"
      +      },
      +      "bookingKey": {
      +        "description": "Stored reservation id. It grants no access alone.",
      +        "maxLength": 128,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "bookingReference": {
      +        "description": "Customer reference, or the reservation id.",
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "customerPortalUrl": {
      +        "description": "Private login for this submission proof.",
      +        "format": "uri",
      +        "type": "string"
      +      },
      +      "fulfillment": {
      +        "additionalProperties": false,
      +        "description": "Stored assignment flags.",
      +        "properties": {
      +          "chauffeurAssignmentRecorded": {
      +            "description": "A driver id is stored.",
      +            "type": "boolean"
      +          },
      +          "completionRecorded": {
      +            "description": "Stored status is completed.",
      +            "type": "boolean"
      +          },
      +          "vehicleAssignmentRecorded": {
      +            "description": "A vehicle id is stored.",
      +            "type": "boolean"
      +          }
      +        },
      +        "required": [
      +          "chauffeurAssignmentRecorded",
      +          "vehicleAssignmentRecorded",
      +          "completionRecorded"
      +        ],
      +        "type": "object"
      +      },
      +      "payment": {
      +        "additionalProperties": false,
      +        "description": "Stored payment state.",
      +        "properties": {
      +          "recordedStatus": {
      +            "description": "Stored payment status.",
      +            "maxLength": 64,
      +            "minLength": 1,
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "recordedStatus"
      +        ],
      +        "type": "object"
      +      },
      +      "status": {
      +        "const": "available",
      +        "description": "Stored booking fields passed validation.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "status",
      +      "bookingKey",
      +      "bookingReference",
      +      "booking",
      +      "payment",
      +      "fulfillment",
      +      "customerPortalUrl"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "bookingUrl": {
      +        "description": "Booking page for this locale.",
      +        "format": "uri",
      +        "type": "string"
      +      },
      +      "message": {
      +        "description": "Why review is required.",
      +        "type": "string"
      +      },
      +      "review": {
      +        "additionalProperties": false,
      +        "description": "Structured review and next step.",
      +        "properties": {
      +          "availabilityConfirmed": {
      +            "const": false,
      +            "description": "Availability is not confirmed.",
      +            "type": "boolean"
      +          },
      +          "code": {
      +            "description": "Which requirement needs review.",
      +            "enum": [
      +              "additional_requirements_review",
      +              "model_guarantee_review",
      +              "address_review",
      +              "service_scope_review",
      +              "booking_window_review",
      +              "route_review"
      +            ],
      +            "type": "string"
      +          },
      +          "customerContactRequired": {
      +            "const": false,
      +            "description": "No contact is required for this review.",
      +            "type": "boolean"
      +          },
      +          "nextAction": {
      +            "const": "review_requirements",
      +            "description": "Review the requirements before continuing.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "code",
      +          "customerContactRequired",
      +          "availabilityConfirmed",
      +          "nextAction"
      +        ],
      +        "type": "object"
      +      },
      +      "status": {
      +        "const": "review_required",
      +        "description": "Offer preparation needs review.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "status",
      +      "bookingUrl",
      +      "message",
      +      "review"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "status": {
      +        "const": "expired",
      +        "description": "The bound offer has expired.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "status"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "bookingConfirmed": {
      +        "const": false,
      +        "description": "Preparation does not confirm or charge.",
      +        "type": "boolean"
      +      },
      +      "checkoutUrl": {
      +        "description": "Private page where the customer confirms.",
      +        "format": "uri",
      +        "type": "string"
      +      },
      +      "customerPortalUrl": {
      +        "description": "Private customer login for this submission.",
      +        "format": "uri",
      +        "type": "string"
      +      },
      +      "nextAction": {
      +        "description": "Open the offer page and let the customer confirm.",
      +        "type": "string"
      +      },
      +      "offer": {
      +        "additionalProperties": false,
      +        "description": "Bound offer amount and expiry.",
      +        "properties": {
      +          "completeTermsBound": {
      +            "const": true,
      +            "description": "Complete terms are bound to this offer.",
      +            "type": "boolean"
      +          },
      +          "currency": {
      +            "const": "EUR",
      +            "description": "Offer currency: EUR.",
      +            "type": "string"
      +          },
      +          "customerConfirmationRequired": {
      +            "const": true,
      +            "description": "The customer must confirm on the offer page.",
      +            "type": "boolean"
      +          },
      +          "expiresAt": {
      +            "description": "When this bound offer expires.",
      +            "type": "string"
      +          },
      +          "grossTotalCents": {
      +            "description": "Bound gross total in euro cents.",
      +            "maximum": 9007199254740991,
      +            "minimum": 0,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "currency",
      +          "grossTotalCents",
      +          "expiresAt",
      +          "customerConfirmationRequired",
      +          "completeTermsBound"
      +        ],
      +        "type": "object"
      +      },
      +      "status": {
      +        "const": "prepared",
      +        "description": "Unpaid offer links are ready for review.",
      +        "type": "string"
      +      },
      +      "termsUrl": {
      +        "description": "Same page, including the bound terms.",
      +        "format": "uri",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "status",
      +      "bookingConfirmed",
      +      "checkoutUrl",
      +      "termsUrl",
      +      "offer",
      +      "nextAction"
      +    ],
      +    "type": "object"
      +  }
      +]
  4. Changed3 schema 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"
      +  }
      +]
  5. Changed2 schema fields changed
    • changedInput schema / properties / resumeToken / description
      Previous value: -"Client-generated 64-character hexadecimal secret for this submission. Keep private; reuse the exact submissionId/token pair for retries and status. Not an account or booking-history credential."New value: +"Private 64-character hexadecimal secret generated for this submission. Reuse its original pair with submissionId for retries and status; never substitute account credentials."
    • changedInput schema / properties / submissionId / description
      Previous value: -"Client-generated UUID identifying exactly one offer intent. Reuse unchanged with the same resumeToken for prepare retries and get_offer_status; changed ride/contact needs a new UUID."New value: +"Identifies one offer intent. Generate a UUID for a requested new offer; keep it with the same resumeToken for unchanged retries and status."
  6. Changed1 schema field changed
    • 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": {
      -      "status": {
      -        "const": "expired",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "status"
      -    ],
      -    "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": {
      +        "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"
      +  }
      +]
  7. Changed2 schema fields changed
    • addedInput schema / properties / resumeToken / description
      Added value: +"Client-generated 64-character hexadecimal secret for this submission. Keep private; reuse the exact submissionId/token pair for retries and status. Not an account or booking-history credential."
    • addedInput schema / properties / submissionId / description
      Added value: +"Client-generated UUID identifying exactly one offer intent. Reuse unchanged with the same resumeToken for prepare retries and get_offer_status; changed ride/contact needs a new UUID."
  8. Changed1 schema field changed
    • 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": {
      -      "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": {
      +        "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": {
      +      "status": {
      +        "const": "expired",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "status"
      +    ],
      +    "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"
      +  }
      +]
  9. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent, but the description adds context the annotations cannot: the pair authorizes the read without login, expires 24 hours after first submission, and there is no provider refresh. It also explains the semantics of pending/prepared/available and warns that not_found does not prove creation failed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the usage decision, then the pairing rule, then status meanings, then authorization/expiry. It is dense but every sentence carries a distinct constraint; the status glossary is the only part that could be tightened.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return shape need not be explained, yet the description still covers the states an agent will encounter, the auth model, expiry, and the not_found ambiguity. Nothing needed to call this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% so the baseline is 3, but the description adds a real pairing rule beyond the schema: pair A's submissionId with A's resumeToken to read A even after B, and note that recovery preserves the original language with no locale override. That is genuine added meaning rather than restatement.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('read' a 'prepared offer status') scoped to recovery of a previously submitted offer. It explicitly names the sibling it is not (prepare_offer) so an agent can route without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives the triggering condition ('recovering a submitted offer after a timeout or on return') and an explicit exclusion with the correct alternative ('Do not use for new requests, use prepare_offer'). It also gives a caveat about when a re-attempt is warranted.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources