Especificação da reserva

Para agendar um horário, uma locação é convertida em um agendamento. As informações sobre o cliente (usuário) que está fazendo o agendamento são transferidas nessa etapa. Depois que uma locação é usada uma vez para criar um agendamento, ela é desativada e não pode mais ser utilizada.

// A booking for an inventory slot
message Booking {
  // 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;
}