arrow_back_ios

Google 行事曆整合的詳細運作方式是什麼?

Google 行事曆會即時通知我們的服務有任何變更,我們會立即(但最多每分鐘一次)更新我們這邊的已佔用時間。 此外,我們的服務也會定期自行輪詢行事曆,以防漏接通知。 當訂單即將完成時,我們會先進行同步,以確保不會發生超額預訂。

將預訂傳送到 Google 行事曆

只有具有封鎖時間狀態的訂單才會傳送到 Google 行事曆。 每當任何訂單或預訂資料變更時,我們都會立即更新 Google 行事曆中的事件,包括其時間與標題。 事件標題一律以「Bukza」開頭,接著在中括號內顯示份額數(當預訂共享價格選項時)。 標題的其餘部分則依您指定的範本產生,可包含任何訂單資料。 我們也會在傳送到 Google 行事曆的事件中標記特殊內部屬性,以便區分與第三方事件。

從 Google 行事曆取得事件

我們僅在滾動期間內從 Google 匯入事件:從本月初到明年年底。 匯入的事件不會轉換為實際預訂;它們只會在 Bukza 中封鎖資源時間。 來自 Google 行事曆的重複事件也會被考慮——每個系列的發生都會在 Bukza 中封鎖對應的時間。 重複事件的發生次數也會受到滾動同步期間的限制。
當我們從 Google 行事曆接收資料時,會略過 Bukza 事件,以避免重複。 在 Google 行事曆中對第三方(非 Bukza)事件的變更,也會在同步時反映到 Bukza 行事曆中。 但您不應該在 Google 行事曆中修改帶有 Bukza 標記的事件。 這類變更不會影響我們系統中的原始預訂,且這些編輯會在下次訂單變更時被覆蓋。
如果您希望某個特定事件不佔用時間,請在 Google 行事曆中將其標記為「有空」(Free)——我們會略過這些事件。

我們如何保護您避免超額預訂

如果就在同一時刻,您的 Google 行事曆中出現同一時段的事件,系統將不允許在 Bukza 端完成預訂。 為此,我們會先在 Google 行事曆中佔用該時段,建立一個不含訂單細節的空事件(不套用標題範本)——這樣就能為我們保留時段。 然後我們會再次從 Google 行事曆取得資料,並檢查該時段是否仍可用:
  • 如果可用——我們會用最終資料更新事件標題。
  • 如果不可用(時段已被佔用)——預訂不會完成,且空事件會立即刪除。
當行事曆同時啟用傳送與接收時,才會執行完整檢查。否則:
  • 僅啟用接收時——我們只保證在預訂完成時已從 Google 行事曆取得最新資料。
  • 僅啟用傳送時——預訂會立即完成:預訂完成後事件會立刻傳送到 Google 行事曆,不會延遲或中斷流程。
超額預訂保護僅在訂單從「不封鎖時間」狀態轉換為「封鎖時間」狀態時執行。 如果管理者在已封鎖時間的訂單中變更或新增預訂,即使 Google 行事曆中同時段已有事件,該動作也不會被阻擋。 不過,介面上會明顯標示該時段不可用。

已預訂份額數

在您自己的事件標題中,可以加上中括號內的數字。 我們的系統會將此數字視為該資源的已預訂份額數——即預訂的總份額數
如果未指定已預訂份額數,則視為整個資源已被預訂。