예약의 가용성 데이터 구조화

매개변수 정의

'API 약관'의 Availability 드림 정의:

  • party_size: 이 기간에 수용할 수 있는 인원수 있습니다. 식당은 동시에 여러 슬롯과 연결될 수 있습니다. 각각 다른 party_size 지정(예: 2명, 3명 또는 4명) 좌석을 예약할 수 있으며
  • spots_open: 현재 이 행사에 참여할 수 있는 자릿수 재고 항목
  • spots_total: 판매자가 보유한 총 스팟 수 구성 (사용할 수 없는 구성 포함)

이 세 가지 매개변수가 함께 작동하여 평면도 party_size는 각 테이블에 수용할 수 있는 인원입니다. 표에 수용할 수 있는 모든 크기의 항목이 되어야 합니다. spots_openspots_total 는 해당 party_size를 수용할 수 있는 테이블 수를 나타냅니다.

빈 평면도 예

다음 평면도가 있고 운영 중인 레스토랑이 없다고 상상해 보세요. 예약:

<ph type="x-smartling-placeholder">
</ph> 그림 1: 활성 예약이 없는 평면도
그림 1: 제품이 없는 평면도 활성 예약 수

party_size, spots_open, spots_total의 값은 다음과 같습니다.

party_size spots_open spots_total
4 3 3
5 3 3
6 4 4
7 1 1
8 1 1

이 판매자의 일회성 시간대에 대한 이용 가능 여부 피드는 다음과 같습니다.

JSON

{
  "availability": [
        {
          "spots_total": 3,
          "spots_open": 3,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 4
          }
        },
        {
          "spots_total": 3,
          "spots_open": 3,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 5
          }
        },
        {
          "spots_total": 4,
          "spots_open": 4,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 6
          }
        },
        {
          "spots_total": 1,
          "spots_open": 1,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 7
          }
        },
        {
          "spots_total": 1,
          "spots_open": 1,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 8
          }
        }
      ]
}

예약이 있는 평면도 예

이제 라운드 테이블 중 하나가 예약되었다고 가정해 보겠습니다.

<ph type="x-smartling-placeholder">
</ph> 그림 2: 활성화된 예약 1개가 있는 평면도
그림 2: 하나의 평면도 진행 중인 예약

이제 party_size, spots_open, spots_total의 값은 다음과 같습니다.

party_size spots_open spots_total
4 2 3
5 2 3
6 3 4
7 1 1
8 1 1

JSON

{
  "availability": [
        {
          "spots_total": 3,
          "spots_open": 2,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 4
          }
        },
        {
          "spots_total": 3,
          "spots_open": 2,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 5
          }
        },
        {
          "spots_total": 4,
          "spots_open": 3,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 6
          }
        },
        {
          "spots_total": 1,
          "spots_open": 1,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 7
          }
        },
        {
          "spots_total": 1,
          "spots_open": 1,
          "duration_sec": 3600,
          "service_id": "1000",
          "start_sec": 1535806800,
          "merchant_id": "merch1",
          "resources": {
            "party_size": 8
          }
        }
      ]
}

결합된 테이블 지원으로 식당 이용 가능 여부 지정

식당에서 테이블을 결합하여 더 큰 공간을 지원할 수 있는 방법에는 여러 가지가 있습니다. 액세스할 수 있습니다 피드에서 spots_openspots_total를 지정해야 합니다. 모든 당사자의 요청을 수락할 수 있는지 여부를 있습니다. 다음은 테이블 결합을 지정하는 방법의 한 가지 예입니다. 피드는 계산 방식이 약간 다를 수 있으며 spots_openspots_total를 다음과 같이 지정할 수 있습니다. 비즈니스 로직과 일치하는지 확인하세요

음식점에서 테이블을 결합하여 더 많은 인원이 모일 수 있는 공간을 제공하는 경우 이를 반영하도록 spots_openspots_total를 업데이트합니다.

식당에서 작은 테이블 2개를 결합하여 7~10명으로 구성된 파티를 할 수 있다고 가정해 보겠습니다. 사람들입니다.

<ph type="x-smartling-placeholder">
</ph> 그림 3: 활성 예약이 없는 평면도
그림 3: 제품이 없는 평면도 활성 예약 수

활성 예약이 없는 경우 party_size, spots_open, 및 spots_total는 다음과 같습니다.

party_size spots_open spots_total
4 3 3
5 3 3
6 4 4
7 1 1
8 1 1
9 1 1
10 1 1

이제 동일한 평면도를 사용하면 10인을 수용할 수 있는 인원이 예약됩니다. 두 개의 작은 테이블을 결합합니다.

<ph type="x-smartling-placeholder">
</ph> 그림 4: 두 개의 테이블에 걸쳐 하나의 활성 예약이 있는 평면도
그림 4: 두 개의 테이블에 걸쳐 하나의 활성 예약이 있는 평면도

이제 party_size, spots_open, spots_total의 값은 다음과 같습니다.

party_size spots_open spots_total
4 1 3
5 1 3
6 2 4
7 1 1
8 1 1
9 0 1
10 0 1