Ajouter des sections de tables

Il est courant que les restaurants possèdent des coins salon séparés, tels qu'un bar ou un patio. Réserver avec Google permet d'effectuer cette distinction et permet à l'utilisateur de spécifier la région dans laquelle il est possible de réserver une table. Voici un exemple:

Figure 1: Exemple de sélection d'emplacements pour un restaurant avec sections de tables
Figure 1 : Exemple de sélection d'emplacements pour un restaurant avec des tables en terrasse

Vous pouvez utiliser cette séparation d'inventaire en définissant les champs room_id et room_name dans le message resources d'un emplacement de disponibilité.

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

Ces informations font partie intégrante d'une définition d'emplacements et doivent être incluses dans les flux, ainsi que dans toutes les opérations de réservation et de mise à jour en temps réel. Vous pouvez consulter des exemples de spécification de room_id et de room_name dans l'exemple de flux "Restauration, secteur et secteur".