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

Kaynak: Kullanılabilirlik

Satıcının hizmetinde yer alan, zaman ve yer sayısını gösteren kullanılabilirlik 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ıç zamanı.

RFC3339 UTC "Zulu" zaman damgası biçiminde olmalıdır. Ö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ğı olan ve "s" ile biten, saniye cinsinden süre. Örnek: "3.5s".

spotsTotal

string (int64 format)

Bu müsaitlik durumundaki toplam yer sayısı ve boş yer sayısı. Örnekler:

  • 10 kişilik yoga dersi ve 3 rezervasyonu: availability {spotsTotal: 10, spotsOpen: 7 ...}
  • Rezervasyonu tamamlanmış koltuk masajı oturumu: availability {spotsTotal: 1, spotsOpen: 0 ...}

Not: İstekler aşağıda tanımlanan müsaitlik durumu sıkıştırma biçimini kullanarak gönderiliyorsa bu iki alana çıkarım yapılır.

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

string (int64 format)

Boş yer sayısı.

availabilityTag

string

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

resources

object (Resources)

Hizmetin bir parçası olan farklı personel veya odalar olduğunda, bu müsaitlik durumu alanını diğerlerinden netleştirmek için kullanılan isteğe bağlı kaynaklar.

Ör. iki 2 eğitmenden oluşan aynı Yoga dersinde:

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 yapmak üzere kullanılabilecek ödeme seçeneklerini referans alan kimliklerin listesi. Gerçek ödeme seçenekleri Satıcı düzeyinde tanımlanır ve birden fazla Satıcı arasında da paylaşılabilir.

Bu alan, hizmet mesajında belirtilen tüm payment_option_ids'yi geçersiz kılar. Benzer şekilde, burada belirtilen payment_option_id'lerin hizmet mesajında bulunması GEREKMEZ, ancak Satıcı düzeyinde tanımlanmalıdır.

recurrence

object (Recurrence)

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

scheduleException[]

object (ScheduleException)

Bu hizmetin programlanamayacağı zamanlar. ScheduleException mesajlarının sayısını sınırlandırmak için bitişik istisnalara katılmayı deneyin.

deposit

object (Deposit)

Bu müsaitlik durumu için isteğe bağlı ödeme. Hizmet ödemesi belirtilmişse geçersiz kılınır.

noShowFee

object (NoShowFee)

Bu müsaitlik durumu için isteğe bağlı, rezervasyonu kullanmama ücreti alınır. Hizmetin gösterilmeme ücreti belirtilmişse geçersiz kılınır.

requireCreditCard

enum (RequireCreditCard)

Kullanıcının bu müsaitlik durumu aralığını rezerve edebilmesi için bir kredi kartı sağlamasının gerekip gerekmediğini belirtir. Değer ayarlanmazsa ayarlanmaları hizmet düzeyinden devralınır. (isteğe bağlı)

ticketTypeId[]

string

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

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

Hafta içi günlerde 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ünde hizmet: TicketType {ticketTypeId: "adult" shortDescription: "Adult"} TicketType {ticketTypeId: "genç" ShortDescription: "Youth"} TicketType {ticketTypeId: "senior" shortDescription: "Kıdemli"}

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

(isteğe bağlı)

durationRequirement

enum (DurationRequirement)

Zaman aralığı süresini ve/veya bitiş zamanını gösterme koşulu. 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üzeyindeki SchedulingRules ile ilgili tüm planlama kurallarını geçersiz kılar.

confirmationMode

enum (ConfirmationMode)

Bu müsaitlik durumu için rezervasyon yapılırken 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 moduyla müsaitlik durumu için rezervasyon oluşturma girişimleri hemen reddedilmeli ya da BEKLEMEDE durumuyla oluşturulmalıdır.

Kaynaklar

Kaynak, farklı personel üyeleri veya odalar hizmetin bir parçası olduğunda müsaitlik durumu alanlarını birbirinden ayırt etmek için kullanılır. Farklı kaynaklara sahip olduklarında aynı hizmet ve zaman aralığı için birden fazla yuva birlikte var olabilir.

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

string

Hizmeti sağlayan personel için isteğe bağlı kimlik. Bu alan tüm satıcılar, hizmetler ve stok durumu kayıtlarında personeli tanımlar. Ayrıca geçmiş rezervasyonlarla ilişki kurulmasını sağlamak için zaman içinde istikrarlı olmalıdır. PersonelAdı varsa bu alan da mevcut olmalıdır.

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 insan tarafından okunabilir olmalıdır. Personel kimliği varsa bu alan da mevcut olmalıdır.

roomId

string

Hizmetin bulunduğu odanın isteğe bağlı kimliği. Bu alan tüm satıcılar, hizmetler ve müsaitlik durumu kayıtlarında odayı tanımlar. Ayrıca geçmiş rezervasyonlarla ilişki kurulmasını sağlamak için zaman içinde istikrarlı olmalıdır. RoomName varsa bu alan da bulunmalıdır.

roomName

string

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

partySize

integer

Yalnızca Yemek için geçerlidir: Bu zaman aralığı boyunca konaklayabilecek kişi sayısı. Bir restoran, aynı anda birden fazla Slot ile ilişkilendirilebilir. Bu Slotların her biri farklı bir parti Boyutu belirtir (örneğin, rezervasyonda 2, 3 veya 4 kişi oturabiliyorsa).

Yinelenme

Yineleme mesajları isteğe bağlıdır ancak sürekli olarak tekrarlanan kullanılabilirlik alanlarının daha kompakt bir temsiline olanak tanır. Genellikle bir günlük çalışma programını temsil ederler. ScheduleException mesajları daha sonra iş günü içindeki rezerve edilmiş/kullanılamayan zaman aralıklarını göstermek için kullanılır.

Koşullar:

  1. Kullanılabilirlik slotları veya yinelemelerin genişletilmesi aynı slotları 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 karıştırmayın. Yinelenme, randevu sunan satıcılara veya hizmetlere uygundur. Standart biçim, düzenli olarak planlanmış derslere 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 ne kadar tekrarlanacağını içeren maksimum UTC zaman damgası.

RFC3339 UTC "Zulu" zaman damgası biçiminde olmalıdır. Örnekler: "2014-10-02T15:01:23Z" ve "2014-10-02T15:01:23.045123456Z".

repeatEvery

string (Duration format)

Art arda gelen kullanılabilirlik aralıkları arasındaki süreyi tanımlar.

Örnek: 20 dakika süreli kullanılabilirlik, 30 dakikada bir tekrarlama 30 dakika, startTime 09:00'a kadar ve 11:00'a kadar uzatma durumu; 09:00 - 9:20, 09:30-09:50, 10:00-10:20, 10:30-10:50 arası zaman aralıkları oluşturur. (gerekli)

En fazla dokuz kesir basamağı olan ve "s" ile biten, saniye cinsinden süre. Örnek: "3.5s".

ScheduleException

ScheduleException mesajları, yukarıda açıklanan yinelemenin istisnaları olan, iş günü içindeki rezerve edilmiş/kullanılamayan zaman aralıklarını temsil eder. Zaman aralıkları rezerve edildikçe istisnalar listesi yeni kullanılamayan zaman aralıklarını yansıtacak şekilde güncellenmelidir. Yinelenmenin kendisi değiştirilmemelidir.

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

object (TimeRange)

Özel durumun zaman aralığı. Yinelenme tarafından tanımlanan, bu kapalı zaman aralığıyla çakışan tüm alanlar kullanılamaz olarak kabul edilir.

Örnek: Yineleme 20 dakika, 30 dakika tekrarlama 30 dakika, startTime 09:00 ve tekrarKalma sıklığı 11:00 olarak belirtiliyorsa zaman aralığı 09:45 - 11:00 (zaman aralığı) olan bir ScheduleException, 09:30-09:50, 01:30-09:50 saatleri arasında alanları kullanılamaz hale getirir.

Zaman aralığı kapalı ve açık olduğundan 11:00'de başlayan zaman aralığı bu durumdan etkilenmez.

DurationRequirement

Bu sıralama, kullanıcının istenen aralık süresini/bitiş süresini onaylaması veya görüntülemesi için hangi gereksinimlerin mevcut olduğunu gösterir.

Sıralamalar
DURATION_REQUIREMENT_UNSPECIFIED Bitiş zamanının nasıl işlendiği belirtilmemiş. Bu, varsayılan ayardır.
DO_NOT_SHOW_DURATION Bitiş zamanı, kullanıcıya gösterilmez.
MUST_SHOW_DURATION Randevu alabilmeniz için bitiş zamanının kullanıcıya gösterilmesi gerekir.

SchedulingRuleOverrides

Kullanılabilirlik düzeyi planlama kuralları.

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

string (int64 format)

Bu zaman aralığının en son rezerve edilebileceği son zaman (saniye cinsinden). Bu zaman damgası, dikkate alınması gereken alanın startSec'inden önce olmalıdır (kullanıcıların başlangıç zamanından sonra rezervasyon yapabilmesi gerekiyorsa hizmet düzeyinde SchedulingRules.min_booking_before_end_time'ı). Mevcut olduğunda ilgili Hizmetin SchedulingRules'un min_booking_buffer bölümünde belirtilen her şeyi geçersiz kılar.

firstBookableSec

string (int64 format)

Bu zaman aralığı ilk kez (saniye cinsinden) rezerve edilebilir. Bu zaman damgası, alanın startSec'inden 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 (Unex epoch'tan bu yana saniye cinsinden). Bu alan, hizmet düzeyindeki tüm iptal kurallarını geçersiz kılar. (isteğe bağlı)

ConfirmationMode

Rezervasyon müsaitlik durumu için kullanılan onay modları.

Sıralamalar
CONFIRMATION_MODE_UNSPECIFIED Onay modu belirtilmedi. Eşzamanlı onay işlemi yapı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 Availability değerini değiştirir ve döndürür.