REST Resource: inventory.partners.merchants.services.availability

Kaynak: Kullanılabilirlik

Satıcının hizmeti için zaman ve yer sayısını gösteren müsaitlik durumu alanı.

JSON gösterimi
{
  "startTime": string,
  "duration": string,
  "spotsTotal": string,
  "spotsOpen": string,
  "availabilityTag": string,
  "resources": {
    object (Resources)
  },
  "paymentOptionId": [
    string
  ],
  "recurrence": {
    object (Recurrence)
  },
  "scheduleException": [
    {
      object (ScheduleException)
    }
  ],
  "deposit": {
    object (Deposit)
  },
  "noShowFee": {
    object (NoShowFee)
  },
  "requireCreditCard": enum (RequireCreditCard),
  "ticketTypeId": [
    string
  ],
  "durationRequirement": enum (DurationRequirement),
  "schedulingRuleOverrides": {
    object (SchedulingRuleOverrides)
  },
  "confirmationMode": enum (ConfirmationMode)
}
Alanlar
startTime

string (Timestamp format)

Toplantı aralığının başlangıç saati.

Nanosaniye çözünürlüğe ve en fazla dokuz kesir basamağına sahip, RFC3339 UTC "Zulu" biçiminde bir zaman damgası. Örnekler: "2014-10-02T15:01:23Z" ve "2014-10-02T15:01:23.045123456Z".

duration

string (Duration format)

Toplantı aralığının süresi

En fazla dokuz kesir basamağı içeren ve "s" ile biten saniye cinsinden bir süre. Örnek: "3.5s".

spotsTotal

string (int64 format)

Müsaitlik durumundaki toplam kontenjan ve açık alan sayısı. Örnekler:

  • 3 kişilik yoga dersi için 10 kişilik yoga dersi: availability {spotsTotal: 10, spotsOpen: 7 ...}
  • Tamamen rezerve edilmiş koltuk masaj seansı: availability {spotsTotal: 1, spotsOpen: 0 ...}

Not: Aşağıda tanımlanan müsaitlik durumu sıkıştırma biçimini kullanarak istek gönderiliyorsa bu iki alan tahmin edilir.

  • Yinelenme, spotsTotal=1 ve spotsOpen=1 anlamına gelir.
  • ScheduleException, spotsTotal=1 ve spotsOpen=0 anlamına gelir.
spotsOpen

string (int64 format)

Açık nokta sayısı.

availabilityTag

string

Bu kullanılabilirlik slotunu tanımlamak için kullanılan isteğe bağlı opak dize. Ayarlanırsa randevu alma/güncelleme/iptal etme isteklerine dahil edilir.

resources

object (Resources)

Hizmet kapsamında farklı personel veya odalar söz konusu olduğunda bu müsaitlik durumunu diğerlerinden ayırt etmek için kullanılan isteğe bağlı kaynaklar.

Örneğin, iki 2 eğitmeniyle aynı yoga dersi:

availability { resources { staffId: "1" staffName: "Amy" }
               spotsTotal: 10 spotsOpen: 7 }
availability { resources { staffId: "2" staffName: "John" }
               spotsTotal: 5 spotsOpen: 2 }
paymentOptionId[]

string

Bu slot için ödeme yaparken kullanılabilecek ödeme seçeneklerini belirten kimliklerin listesi. Gerçek ödeme seçenekleri, Satıcı düzeyinde tanımlanır ve birden çok Satıcı arasında da paylaşılabilir.

Bu alan, hizmet mesajında belirtilen tüm payment_option_id değerlerini geçersiz kılar. Benzer şekilde, burada belirtilen payment_option_id değerlerinin hizmet mesajında bulunması GEREKMEZ ancak Satıcı düzeyinde tanımlanması gerekir.

recurrence

object (Recurrence)

Müsaitlik durumu için birden fazla başlangıç zamanını temsil eden yineleme bilgileri. Yineleme, bir iş gününe ait randevuları içermelidir.

scheduleException[]

object (ScheduleException)

Bu hizmetin planlanamadığı zamanlar. scheduleException mesajlarının sayısını sınırlandırmak için bitişik istisnaları birleştirmeyi düşünebilirsiniz.

deposit

object (Deposit)

Bu müsaitlik durumu için isteğe bağlı depozito. Belirtilmişse hizmet ödemesini geçersiz kılar.

noShowFee

object (NoShowFee)

İsteğe bağlı olarak bu müsaitlik durumu için rezervasyonu kullanmama ücreti ekleyin. Belirtilmiş olması halinde hizmetin rezervasyonu kullanmama ücretini geçersiz kılar.

requireCreditCard

enum (RequireCreditCard)

Kullanıcının bu müsaitlik durumu randevusu için kredi kartı vermesi gerekip gerekmediğini belirtir. Ayarlanmamışsa ve ayarlanmış olması halinde hizmet düzeyinden devralınır. (isteğe bağlı)

ticketTypeId[]

string

Bu müsaitlik durumu slotu için desteklenen bilet türlerinin listesini gösterir. Politika ayarlanmazsa üst hizmetteki tüm bilet türleri bu aralık için kullanılabilir. Bu alanın değerlerinin üst hizmette tanımlanması gerektiğini unutmayın. Örnekler:

  • Dört bilet türü olan hizmet: TicketType {ticketTypeId: "adult_1" shortDescription: "Adult weekdays"} TicketType {ticketTypeId: "adult_2" shortDescription: "Yetişkin hafta sonları"} TicketType {ticketTypeId: "youth_1" shortDescription: "Youth weekdays"} TicketType {ticketTypeId: "youth_2" shortDescription: "Genç hafta sonları"}

Hafta içi envanteri temsil etmek için: availability {ticketTypeId: "adult_1" ticketTypeId: "youth_1"...}. Tatil dönemlerinde envanteri temsil etmek için: availability {ticketTypeId: "adult_2" ticketTypeId: "youth_2"...}.

  • Üç bilet türü olan hizmet: TicketType {ticketTypeId: "adult" shortDescription: "Adult"} TicketType {ticketTypeId: "youth" shortDescription: "Youth"} TicketType {ticketTypeId: "senior" shortDescription: "Senior"}

Üç bilet türünün de bu zaman aralığında uygun olduğunu belirtmek için availability {ticketTypeId: "adult" ticketTypeId: "youth" ticketTypeId: "senior" ...} veya "availability {...}" kullanın (bu yuvada TicketTypeId değerini ayarlamayın).

(isteğe bağlı)

durationRequirement

enum (DurationRequirement)

Slot süresini ve/veya bitiş zamanını gösterme şartı. Alan kullanılamıyorsa bu alan yoksayılır. Yapılacaklar sektöründe kullanılmaz. (isteğe bağlı)

schedulingRuleOverrides

object (SchedulingRuleOverrides)

Müsaitlik durumu planlama kuralları. Alanlar doldurulursa hizmet düzeyinde SchedulingRules'daki karşılık gelen planlama kurallarını geçersiz kılarlar.

confirmationMode

enum (ConfirmationMode)

Bu müsaitlik durumu için rezervasyon sırasında kullanılacak onay modu. CONFIRMATION_MODE_SYNCHRONOUS onay moduyla müsaitlik durumu için rezervasyon oluşturma girişimleri hemen onaylanmalı veya reddedilmelidir. CONFIRMATION_MODE_ASYNCHRONOUS onay moduna sahip müsaitlik durumu için rezervasyon oluşturma girişimleri hemen reddedilmeli veya BEKLEMEDE durumla oluşturulmalıdır.

Kaynaklar

Hizmetin bir parçası olan farklı personel veya odalar olduğunda kaynak, kullanılabilirlik aralıklarını birbirinden ayırmak için kullanılır. Aynı hizmet ve zaman aralığı için birden fazla slot, kaynakları farklı olduğunda bir arada bulunabilir.

JSON gösterimi
{
  "staffId": string,
  "staffName": string,
  "roomId": string,
  "roomName": string,
  "partySize": integer
}
Alanlar
staffId

string

Hizmeti sağlayan personelin isteğe bağlı kimliği. Bu alan; tüm satıcılar, hizmetler ve stok durumu kayıtları genelinde personel üyesini tanımlar. Ayrıca eski rezervasyonlarla ilişki kurulabilmesi için ücretin zaman içinde sabit kalması gerekir. personelAdı mevcutsa bu alanın gösterilmesi gerekir.

staffName

string

Hizmeti sağlayan personelin isteğe bağlı adı. Bu alan, rezervasyon yapan kullanıcılara gösterilir ve opak bir tanımlayıcı yerine, insanlar tarafından okunabilir olmalıdır. Çalışan kimliği varsa bu alanın gösterilmesi gerekir.

roomId

string

Hizmetin bulunduğu oda için isteğe bağlı bir kimlik. Bu alan; odayı tüm satıcılar, hizmetler ve müsaitlik durumu kayıtları genelinde tanımlar. Ayrıca eski rezervasyonlarla ilişki kurulabilmesi için ücretin zaman içinde sabit kalması gerekir. RoomName mevcutsa bu alan mevcut olmalıdır.

roomName

string

Hizmetin bulunduğu oda için isteğe bağlı bir ad. Bu alan, rezervasyon yapan kullanıcılara gösterilir ve opak bir tanımlayıcı yerine, insanlar tarafından okunabilir olmalıdır. (isteğe bağlı ancak oda kimliği mevcutsa gereklidir) Yemek yerlerinde oda adı yalnızca bar veya veranda gibi oturma alanları için kullanılmalıdır. Ayrıca sabit fiyatlı menüler, özel etkinlikler veya oda harici diğer değerler (rezervasyon ya da akşam yemeği gibi) için kullanılmamalıdır. Varsayılan oturma alanının kendisiyle ilişkilendirilmiş bir oda olmaması önemle tavsiye edilir.

partySize

integer

Yalnızca Akşam Yemeği için geçerlidir: Bu zaman aralığında konaklayabilecek kişi sayısı. Bir restoran, aynı anda birden fazla Slot ile ilişkilendirilebilir ve her biri farklı bir PartySize belirtir (örneğin, 2, 3 veya 4 kişi bir rezervasyonla oturabilirse).

Yinelenme

Yineleme mesajları isteğe bağlıdır ancak sürekli olarak tekrarlanan kullanılabilirlik slotları için daha kompakt bir gösterim sağlar. Genellikle bir günlük çalışma programını temsil ederler. Daha sonra ScheduleException mesajları, iş günü içindeki ayrılmış/kullanılamayan zaman aralıklarını temsil etmek için kullanılır.

Koşullar:

  1. Kullanılabilirlik slotları veya yinelemelerin genişletilmesi aynı yuvaları OLUŞTURMAMALIDIR. Kimlikler, startTime, süre ve kaynaklar eşleşirse alanlar aynı olarak kabul edilir.
  2. Standart kullanılabilirlik biçimini ve yinelenmeyi tek bir hizmetin alanlarında KULLANMAYIN. Randevu sunan satıcılar/hizmetler yinelenme açısından yararlıdır. Standart biçim, düzenli olarak planlanmış kurslara sahip satıcılara/hizmetlere yöneliktir.
  3. Yinelenmeler 24 saatten uzun sürmemelidir.
JSON gösterimi
{
  "repeatUntil": string,
  "repeatEvery": string
}
Alanlar
repeatUntil

string (Timestamp format)

Müsaitlik durumunun tekrarlandığı maksimum UTC zaman damgası dahil.

Nanosaniye çözünürlüğe ve en fazla dokuz kesir basamağına sahip, RFC3339 UTC "Zulu" biçiminde bir zaman damgası. Örnekler: "2014-10-02T15:01:23Z" ve "2014-10-02T15:01:23.045123456Z".

repeatEvery

string (Duration format)

Ardışık kullanılabilirlik aralıkları arasındaki süreyi tanımlar.

Örnek: 20 dk. süresi, 30 dk. tekrarlı, başlangıç zamanı 9:00 olan ve 11:00'a kadar tekrar eden müsaitlik durumu, 09:00 - 11:00, 09:30-09:50, 10-10:20, 10:30-10:50, 1:00-10:50 saatleri arasında kullanılabilirlik sağlar. (zorunlu)

En fazla dokuz kesir basamağı içeren ve "s" ile biten saniye cinsinden bir süre. Örnek: "3.5s".

ScheduleException

ScheduleException iletileri, iş günü içindeki ayrılmış/kullanılamayan zaman aralıklarını temsil eder. Bu, yukarıda açıklanan yinelemenin istisnalarıdır. Zaman aralıkları rezerve edildikçe istisna listesi, yeni kullanılamayan zaman aralıklarını yansıtacak şekilde güncellenmelidir. Yinelemenin kendisi değiştirilmemelidir.

JSON gösterimi
{
  "timeRange": {
    object (TimeRange)
  }
}
Alanlar
timeRange

object (TimeRange)

İstisnanın zaman aralığı. Açık olan bu kapalı zaman aralığıyla çakışan yinelenme tarafından açıklanan tüm alanlar kullanılamaz olarak kabul edilir.

Örnek: Yinelenme 20 dakika olarak, 30 dakikada bir tekrarlama, 09:00'da başlangıç zamanı ve 11:00'a kadar tekrarlamayı belirtiyorsa, 09:45-11:00 arasında bir timeRange içeren ScheduleException, 09:30-09:50 saatleri arasında 09:30-09:50, 10:30-10:30 saatleri arasında kullanılamaz.

Zaman aralığı kapalı olduğu için 11:00'da başlayan aralığın etkilenmeyeceğini unutmayın.

DurationRequirement

Bu numaralandırma, kullanıcının istenen slot süresini/bitiş zamanını onaylaması veya görüntülemesi için hangi gereksinimlerin bulunduğunu belirtir.

Sıralamalar
DURATION_REQUIREMENT_UNSPECIFIED Bitiş zamanının işlenme şekli belirtilmemiş. Bu varsayılan seçenektir.
DO_NOT_SHOW_DURATION Bitiş saati kullanıcıya gösterilmez.
MUST_SHOW_DURATION Randevu alınabilmesi için bitiş saatinin kullanıcıya gösterilmesi gerekir.

SchedulingRuleOverrides

Müsaitlik durumu düzeyi planlama kuralları.

JSON gösterimi
{
  "lastBookableSec": string,
  "firstBookableSec": string,
  "lastOnlineCancellableSec": string
}
Alanlar
lastBookableSec

string (int64 format)

Bu alanın rezerve edilebileceği son zaman (saniye cinsinden). Bu zaman damgası, dikkate alınacak slotun startSec tarihinden önce olmalıdır (kullanıcıların başlangıç zamanından sonra rezervasyon yapabilmesi gerekiyorsa hizmet düzeyi SchedulingRules.min_booking_before_end_time'ı kullanın). Mevcut olduğunda, karşılık gelen Hizmetin Planlama Kurallarının min_booking_buffer öğesinde belirtilen her şeyi geçersiz kılar.

firstBookableSec

string (int64 format)

Bu alanın ilk kez rezerve edilebileceği zaman (saniye cinsinden). Bu zaman damgası, yuvanın startSec tarihinden veya belirtilmişse lastBookableSec'ten önce olmalıdır.

lastOnlineCancellableSec

string (int64 format)

Ayarlanırsa bu randevu aralığının Google ile Rezervasyon üzerinden iptal edilebileceği son zaman (Unix döneminden bu yana, saniye cinsinden). Bu alan, hizmet düzeyindeki tüm iptal kurallarını geçersiz kılar. (isteğe bağlı)

ConfirmationMode

Müsaitlik durumu için rezervasyon yaparken kullanılan onay modları.

Sıralamalar
CONFIRMATION_MODE_UNSPECIFIED Onay modu belirtilmedi. Eşzamanlı onay varsayılır.
CONFIRMATION_MODE_SYNCHRONOUS Bu müsaitlik durumu için yapılan rezervasyonlar eşzamanlı olarak onaylanacaktır.
CONFIRMATION_MODE_ASYNCHRONOUS Bu müsaitlik durumu için yapılan rezervasyonlar eşzamansız olarak onaylanacaktır.

Yöntemler

replace

Belirtilen toplayıcı tarafından yönetilen bir satıcının mevcut Service için Availability değerini değiştirir ve geri döndürür.