Updates an existing Booking.

HTTP request


The URL uses gRPC Transcoding syntax.

Path parameters



Resource name of the booking: partners/{partner ID}/bookings/{booking ID}

Query parameters


string (FieldMask format)

Field mask of all booking fields to be updated

This is a comma-separated list of fully qualified names of fields. Example: "user.displayName,photo".


object (BookingFailure)

If processing of an asynchronously confirmed booking request fails and the booking's status is being updated to FAILED, this field should reflect the business logic error (e.g., user has an existing reservation too close to this time). This field should only be set when updating the booking status to FAILED and will be ignored otherwise.

Request body

The request body contains an instance of Booking.

Response body

If successful, the response body contains an instance of Booking.

Authorization Scopes

Requires the following OAuth scope:



Status data that conveys why processing of a booking failed asynchronously. BookingFailure is intended to primarily capture business logic errors.

JSON representation
  "cause": enum (Cause),
  "rejectedCardType": enum (CreditCardType),
  "description": string,
  "paymentFailure": {
    object (PaymentFailureInformation)

enum (Cause)

The reason why the booking failed. (required)


enum (CreditCardType)

(required only if cause is PAYMENT_ERROR_CARD_TYPE_REJECTED)



This optional field is used for the partner to include additional information for debugging purpose only. (optional)


object (PaymentFailureInformation)

Information about payment failures.


Enumeration of failure causes.

CAUSE_UNSPECIFIED Default value: Don't use; amounts to an "unknown error"
SLOT_UNAVAILABLE The referenced availability slot is not available any longer.
SLOT_ALREADY_BOOKED_BY_USER The user has already booked an appointment for the referenced availability slot.
LEASE_EXPIRED The lease (if provided) has expired and cannot be used any longer to complete the requested booking.
OUTSIDE_CANCELLATION_WINDOW The requested cancellation cannot be performed at the current time due to time restrictions in the merchant's cancellation policy.
PAYMENT_ERROR_CARD_TYPE_REJECTED An error was encountered while processing the payment because the provided credit card type was not accepted by the merchant. The credit card type must be supplied in rejectedCardType.
PAYMENT_ERROR_CARD_DECLINED An error was encountered while processing the payment because the provided credit card was declined.
PAYMENT_OPTION_NOT_VALID An error was encountered with the pack/membership used to pay for the booking. There could be no valid uses left, it could have expired, etc.
PAYMENT_ERROR An error was encountered while processing the payment for this booking. Use this value to indicate a general payment related error, only if the error does not match to a specific payment error above.
USER_CANNOT_USE_PAYMENT_OPTION User cannot use the given payment option (e.g. user trying to use a first time price for the second time).
BOOKING_ALREADY_CANCELLED A booking that the user tried to cancel has already been cancelled.
BOOKING_NOT_CANCELLABLE A booking that the user tried to cancel is not cancellable.
OVERLAPPING_RESERVATION User has an existing reservation too close to this time.
USER_OVER_BOOKING_LIMIT Booking failed due to the user being over the aggregator's per-user bookings limit.

Set when payment is rejected because you are requesting that the transaction be tried again, but this time after undergoing 3DS1 challenge/response. Note that the current transaction's failure state will stay failed. The retry will be completely separate.

When this is the failure reason, paymentFailure.3DS1_parameters MUST be set. If it is not, then the current cause will be treated as if it were PAYMENT_ERROR.


Information about payment failures.

JSON representation
  "threeds1Parameters": {
    object (ThreeDS1Parameters)

object (ThreeDS1Parameters)

Parameters used by a RwG aggregator to initiate a 3DS1 authentication protocol with the user. Will be ignored unless BookingFailure.cause is set to PAYMENT_REQUIRES_3DS1.


Parameters requesting that RwG perform a 3DS1 challenge.

The parameters are set by EMVCo's description of the 3DS1 protocol.

JSON representation
  "acsUrl": string,
  "paReq": string,
  "transactionId": string,
  "mdMerchantData": string


The URL from which to load a form to present to the User for authentication.



A PaymentAuthentication Request. To be posted to the ACSUrl form if supplied.



An identifier used by the ACS provider. To be posted to the ACSUrl form if supplied.



Merchant data. To be posted to the ACSUrl form if supplied.