CreateBooking-Methode

Anfrage

CreateBookingRequest

Rückgabewert

CreateBookingResponse

Nebeneffekte

"CreateBooking" verbraucht eine Lease. Diese wird dadurch ungültig und kann nicht für weitere Buchungen verwendet werden.

Kanonische gRPC-Fehlercodes

  • INVALID_ARGUMENT: Die angegebene "ClientInformation" ist ungültig, z. B. aufgrund fehlender Felder.
  • NOT_FOUND: Die angegebene Lease-ID ist ungültig.
  • RESOURCE_EXHAUSTED: Der Slot ist nach der Erstellung der Lease doch nicht mehr verfügbar, z. B. aufgrund eines Buchungskonflikts.
  • ALREADY_EXISTS: Der Client hat bereits eine Buchung für den Slot.
// Request to create a [ext.maps.booking.partner.v0.Booking] for an inventory
// slot. Consumes the lease.
message CreateBookingRequest {
  // The lease that is being confirmed to make this booking
  LeaseReference lease_ref = 1;

  // Personal information of the client making the appointment
  ClientInformation client_information = 2;

  // Information about payments. If the booking request does not succeed,
  // payment authorizations are automatically canceled.
  PaymentInformation payment_information = 3;

  // 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).
  PaymentProcessingParameters payment_processing_parameters = 4;
}

// Response with the created [ext.maps.booking.partner.v0.Booking] for an
// inventory slot
message CreateBookingResponse {
  // The created booking
  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.
  UserPaymentOption user_payment_option = 2;
}