party_size : পার্টির আকার যা এই সময়ের স্লটে মিটমাট করা যেতে পারে। একটি রেস্তোরাঁ একই সময়ের জন্য একাধিক স্লটের সাথে যুক্ত হতে পারে, প্রতিটি একটি আলাদা party_size নির্দিষ্ট করে, যদি উদাহরণস্বরূপ 2, 3, বা 4 জন একটি রিজার্ভেশনের সাথে বসতে পারে
spots_open : এই প্রাপ্যতা এন্ট্রির জন্য বর্তমানে উপলব্ধ দাগের সংখ্যা
spots_total : এই কনফিগারেশনের জন্য বণিকের মোট দাগের সংখ্যা (যেগুলি উপলব্ধ নয় সেগুলি সহ)
ফ্লোর প্ল্যানের একটি ডিজিটাল উপস্থাপনা তৈরি করতে এই তিনটি পরামিতি একসঙ্গে কাজ করে। party_size হল প্রতিটি টেবিলে কত লোক ধরে রাখতে পারে (একটি টেবিলে থাকা প্রতিটি আকারের জন্য একটি এন্ট্রি থাকবে)। spots_open এবং spots_total হল সেই party_size কতগুলি টেবিল মিটমাট করতে পারে তার গণনা।
উদাহরণ খালি মেঝে পরিকল্পনা
নিম্নলিখিত ফ্লোর প্ল্যান সহ একটি রেস্তোরাঁর কল্পনা করুন এবং কোনও সক্রিয় বুকিং নেই:
ছবি 1: কোনো সক্রিয় বুকিং ছাড়াই ফ্লোর প্ল্যান
party_size , spots_open , এবং spots_total এর মান হবে:
পার্টি_সাইজ
দাগ_খোলা
দাগ_মোট
4
3
3
5
3
3
6
4
4
7
1
1
8
1
1
এই বণিকের এককালীন স্লটের জন্য উপলব্ধতা ফিডটি দেখতে এরকম হবে:
সম্মিলিত টেবিল সমর্থন সঙ্গে ডাইনিং প্রাপ্যতা নির্দিষ্ট করা
একটি রেস্তোঁরা বড় গোষ্ঠীকে সমর্থন করার জন্য টেবিলগুলিকে একত্রিত করতে পারে এমন অনেক উপায় রয়েছে। আপনি আপনার ফিডে spots_open এবং spots_total এমনভাবে নির্দিষ্ট করবেন যা সঠিকভাবে প্রতিফলিত করে যে আপনি একটি প্রদত্ত আকারের দলগুলি গ্রহণ করতে পারবেন কিনা। আপনি কিভাবে সংমিশ্রণ সারণি নির্দিষ্ট করতে পারেন তার একটি উদাহরণ নিম্নলিখিত। এই গণনা কীভাবে করা হয় তাতে আপনার ফিডগুলি কিছুটা আলাদা হতে পারে এবং আপনার ব্যবসার যুক্তির সাথে মেলে এমনভাবে spots_open এবং spots_total নির্দিষ্ট করা আপনার পক্ষে গ্রহণযোগ্য।
যদি একটি রেস্তোরাঁ একটি বৃহত্তর পার্টি গঠনের জন্য টেবিলের সমন্বয় সমর্থন করে, আপনি এটি প্রতিফলিত করতে আপনার spots_open এবং spots_total আপডেট করতে পারেন।
বলুন একটি রেস্তোরাঁ 7-10 জনের একটি পার্টির জন্য দুটি ছোট টেবিল একত্রিত করতে পারে।
ছবি 3: কোনো সক্রিয় বুকিং ছাড়াই ফ্লোর প্ল্যান
কোনো সক্রিয় বুকিং না থাকলে, 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 এর পার্টি সাইজের জন্য একটি বুকিং করা হয় যা দুটি ছোট টেবিলকে একত্রিত করে।
চিত্র 4: দুটি টেবিলের মধ্যে একটি সক্রিয় বুকিং সহ ফ্লোর প্ল্যান
তারপর, party_size , spots_open , এবং spots_total এর মানগুলি এখন হল:
[null,null,["2025-07-25 UTC-তে শেষবার আপডেট করা হয়েছে।"],[[["\u003cp\u003e\u003ccode\u003eparty_size\u003c/code\u003e, \u003ccode\u003espots_open\u003c/code\u003e, and \u003ccode\u003espots_total\u003c/code\u003e are key parameters in the Availability feed that represent a restaurant's floor plan and seating capacity.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003espots_open\u003c/code\u003e and \u003ccode\u003espots_total\u003c/code\u003e are dynamic values that reflect real-time availability, decreasing as bookings are made and tables are occupied.\u003c/p\u003e\n"],["\u003cp\u003eRestaurants can utilize these parameters to indicate support for combining tables for larger parties, adjusting \u003ccode\u003espots_open\u003c/code\u003e and \u003ccode\u003espots_total\u003c/code\u003e accordingly.\u003c/p\u003e\n"],["\u003cp\u003eThe provided JSON examples demonstrate how the Availability feed is structured and how these parameters are used to represent different booking scenarios.\u003c/p\u003e\n"],["\u003cp\u003eMerchants can adapt their feed logic to align with their specific business rules for managing table availability and combinations.\u003c/p\u003e\n"]]],["The core content details how `party_size`, `spots_open`, and `spots_total` define restaurant availability. `Party_size` indicates the capacity per table. `Spots_open` represents the currently available spots, while `spots_total` is the total spots a merchant has. Restaurants can have multiple slots for the same time, each with varying `party_size`. Examples illustrate floor plan representation both with and without bookings, showing how `spots_open` decreases as bookings are made and how table combination support is handled.\n"],null,["# Structuring availability data for Reservations\n\nParameter definitions\n---------------------\n\nAs specified in the\n[`Availability`](/actions-center/verticals/reservations/e2e/reference/feeds/availability-feed#Availability-definition)\ndefinition:\n\n- `party_size`: 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\n- `spots_open`: The number of spots currently available for this availability entry\n- `spots_total`: The total number of spots that the merchant has for this configuration (including those that are not available)\n\nThese three parameters work together to build a digital representation of the\nfloor plan. `party_size` is the number of people each table can hold (there will\nbe an entry for every size a table can accommodate). `spots_open` and `spots_total`\nare counts of how many tables can accommodate that `party_size`.\n\nExample empty floor plan\n------------------------\n\nImagine a restaurant with the following floor plan and no active\nbookings:\n**Figure 1:** Floor plan with no active bookings\n\nThe values for `party_size`, `spots_open`, and `spots_total` would be:\n\n| party_size | spots_open | spots_total |\n|------------|------------|-------------|\n| 4 | 3 | 3 |\n| 5 | 3 | 3 |\n| 6 | 4 | 4 |\n| 7 | 1 | 1 |\n| 8 | 1 | 1 |\n\nThe availability feed for one time slot at this merchant would look like: \n\n### JSON\n\n```json\n{\n \"availability\": [\n {\n \"spots_total\": 3,\n \"spots_open\": 3,\n \"duration_sec\": 3600,\n \"service_id\": \"1000\",\n \"start_sec\": 1535806800,\n \"merchant_id\": \"merch1\",\n \"resources\": {\n \"party_size\": 4\n }\n },\n {\n \"spots_total\": 3,\n \"spots_open\": 3,\n \"duration_sec\": 3600,\n \"service_id\": \"1000\",\n \"start_sec\": 1535806800,\n \"merchant_id\": \"merch1\",\n \"resources\": {\n \"party_size\": 5\n }\n },\n {\n \"spots_total\": 4,\n \"spots_open\": 4,\n \"duration_sec\": 3600,\n \"service_id\": \"1000\",\n \"start_sec\": 1535806800,\n \"merchant_id\": \"merch1\",\n \"resources\": {\n \"party_size\": 6\n }\n },\n {\n \"spots_total\": 1,\n \"spots_open\": 1,\n \"duration_sec\": 3600,\n \"service_id\": \"1000\",\n \"start_sec\": 1535806800,\n \"merchant_id\": \"merch1\",\n \"resources\": {\n \"party_size\": 7\n }\n },\n {\n \"spots_total\": 1,\n \"spots_open\": 1,\n \"duration_sec\": 3600,\n \"service_id\": \"1000\",\n \"start_sec\": 1535806800,\n \"merchant_id\": \"merch1\",\n \"resources\": {\n \"party_size\": 8\n }\n }\n ]\n}\n```\n\nExample floor plan with a booking\n---------------------------------\n\nNow imagine that one of the round tables was booked:\n**Figure 2:** Floor plan with one active booking\n\nThe values for `party_size`, `spots_open`, and `spots_total` would now be:\n\n| party_size | spots_open | spots_total |\n|------------|------------|-------------|\n| 4 | 2 | 3 |\n| 5 | 2 | 3 |\n| 6 | 3 | 4 |\n| 7 | 1 | 1 |\n| 8 | 1 | 1 |\n\n### JSON\n\n```json\n{\n \"availability\": [\n {\n \"spots_total\": 3,\n \"spots_open\": 2,\n \"duration_sec\": 3600,\n \"service_id\": \"1000\",\n \"start_sec\": 1535806800,\n \"merchant_id\": \"merch1\",\n \"resources\": {\n \"party_size\": 4\n }\n },\n {\n \"spots_total\": 3,\n \"spots_open\": 2,\n \"duration_sec\": 3600,\n \"service_id\": \"1000\",\n \"start_sec\": 1535806800,\n \"merchant_id\": \"merch1\",\n \"resources\": {\n \"party_size\": 5\n }\n },\n {\n \"spots_total\": 4,\n \"spots_open\": 3,\n \"duration_sec\": 3600,\n \"service_id\": \"1000\",\n \"start_sec\": 1535806800,\n \"merchant_id\": \"merch1\",\n \"resources\": {\n \"party_size\": 6\n }\n },\n {\n \"spots_total\": 1,\n \"spots_open\": 1,\n \"duration_sec\": 3600,\n \"service_id\": \"1000\",\n \"start_sec\": 1535806800,\n \"merchant_id\": \"merch1\",\n \"resources\": {\n \"party_size\": 7\n }\n },\n {\n \"spots_total\": 1,\n \"spots_open\": 1,\n \"duration_sec\": 3600,\n \"service_id\": \"1000\",\n \"start_sec\": 1535806800,\n \"merchant_id\": \"merch1\",\n \"resources\": {\n \"party_size\": 8\n }\n }\n ]\n}\n```\n\nSpecifying dining availability with combined tables support\n-----------------------------------------------------------\n\nThere are many ways that a restaurant could combine tables to support larger\ngroups. You are expected in your feeds to specify `spots_open` and `spots_total`\nin a way that accurately reflects whether you can accept parties of a given\nsize. What follows is one example of how you can specify combining tables.\nYour feeds may differ somewhat in how this calculation is made and it is\nacceptable for you to specify `spots_open` and `spots_total` in a way that\nmatches your business logic.\n\nIf a restaurant supports combining tables to form a larger party, you can\nupdate your `spots_open` and `spots_total` to reflect this.\n\nSay a restaurant can combine two small tables to seat a party of 7-10\npeople.\n**Figure 3:** Floor plan with no active bookings\n\nIn the case of no active bookings, the values for `party_size`, `spots_open`,\nand `spots_total` are:\n\n| party_size | spots_open | spots_total |\n|------------|------------|-------------|\n| 4 | 3 | 3 |\n| 5 | 3 | 3 |\n| 6 | 4 | 4 |\n| 7 | 1 | 1 |\n| 8 | 1 | 1 |\n| 9 | 1 | 1 |\n| 10 | 1 | 1 |\n\nNow, with the same floor plan, a booking is made for a party size of 10 that\ncombines two small tables.\n**Figure 4:** Floor plan with one active booking spanning two tables\n\nThen, the values for `party_size`, `spots_open`, and `spots_total` are now:\n\n| party_size | spots_open | spots_total |\n|------------|------------|-------------|\n| 4 | 1 | 3 |\n| 5 | 1 | 3 |\n| 6 | 2 | 4 |\n| 7 | 1 | 1 |\n| 8 | 1 | 1 |\n| 9 | 0 | 1 |\n| 10 | 0 | 1 |"]]