Feed'lerde Kullanılabilirliği Yapılandırma

Müsaitlik Durumu Biçimi Seçme

Kullanılabilirlik verilerini belirtmenin iki yolu vardır: (1) Açık Spotlar veya (2) Yinelenme. Tüm satıcılarınız ve hizmetlerinizde kullanmak için yalnızca bir yöntem seçin. Bir yöntem seçtikten sonra, tüm entegrasyonun (feed'ler, rezervasyon sunucusu ve gerçek zamanlı güncellemeler) boyunca bu yöntemi kullanmaya devam etmeniz gerekir.

Hangi kullanılabilirlik biçiminin daha uygun olduğunu belirlemenize yardımcı olması için aşağıdaki kılavuzu kullanın:

  • Sisteminizde, müsaitlik durumunu açık slotlar olarak depoluyor musunuz (ör. 08:00 - 08:30)?
  • Sisteminizde stok durumunu yinelenen bir biçimde mi depoluyorsunuz? Yani, satıcıların hizmetleri birkaç sapmayla tutarlı aralıklarla mı? Örneğin, slotlar 09:00 ile 17:00 arasında her 15 dakikada bir tekrarlanır ve her 15 dakikalık artışta yalnızca bir yer bulunur.
  • Satıcılarınızın hizmetleri için aynı anda birden fazla açık alan olabilir mi? Örneğin, bir sınıfta 30 boş kontenjan
  • Yukarıdakilerin hiçbiri geçerli değil mi?
    • Spots Open'ı kullanın
    • Not: Yinelemeyi kullanmak daha verimlidir ve feed boyutlarının küçültülmesine neden olabilir. Ancak veri modeliniz yinelemeyi yerel olarak desteklemiyorsa, gerçek zamanlı her güncelleme için tüm güne ait yinelenen alanları yeniden hesaplamanız gerekeceğinden yinelenmeyi kullanmanız önerilmez.

    Açık Reklam Sayısı

    Parametre Tanımları:

    • spot_open: Bu müsaitlik durumu girişi için şu anda müsait olan yer sayısı.
    • spot_total: Mevcut olmayanlar da dahil olmak üzere satıcının bu yapılandırma için sahip olduğu toplam spot sayısı.

    Açık Spotlar yöntemi, her slot kullanılabilirliğini açıkça belirtir ve aynı hizmet için birden fazla spota sahip olma modelini destekler. Bu iki parametre birlikte çalışarak hizmet kapasitesinin dijital bir temsilini oluşturur.

    Rezervasyon gerçekleştiğinde, spot_open sayısı gerçek zamanlı bir güncellemeyle 1 oranında azalmalıdır (spot_total sayısı aynı kalmalıdır). spot_open = 0 olduğunda alan artık görünmez.

    Örnek Hizmetler

    Bir yoga dersi veya güzellik salonu aşağıdaki kat planlarına sahip olmalı ve aktif rezervasyon içermemelidir

    Şekil 1: Etkin rezervasyonu olmayan kat planı

    Bu satıcılardaki 2 slot için stok durumu feed'i şöyle görünür:

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

    Rezervasyon İçeren Örnek Hizmetler

    Şekil 2: Tek bir etkin rezervasyonu olan kat planı

    Bir kullanıcı ilgili mekanlardan birini rezerve ediyor. Rezervasyon gerçekleştiğinde müsaitlik durumunu güncellemek için gerçek zamanlı bir güncelleme yayınlanır. Bu rezervasyon, bir sonraki günlük müsaitlik durumu feed'inde yansıtılmalıdır. Bu satıcıların müsaitlik durumu feed'inde, 1 Eylül 2018 saat 16:00:00 (GMT) için spot_open değeri 1 azaltılır. 1 Eylül 2018 20:00:00 GMT zaman aralığı değişmez.

    Rezervasyon İçeren Feed Snippet'i

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

    Yinelenme

    Parametre Tanımları

    • recurrence: Sürekli olarak tekrarlanan kullanılabilirlik slotlarının temsili.
    • reCAPTCHA_until_sec: Kullanılabilirliğin tekrarlandığı son slotun bitiş zamanının UTC zaman damgası.
    • tekrar_every_sec: Ardışık kullanılabilirlik slotları arasındaki saniye sayısı. Örneğin, reCAPTCHA_every_sec = 1800 (30 dakika) ve start_sec 09:00'da başlıyorsa slotlar 30 dakikada bir 09:00, 09:30, 10:00 gibi saatlerde tekrarlanır.
      • Not: spot_open ve spot_total alanlarının belirtilmesine gerek yoktur. schedule_exception olmadığı sürece her ikisinin de 1 olduğu varsayılır.

    Yinelenme yöntemi, düzenli aralıklarla gerçekleştirilen hizmetlerin günlük olarak kullanılabilirliğini gösterir. Örneğin, her gün 09:00-17:00 arasında 30 dakikada bir gerçekleşen bir hizmet. Yineleme ile zaman aralığının süresini, günün ilk zamanını, slot'un ne sıklıkta tekrarlanacağını ve aynı günde tekrarlanmanın ne zaman durması gerektiğini belirtirsiniz. Not: Yeni yinelenen zaman aralıkları grubunun her gün için ayrı olarak belirtilmesi gerekir. Zaman aralığı içinde bir alan zaten rezerve edilmişse bir planlama istisnası belirtirsiniz. Örneğin, 11:00-11:30 saatleri dışında 09:00-21:00 saatleri arasında her yarım saatte bir tekrarlayın. Her hizmetin kendi yineleme ve planlama istisnaları vardır.

    Örnek Hizmetler

    Bir güzellik salonu aşağıdaki kat planına sahip ve etkin rezervasyon yok

    Şekil 3: Etkin rezervasyonu olmayan kat planları. Hizmet başına yalnızca 1 iş yerinin açık olduğu varsayılır (ör. Selin 30 dakikada bir saç kesme hizmeti sunmaktadır ancak aynı anda yalnızca 1 müşteriye hizmet verebilir.)

    Bu satıcılardaki 1 slot için stok durumu feed'i şöyle görünür:

    Feed Snippet'i:

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

    Rezervasyon İçeren Örnek Hizmetler

    Şekil 4: Tek bir etkin rezervasyonu olan kat planları. Hizmet başına yalnızca 1 iş yerinin açık olduğu varsayılır (ör. Selin 30 dakikada bir saç kesme hizmeti sunmaktadır ancak aynı anda yalnızca 1 müşteriye hizmet verebilir.)

    Şimdi bir kullanıcının saat 12:30'da Selin'den saç kesme randevusu aldığını varsayalım. Rezervasyon gerçekleştiğinde, müsaitlik durumunu güncellemek için gerçek zamanlı bir güncelleme yayınlanır. Bu rezervasyon, bir sonraki günlük müsaitlik durumu feed'inde yansıtılmalıdır. Bu satıcıların müsaitlik durumu feed'inde, 30 dakikalık süreli bir hizmet için 12:30 ile 13:00 saatleri arasında planlama istisnası bulunur.

    Rezervasyon İçeren Feed Snippet'i:

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