Ajouter des sections de tables

Il est courant que les restaurants possèdent des coins salon distincts, tels qu'un bar ou un patio. Le centre d'actions confirme cette distinction et permet à l'utilisateur spécifier la zone de réservation d'une table. Vous en trouverez un exemple ci-dessous, où la disponibilité pour le « Bar » et « Patio » sont différentes et sont présentées au pour l'utilisateur:

Figure 1: Exemple de sélection d'un créneau pour un restaurant doté de tables
Figure 1:Exemple d'emplacement sélection d'un restaurant avec des tables

Cette séparation des inventaires peut être employée en définissant Champs room_id et room_name dans le resources message d'un Créneau 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 de la définition des emplacements et devront être inclus dans les flux, ainsi que dans toutes les mises à jour concernant les réservations et opérations. Vous pouvez voir des exemples de spécification des éléments room_id et room_name. dans Exemple de flux pour un secteur de restauration spécifique