選擇可用性格式
您可以透過兩種方式指定可用性資料:(1) Spots Open 或 (2) Recurrence。請僅選擇一種適用於所有商家和服務。選取一種方法後,就必須完全整合該方法 (動態饋給、預訂伺服器和即時更新)。
下列指南可協助您判斷哪種可用性格式較為合適:
- 您是否已將可用性儲存為明確運算單元,例如早上 8:00 到 8:30?
- 使用 Spot 開啟功能
- 系統是否以週期性格式儲存可用性,這代表商家的服務頻率是否一致且有些微差異?舉例來說,每 15 分鐘從上午 9 點到下午 5 點重複,因此每 15 分鐘會增加一個座位。
- 使用週期
- 設定商家服務時,是否同時可以有多個營業處?例如,某個類別有 30 個開啟的位置
- 使用 Spot 開啟功能
- 以上敘述皆不適用?
- 使用 Spot 開啟功能
- 注意事項:雖然使用週期性更有效率,並可能減少動態饋給大小,但如果您的資料模型並未原生支援重複資料,那麼就不建議使用重複週期,因為您必須在每次重新更新時重新計算整個週期的週期性時段。
時段開放
參數定義:
- Spot_open:這個供應項目目前可用的點數量。
- Spot_total:商家為這項設定所設置的銷售地點總數 (包括無法使用的地點)。
Spot 公開測試方法明確指出每個運算單元可用性,並支援相同服務使用多個位置的模型。這兩個參數會一起運作,以建立服務容量的數位表示法。
預訂時,Spot_open 的數量應透過即時更新減少 1 個 (Spotstotal 數量應保持不變)。一旦 spot_open = 0,版位就不會再顯示。
服務範例
瑜伽課程或美容沙龍的樓層平面圖有效,且沒有有效的預訂行程
這些商家的 2 個時段供應情形動態饋給如下:
JSON
{ "availability": [ { "spots_total": 6, "spots_open": 6, "duration_sec": 3600, "service_id": "1001", "start_sec": 1535817600, # Sept 1, 2018 4:00:00 PM GMT "merchant_id": "1001" }, { "spots_total": 6, "spots_open": 6, "duration_sec": 3600, "service_id": "1001", "start_sec": 1535832000, # Sept 1, 2018 8:00:00 PM GMT "merchant_id": "1001", } ] }
包含預訂的服務範例
現在有使用者預訂了其中一間。預訂完成後,系統會發出即時更新來更新供應情形。下一個每日供應情形動態饋給應顯示這個預訂。這些商家的供應情形動態饋給將以格林威治標準時間 2018 年 9 月 1 日下午 4:00:00 減少 1 點。格林威治標準時間 2018 年 9 月 1 日晚上 8:00:00 將維持不變。
含有預訂的動態饋給程式碼片段
JSON
{ "availability": [ { "spots_total": 6, "spots_open": 5, "duration_sec": 3600, "service_id": "1001", "start_sec": 1535817600, # Sept 1, 2018 4:00:00 PM GMT "merchant_id": "1001" }, { "spots_total": 6, "spots_open": 6, "duration_sec": 3600, "service_id": "1001", "start_sec": 1535832000, # Sept 1, 2018 8:00:00 PM GMT "merchant_id": "1001", } ] }
週期性
參數定義
- 週期性:代表不斷重複可用性的運算單元。
- repeat_until_sec:供應情形的重複持續時間的最後時區世界標準時間 (UTC) 時間戳記。
- repeat_every_sec:連續可用性運算單元之間的間隔秒數。舉例來說,如果 repeat_every_sec = 1800 (30 分鐘),而 start_sec 是從早上 9:00 開始,則每 30 分鐘在早上 9:00、早上 9:30、早上 10:00 等等,都會重複計算。
- 注意事項:除非有 schedule_exception,否則不需指定 spot_open 和 spot_total 參數
週期性方法會每天固定提供一次服務,例如每天 9:00 到 5:00 每 30 分鐘一次的服務。透過重複週期,您可以指定時段的時長、時段的第一天、該時段的重複頻率,以及當天應停止重複的時間。注意:必須分別為每天指定一組新的週期性運算單元。如果時間範圍內已有預訂的時段,請指定時間表例外狀況。舉例來說,除了早上 11:00 到 11:30 以外,早上 9 點到晚上 9 點重複,每半小時重複一次。每項服務有各自的重複週期和排程例外狀況。
服務範例
美容院設有樓層平面圖,且目前沒有進行中的預訂
這些商家使用 1 個時段的供應情形動態饋給看起來會像這樣:
動態饋給程式碼片段:
JSON
{ "availability": [ { "merchant_id": "1001", "service_id": "1001", # haircut "start_sec": 1493888400, # May 4, 2017 9:00:00 AM GMT "duration_sec": 1800, "recurrence": { "repeat_every_sec": 1800, "repeat_until_sec": 1493915400 # May 4, 2017 4:30:00 PM GMT } } ] }
包含預訂的服務範例
現在假設使用者在下午 12 點 30 分透過 Sally 預約服務。預訂完成後,系統會發出即時更新來更新供應情形。下一個每日供應情形動態饋給應顯示這個預訂。這些商家的供應情形動態饋給會在中午 12:30 至下午 1:00 期間設為 30 分鐘的服務排程,
含有預訂內容的動態饋給程式碼片段:
JSON
{ "availability": [ { "merchant_id": "1001", "service_id": "1001", "start_sec": 1493888400, # May 4, 2017 9:00:00 AM GMT "duration_sec": 1800, "recurrence": { "repeat_every_sec": 1800, "repeat_until_sec": 1493915400 # May 4, 2017 4:30:00 PM GMT }, "schedule_exception": [ { "time_range": { "begin_sec": 1493901000, # May 4, 2017 12:30:00 PM GMT "end_sec": 1493902800 # May 4, 2017 1:00:00 PM GMT } } ], } ] }