식당 좌석 섹션 추가

레스토랑에는 바나 파티오와 같은 별도의 좌석 공간이 있고 5코스 시식 메뉴나 와인 시음과 같은 다양한 경험이 있는 것이 일반적입니다. 작업 센터는 이러한 구분을 지원하며 사용자가 테이블을 예약할 지역을 지정할 수 있습니다.

회의실 이름이 포함된 예약 가능 시간대

그림 1: 좌석 섹션이 있는 레스토랑의 슬롯 선택 예

이 인벤토리 분리는 가용성 슬롯의 resources 메시지에서 room_id, room_name, 필드를 설정하여 사용할 수 있습니다. 회의실 설명을 포함하려면 리소스 메시지 내에서 room_description 필드를 사용하세요.

// 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 or experience of
  // of the service. This field will be displayed to users making a booking,
  // and should be human readable, as opposed to an opaque identifier.
  // A room name should only be used for seating areas or prepaid experiences.
  // Examples of room names include "Bar", "Patio", "Dining Room". Examples of
  // dining experiences using room names include "Five-Course Tasting Menu",
  // "Chef Omakase". It is strongly recommended that the default seating area
  // does 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;

  // Localized room description with a limit of 500 characters. If set,
  // a default value must be provided, it is preferred to use the common
  // languages for the merchant's locale.
  Text room_description = 7;
}

이 정보는 슬롯 정의의 필수적인 부분이며 피드와 모든 예약 및 실시간 업데이트 작업에 포함되어야 합니다. 식사, 세로형 전용 피드 예시에서 room_idroom_name가 지정된 예를 확인할 수 있습니다.

경험을 위한 채팅방 이름을 사용하는 예약 가능 시간대

예약 결제 리디렉션을 구현했거나 구현 중인 경우 room_nameroom_descriptions을 사용하여 선불 식사 환경을 지원할 수 있습니다. 다음 스크린샷은 웹에서 환경이 표시되는 방식을 자세히 보여줍니다.

그림 1: 객실 설명을 포함한 좌석 섹션이 있는 레스토랑의 슬롯 선택 예

Room 샘플

{
  "availability": [{
    "merchant_id": "dining-A",
    "service_id": "reservation",
    "start_sec": 1535853600,
    "duration_sec": 2700,
    "spots_total": 2,
    "spots_open": 2,
    "resources": {
      "room_id": "A-dining-room",
      "room_name": "Bar",
      "party_size": 2,
      }
  }]
}

Experiences 샘플

{
  "availability": [{
    "merchant_id": "dining-A",
    "service_id": "reservation",
    "start_sec": 1535853600,
    "duration_sec": 2700,
    "spots_total": 2,
    "spots_open": 2,
    "resources": {
      "room_id": "experience-1",
      "room_name": "Wine Tasting Menu Pair",
      "description": "This Wine Tasting Menu Pair showcases American cuisine rooted in the nostalgic flavors of the 20th century American experience. Each experience is hand-crafted, with a progression from small bites to more substantial plates.",
      "party_size": 2,
      }
    }]
}

피드 크기를 작게 유지

각각 객실 설명이 있는 좌석 섹션이 많은 경우 슬롯 중 하나에만 객실 설명을 포함하여 피드 크기를 줄일 수 있습니다. 모든 슬롯에서 room_nameroom_id을 사용하고 슬롯 중 하나에서 room_description을 추가합니다.

피드 크기를 관리할 때는 피드 파일 압축피드 파일 샤딩에 설명된 권장사항을 따르세요.

Room 설명 샘플

{
  "availability": [
    {
    "merchant_id": "dining-A",
    "service_id": "reservation",
    "start_sec": 1535853600,
    "duration_sec": 2700,
    "spots_total": 2,
    "spots_open": 2,
    "resources": {
      "room_id": "experience-1",
      "room_name": "Wine Tasting Menu Pair",
      "description": "This Wine Tasting Menu Pair showcases American cuisine rooted in the nostalgic flavors of the 20th century American experience. Each experience is hand-crafted, with a progression from small bites to more substantial plates.",
      "party_size": 2
      }
  },
  {
    "merchant_id": "dining-A",
    "service_id": "reservation",
    "start_sec": 1535854600,
    "duration_sec": 2700,
    "spots_total": 4,
    "spots_open": 4,
    "resources": {
      "room_id": "experience-1",
      "room_name": "Wine Tasting Menu Pair",
      "party_size": 6
      }
  }]
}