Thiết lập dữ liệu về tình trạng còn hàng cho chiến dịch Đặt trước

Định nghĩa về các tham số

Như được chỉ định trong định nghĩa Availability:

  • party_size: Số lượng người tham dự bữa tiệc có thể nhận được trong khung giờ này. Một nhà hàng có thể liên kết với nhiều ô trống cùng một lúc, mỗi ô chỉ định một party_size riêng, nếu chẳng hạn như 2, 3 hoặc 4 người có thể đặt chỗ
  • spots_open: Số lượng vị trí hiện còn trống cho mục thông tin về tình trạng còn hàng này
  • spots_total: Tổng số vị trí mà người bán có cho cấu hình này (bao gồm cả những vị trí không có sẵn)

Ba tham số này hoạt động cùng nhau để tạo thành bản trình bày kỹ thuật số của sơ đồ tầng. party_size là số người mà mỗi bàn có thể chứa (sẽ có một mục nhập cho mọi kích thước mà bàn có thể phục vụ). spots_openspots_total là số lượng bảng có thể chứa party_size đó.

Ví dụ về sơ đồ tầng trống

Hãy tưởng tượng một nhà hàng có sơ đồ tầng như sau và không có lượt đặt trước nào:

Hình 1: Sơ đồ tầng không có lượt đặt phòng nào đang hoạt động
Hình 1: Sơ đồ tầng không có lượt đặt phòng nào đang có hiệu lực

Giá trị của party_size, spots_openspots_total sẽ là:

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

Nguồn cấp dữ liệu tình trạng còn hàng cho một khung giờ tại người bán này sẽ có dạng như sau:

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
          }
        }
      ]
}

Sơ đồ tầng mẫu có lượt đặt trước

Bây giờ, hãy tưởng tượng rằng một trong các bảng tròn đã được đặt trước:

Hình 2: Sơ đồ tầng có một lượt đặt phòng đang hoạt động
Hình 2: Sơ đồ tầng có một lượt đặt phòng đang có hiệu lực

Giá trị cho party_size, spots_openspots_total hiện sẽ là:

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
          }
        }
      ]
}

Chỉ định tình trạng ăn uống bằng tính năng hỗ trợ bảng kết hợp

Có nhiều cách mà một nhà hàng có thể kết hợp các bàn để cho những nhóm lớn hơn. Trong nguồn cấp dữ liệu, bạn cần chỉ định spots_openspots_total sao cho phản ánh chính xác việc bạn có thể chấp nhận các bên có quy mô nhất định hay không. Sau đây là ví dụ về cách chỉ định cách kết hợp các bảng. Nguồn cấp dữ liệu của bạn có thể khác nhau đôi chút về cách tính toán này và bạn có thể chỉ định spots_openspots_total sao cho phù hợp với logic kinh doanh của mình.

Nếu một nhà hàng hỗ trợ việc kết hợp các bảng để tạo thành một bữa tiệc lớn hơn, thì bạn có thể cập nhật spots_openspots_total để phản ánh điều này.

Giả sử một nhà hàng có thể kết hợp hai bàn nhỏ để đặt chỗ cho 7-10 người.

Hình 3: Sơ đồ tầng không có lượt đặt phòng nào đang hoạt động
Hình 3: Sơ đồ tầng không có lượt đặt phòng nào đang có hiệu lực

Trong trường hợp không có lượt đặt phòng nào đang hoạt động, giá trị của party_size, spots_openspots_total là:

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

Giờ đây, với cùng một sơ đồ tầng, bạn có thể đặt chỗ cho một bữa tiệc có 10 người và kết hợp với hai bàn nhỏ.

Hình 4: Sơ đồ tầng có một lượt đặt phòng đang hoạt động trên hai bảng
Hình 4: Sơ đồ mặt bằng cho một lượt đặt phòng đang có hiệu lực trên hai bàn

Khi đó, giá trị của party_size, spots_openspots_total hiện là:

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