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ề tham số

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

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

Ba tham số này phối hợp với nhau để tạo ra một 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ảng có thể chứa (sẽ có là một mục cho mọi kích thước mà một bảng có thể chứa được). 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 hoạt động lượt đặt chỗ:

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 trước đang hoạt động

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 về tình trạng còn hàng cho một khung giờ với người bán này sẽ trông giố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
          }
        }
      ]
}

Ví dụ về sơ đồ tầng kèm theo lượt đặt trước

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

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

Giờ đây, giá trị của party_size, spots_openspots_total 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 phục vụ bữa ăn bằng khả năng hỗ trợ bảng kết hợp

Có nhiều cách để nhà hàng có thể kết hợp các bàn để có quy mô lớn hơn nhóm. Bạn cần chỉ định spots_openspots_total trong nguồn cấp dữ liệu theo cách phản ánh chính xác liệu bạn có thể chấp nhận các bên của một kích thước. Sau đây là một ví dụ về cách bạn có thể chỉ định các bảng kết hợp. Các 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 có thể phù hợp khi bạn chỉ định spots_openspots_total theo cách khớp với logic kinh doanh của bạn.

Nếu nhà hàng hỗ trợ việc kết hợp các bàn để tạo thành một bữa tiệc lớn hơn, bạn có thể hãy 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ỏ để ngồi cho một bữa tiệc gồm 7 đến 10 người 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ơ đồ mặt bằng không có lượt đặt trước đang hoạt động

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_open, và spots_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, cần đặt chỗ cho một bữa tiệc gồm 10 người kết hợp hai bảng nhỏ.

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

Sau đó, 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