Slot definition

  • A Slot message defines the information needed to identify an inventory slot, including merchant and service IDs, start time, and duration.

  • Optional fields within the Slot message include an availability tag, a set of resource identifiers, and a confirmation mode.

  • The ResourceIds message provides specific details that further clarify an appointment slot, such as staff ID, room ID, and party size for dining reservations.

Slot contains the information to identify an inventory slot.

Slot Definition

// An inventory slot
message Slot {
  // ID of the merchant for the slot (required for CreateBooking)
  string merchant_id = 1;

  // ID of the merchant Service (required for CreateBooking)
  string service_id = 2;

  // Start time of the appointment slot in seconds of UTC time since Unix epoch.
  // (required for CreateBooking)
  int64 start_sec = 3;

  // Duration of the appointment slot (required for CreateBooking)
  int64 duration_sec = 4;

  // Opaque tag that identifies the availability slot and matches the value
  // provided in the availability feed (optional)
  string availability_tag = 5;

  // The set of resources that disambiguates the appointment slot, e.g. by
  // indicating the staff member and room selected by the user (optional)
  ResourceIds resources = 6;

  // Indicates whether bookings of this slot will be confirmed
  // synchronously or asynchronously. (optional)
  // An UNSPECIFIED value will be interpreted as synchronous.
  ConfirmationMode confirmation_mode = 7;
}

Resources Definition

// Resource specification that disambiguates an appointment slot
message ResourceIds {
  // The staff ID as provided in the feed or empty if not applicable or no staff
  // was selected. (optional)
  string staff_id = 1;

  // The room ID as provided in the feed or empty if not applicable or no room
  // was selected. (optional)
  string room_id = 2;

  // For Dining Reservations only: the number of seats requested in the booking.
  // (optional)
  int32 party_size = 3;
}