روش ایجاد رزرو

مشتری درخواست ایجاد یک رزرو می کند. پشتیبان شریک برای اسلات درخواستی رزرو می کند، و در صورت موفقیت، یا خطای منطق تجاری (مثلاً اگر اسلات در دسترس نیست، یا اگر پرداخت نامعتبر است و غیره) در صورت شکست، اسلات را برمی گرداند.

لطفاً توجه داشته باشید که خطاهای منطق تجاری باید در قسمت CreateBookingResponse.booking_failure برگردانده شوند، نه از طریق کد پاسخ غیر 200 HTTP.

درخواست کنید

ایجاد درخواست رزرو

ارزش برگشتی

CreateBookingResponse

// Request to create a Booking for an inventory slot. Consumes the lease if
// provided.
message
CreateBookingRequest {
 
// The inventory slot that is being requested to make this booking.
 
// If lease_ref is provided, slot must match the lease; slot is provided for
 
// the partner to verify the lease information.
 
// If lease_ref is absent, then create the booking for the slot. (required)
 
Slot slot = 1;


 
// Personal information of the user making the appointment (required)
 
UserInformation user_information = 3;

 
// Information about payments. When payment authorizations are handled by
 
// Google, if the booking request does not succeed, payment authorizations are
 
// automatically canceled. (optional)
 
PaymentInformation payment_information = 4;

 
// The parameters to be used if the payment is processed by the partner
 
// (i.e. payment_information.payment_processed_by is equal to
 
// PROCESSED_BY_PARTNER). (optional)
 
PaymentProcessingParameters payment_processing_parameters = 5;

 
// Idempotency token for CreateBooking requests. (required)
 
//
 
// This uniquely identifies a booking request. Specifically:
 
// - If a booking was already created for a CreateBooking request with this
 
// idempotency token, that booking should be returned.
 
// - If no booking has been created for a CreateBooking request with this
 
// idempotency token, this should be considered to be a request for a new
 
// booking, and **no previously-created booking may be returned**.
 
//
 
// If a partner considers the requested booking to be a duplicate of a
 
// previously-created booking, this request should fail with reason
 
// BookingFailure.OVERLAPPING_RESERVATION. The partner is responsible for
 
// determining whether this duplicates a previous booking, but for example the
 
// partner may consider a booking request to be a duplicate if an existing
 
// booking has the same party size, time, and email address.
 
string idempotency_token = 6;

 
// A string from the user which contains any special requests or additional
 
// information that they would like to notify the merchant about. (optional)
 
string additional_request = 7;

 
// Partner provided offer id associated with this slot. (optional)
 
//
 
// If the offer is no longer available, the booking should not be made, and in
 
// response.booking_failure should be set to OFFER_UNAVAILABLE.
 
string offer_id = 9;

}

// Response with the created Booking for an inventory slot.
message
CreateBookingResponse {
 
// The created booking (required)
 
Booking booking = 1;

 
// The updated user payment option used in this booking.
 
// If a new payment option was purchased to pay for the booking, this should
 
// be a newly created user payment option.
 
// If an already purchased user payment option was used for this booking,
 
// this should reflect an updated version of that user payment option.
 
// (optional)
 
UserPaymentOption user_payment_option = 2;

 
// If creating a booking fails, this field should reflect the business logic
 
// error (e.g., slot has become unavailable) and all other fields in the
 
// CreateBookingResponse message are expected to be unset. (required if
 
// failure occurs)
 
BookingFailure booking_failure = 3;
}