Other specifications

The set of Resources, i.e., staff and room that are selected by user, is provided in order to disambiguate Slots.

// 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;
}

Additional AvailabilityUpdate messages that can be provided as part of the CheckAvailabilityResponse

// An update to one ore more slots indicating that the availability for the
// associated time has potentially changed.
message AvailabilityUpdate {
  repeated SlotAvailability slot_availability = 1;
}

SlotAvailability

// An inventory slot and associated count of open spots.
message SlotAvailability {
  Slot slot = 1;
  // Number of available spots.
  // 0 indicates that the appointment slot is not available. (required)
  int32 count_available = 2;
}