Specifiche di prenotazione

Per finalizzare un appuntamento, un contratto di locazione viene convertito in una prenotazione. In questa fase vengono trasferite solo le informazioni sul cliente (utente) che effettua la prenotazione. Una volta utilizzato per creare una prenotazione, un contratto di noleggio viene ritirato e non può essere utilizzato per creare altre prenotazioni.

// A booking for an inventory slot
message Booking {
  option features.(pb.java).nest_in_file_class = YES;

  // ID of this booking
  string booking_id = 1;

  // ID of the merchant for the slot
  string merchant_id = 2;

  // ID of the merchant service
  string service_id = 3;

  // Start time of the appointment slot
  google.protobuf.Timestamp start_time = 4;

  // Duration of the appointment slot
  google.protobuf.Duration duration = 5;

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

  // Status of the booking
  BookingStatus status = 7;

  // Information about payment transactions that relate to the booking.
  PaymentInformation payment_information = 8;

  // Information about virtual session related to this booking. (optional)
  VirtualSessionInfo virtual_session_info = 9;
}