message AvailabilityFeed {
repeated Schedule data = 1;
}
Schedule Definition
// Info about a schedule, which is a container for available slots that can be// booked using an appointment. A schedule ID should be unique and stable for a// given practitioner, facility, service type, and appointment type.// (practitioner and appointment type are optional to identify a schedule) A// AvailabilityFeed should be a list of this message.messageSchedule{// An opaque string from the partner to identify a practitioner. (required// only if booking by specific practitioner)stringpractitioner_id=1;// An opaque string from the partner to identify a facility. (required)stringfacility_id=2;// An opaque string to identify an appointment type. (required)stringappointment_type_id=4;// Ordering priority of appointment_types to display in Google Search/Map UI// for a practitioner/facility. Appointment_types with smaller priority number// will be displayed before the one with larger priority number. In the// compact UI block (E.g. only three appointment_types can be displayed),// appointment_types with lower priority might be hidden. The priority number// should be unique among the (practitioner_id, facility_id,// appointment_type_id) combination. And, they do not need to be a contiguous// integer sequence. If priority is not provided or not unique among a// (practitioner_id, facility_id, appointment_type_id) combination,// appointment_types will be displayed in the same order as the list of// schedules. (optional)int32priority=5;// All Availability Slots included in this schedule (required)repeatedAvailableSlotsavailable_slots=6;// An action URL representing the deep link to this schedule. It will redirect// users to a booking webpage with the practitioner, facility, service_type,// and appointment_type preselected. (optional)ActionLinkper_schedule_action_link=7;// ...}
ActionLink Definition
// An action URL with associated language, list of countries restricted to, and// optional platform that indicates which platform this action should be// performed on.messageActionLink{// The entry point URL for this action link. (required)stringurl=1;// The BCP-47 language tag identifying the language in which the content// from this URI is available. (optional)stringlanguage=2;// An unordered list of ISO 3166-1 alpha-2 country codes. Leave empty for// unrestricted visibility. (optional)repeatedstringrestricted_country=3;// ...}
AvailableSlots Definition
// This proto can be used to show a slot for a single visit or number of// available slot on a specific date. A slot for a single visit (30 minutes):// {start_sec: xx, duration_sec: 1800, spots_total: 1, spots_open: 1}// number of available slot on a specific date:// {start_sec: xx, duration_sec: 86400, spots_total: 7, spots_open: 10}messageAvailableSlots{// Start time of this availability, using epoch time in seconds in UTC.// (required)int64start_sec=1;// Duration of the service in seconds, e.g. 30 minutes would be 1800.// (required)int64duration_sec=2;// Number of total spots and open spots of this availability. Typically, 1.// (both required)int64spots_total=3;int64spots_open=4;// Availability scheduling rules. (optional)SchedulingRuleOverridesscheduling_rule_overrides=7;// ...}
SchedulingRuleOverrides Definition
// Availability level scheduling rules.messageSchedulingRuleOverrides{// The last time (in seconds) that this slot is able to be booked. This// timestamp must be before the start_sec of the slot. (optional)int64last_bookable_sec=1;// ...}
[null,null,["Last updated 2024-10-31 UTC."],[[["The availability feed, defined in protobuf but preferably uploaded in JSON, provides schedule information for bookable appointment slots."],["Each schedule within the feed specifies details like practitioner, facility, appointment type, and available slots."],["Available slots include start time, duration, total spots, open spots, and optional scheduling rule overrides."],["The `per_schedule_action_link` within a schedule provides a deep link to a booking webpage with pre-filled information."],["JSON sample feeds and a descriptor file are provided for reference and understanding of the feed structure."]]],[]]