Skip to main content
Glama

Review payment for this existing booking

get_booking_payment_review
Read-onlyIdempotent

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.

Input Schema

TableJSON 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

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema 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. Changed2 schema 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"
      +  }
      +]
  3. Changed1 schema 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."
  4. Added

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources