É comum que os restaurantes tenham áreas de estar distintas, como um bar pátio A Central de ações permite essa distinção e permite que o usuário especifique a área para reservar uma mesa. Um exemplo disso é mostrado abaixo, em que a disponibilidade do "Bar" e do "Patio" são diferentes e são apresentadas ao cada usuário de forma distinta:
![Figura 1: exemplo de seleção de slot para um restaurante com seções de assentos](https://developers.google.cn/static/actions-center/images/reservation_selection_panel.png?hl=pt-br)
Essa separação de inventário pode ser empregada definindo a propriedade
Campos room_id
e room_name
no resources
de um
Espaço de disponibilidade.
// A resource is used to disambiguate availability slots from one another when // different staff, room or party_size values are part of the service. // Multiple slots for the same service and time interval can co-exist when they // have different resources. message Resources { // One of staff_id, room_id, or party_size must be set. // Optional ID for a staff member providing the service. This field identifies // the staff member across all merchants, services, and availability records. // It also needs to be stable over time to allow correlation with past // bookings. (optional but required if staff_name is present) string staff_id = 1; // Optional name of a staff member providing the service. This field will be // displayed to users making a booking, and should be human-readable, as // opposed to an opaque identifier. (optional but required if staff_id is // present) string staff_name = 2; // An optional ID for the room the service is located in. This field // identifies the room across all merchants, services, and availability // records. It also needs to be stable over time to allow correlation with // past bookings. (optional but required if room_name is present) string room_id = 3; // An optional name for the room the service is located in. This // field will be displayed to users making a booking, and should be human // readable, as opposed to an opaque identifier. (optional but required if // room_id is present) // In dining a room name should only be used for seating areas such as the bar // or patio and should not be used for fixed price menus, special activities, // or any other non-room value (such as reservation or dinner). It is strongly // recommended that the default seating area not have a room associated with // it. string room_name = 4; // Applicable only for Dining: The party size that can be accommodated // during this time slot. A restaurant can be associated with multiple Slots // for the same time, each specifying a different party_size, if for instance // 2, 3, or 4 people can be seated with a reservation. (optional) int32 party_size = 5; }
Essa informação é parte integrante da definição de slots e precisará
ser incluídos nos feeds, bem como todas as reservas e atualizações em tempo real
as operações. Confira exemplos de room_id
e room_name
sendo especificados
no
Exemplo de feed de restaurantes específico à indústria.