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

Kaynak: Stok durumu

Satıcının hizmetinin, saati ve yer sayısını belirten müsaitlik durumu aralığı.

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)
  },
  "prepayment": {
    object (Prepayment)
  },
  "requireCreditCard": enum (RequireCreditCard),
  "ticketTypeId": [
    string
  ],
  "durationRequirement": enum (DurationRequirement),
  "schedulingRuleOverrides": {
    object (SchedulingRuleOverrides)
  },
  "confirmationMode": enum (ConfirmationMode),
  "linkoutRequiredReason": enum (LinkoutRequiredReason)
}
Alanlar
startTime

string (Timestamp format)

Randevu aralığının başlangıç zamanı.

Nanosaniye çözünürlüğüne sahip ve en fazla dokuz kesirli basamak içeren 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)

Randevu aralığının süresi

En fazla dokuz kesirli basamak içeren ve "s" ile biten, saniye cinsinden süre. Örnek: "3.5s".

spotsTotal

string (int64 format)

Bu müsaitlik durumunun toplam yer sayısı ve açık yer sayısı. Örnekler:

  • 3 rezervasyon yapılmış 10 kişilik yoga dersi: availability {spotsTotal: 10, spotsOpen: 7 ...}
  • Dolu olan 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önderirseniz bu iki alan çıkarılır.

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

string (int64 format)

Açık park yeri sayısı.

availabilityTag

string

Bu müsaitlik durumu aralığını tanımlayan isteğe bağlı opak bir dize. Ayarlanırsa randevu alma/güncelleme/iptal etme isteklerine dahil edilir.

resources

object (Resources)

Farklı personel veya odalar hizmetin bir parçası olduğunda bu müsaitlik durumu aralığının diğerlerinden ayırt edilmesi için kullanılan isteğe bağlı kaynaklar.

Örneğin, iki eğitmenle aynı yoga sınıfı:

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çeneklerine atıfta bulunan kimliklerin listesi. Gerçek ödeme seçenekleri satıcı düzeyinde tanımlanır ve birden fazla satıcı arasında paylaşılabilir.

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

recurrence

object (Recurrence)

Birden fazla başlangıç saatini temsil eden müsaitlik durumu için yineleme bilgileri. Tekrarlanan bir toplantı, bir iş günü için randevular içermelidir.

scheduleException[]

object (ScheduleException)

Bu hizmetin planlanamaması scheduleException mesajlarının sayısını sınırlamak için bitişik istisnaları birleştirebilirsiniz.

deposit

object (Deposit)

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

noShowFee

object (NoShowFee)

Bu müsaitlik durumu için isteğe bağlı olarak uygulanan, rezervasyonun kullanılmaması durumunda ödenmesi gereken ücret. Belirtilmişse hizmetin randevuya gelmemesi ücretini geçersiz kılar.

prepayment

object (Prepayment)

İsteğe bağlı. Bu müsaitlik durumu için isteğe bağlı ön ödeme bilgileri.

requireCreditCard

enum (RequireCreditCard)

Kullanıcının bu müsaitlik durumu aralığını rezerve etmek için kredi kartı sağlaması gerekip gerekmediğini belirtir. Değer ayarlanmazsa hizmet düzeyinde ayarlanmışsa 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. Ayarlanmamışsa bu slot 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üne sahip hizmet: TicketType {ticketTypeId: "adult_1" shortDescription: "Yetişkin hafta içi"} TicketType {ticketTypeId: "adult_2" shortDescription: "Yetişkin hafta sonu"} TicketType {ticketTypeId: "youth_1" shortDescription: "Çocuk hafta içi"} TicketType {ticketTypeId: "youth_2" shortDescription: "Çocuk hafta sonu"}

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

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

Bu zaman aralığı için üç bilet türünün de mevcut olduğunu belirtmek üzere availability {ticketTypeId: "adult" ticketTypeId: "youth" ticketTypeId: "senior" ...} veya "availability {...}" değerini kullanın (bu aralıkta ticketTypeId değerini ayarlamayın).

(isteğe bağlı)

durationRequirement

enum (DurationRequirement)

Açılış ve/veya bitiş zamanını gösterme şartı. Alan kullanılamıyorsa bu alan yoksayılır. Yapılacaklar alanında kullanılmaz. (isteğe bağlı)

schedulingRuleOverrides

object (SchedulingRuleOverrides)

Kullanılabilirlik planlama kuralları. Alanlar doldurulursa hizmet düzeyindeki SchedulingRules'da ilgili tüm planlama kuralları geçersiz kılınır.

confirmationMode

enum (ConfirmationMode)

Bu müsaitlik durumu için rezervasyon yapılırken kullanılacak onay modu. ONAY_MODU_SYNCHRONOUS onay modu olan müsaitlik durumu rezervasyonu oluşturma girişimleri hemen onaylanmalı veya reddedilmelidir. ONAY_MODU_ASYNCHRONOUS onay modu olan müsaitlik durumları için rezervasyon oluşturma girişimleri hemen reddedilmelidir veya BEKLEMEDE durumuyla oluşturulmalıdır.

linkoutRequiredReason

enum (LinkoutRequiredReason)

İsteğe bağlı. Bu slot için bağlantı çıkışının gerekli olmasının nedeni. Ayarlandıysa bu yuvanın Satıcı kaynağında geçerli bir LinkoutTemplate olmalıdır. (isteğe bağlı)

Kaynaklar

Farklı personel veya odalar hizmetin bir parçası olduğunda, müsaitlik durumu aralıklarını birbirinden ayırt etmek için kaynak kullanılır. Aynı hizmet ve zaman aralığı için farklı kaynaklara sahip birden fazla alan birlikte bulunabilir.

JSON gösterimi
{
  "staffId": string,
  "staffName": string,
  "roomId": string,
  "roomName": string,
  "partySize": integer,
  "roomDescription": {
    object (Text)
  }
}
Alanlar
staffId

string

Hizmeti veren personel için isteğe bağlı kimlik. Bu alan, tüm satıcılar, hizmetler ve müsaitlik durumu kayıtlarında personel üyesini tanımlar. Ayrıca, geçmiş rezervasyonlarla ilişkilendirilebilmesi için zaman içinde sabit kalmalıdır. staffName alanı varsa bu alan da mevcut olmalıdır.

staffName

string

Hizmeti sunan personel üyesinin isteğe bağlı adı. Bu alan, rezervasyon yapan kullanıcılara gösterilir ve şeffaf olmayan bir tanımlayıcı yerine kullanıcı tarafından okunabilir olmalıdır. staffId mevcutsa bu alan da mevcut olmalıdır.

roomId

string

Hizmetin bulunduğu oda için isteğe bağlı bir kimlik. Bu alan, tüm satıcılar, hizmetler ve müsaitlik durumu kayıtlarında odayı tanımlar. Ayrıca, geçmiş rezervasyonlarla ilişkilendirilebilmesi için zaman içinde sabit kalmalıdır. roomName alanı varsa bu alan da bulunmalı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 şeffaf olmayan bir tanımlayıcı yerine kullanıcı tarafından okunabilir olmalıdır. (isteğe bağlı ancak roomId varsa zorunludur) Yemek alanında oda adı yalnızca bar veya veranda gibi oturma alanları için kullanılmalıdır ve sabit fiyatlı menüler, özel etkinlikler veya oda dışındaki diğer değerler (ör. rezervasyon veya akşam yemeği) için kullanılmamalıdır. Varsayılan oturma alanının ilişkili bir odası olmaması önemle tavsiye edilir.

partySize

integer

Yalnızca Yemek için geçerli: Bu zaman aralığında kabul edilebilecek grup boyutu. Bir restoran, aynı zaman için birden fazla Bölüm ile ilişkilendirilebilir. Örneğin, rezervasyonla 2, 3 veya 4 kişi oturabiliyorsa her biri farklı bir grup boyutu belirtir.

roomDescription

object (Text)

İsteğe bağlı. Yerelleştirilmiş oda açıklaması. Ayarlanırsa varsayılan bir değer sağlanmalıdır. Satıcının yerel ayarı için yaygın dillerin de sağlanması tercih edilir. (isteğe bağlı)

Yinelenme

Yinelenen mesajlar isteğe bağlıdır ancak sürekli olarak tekrarlanan müsaitlik durumu aralıklarını daha kompakt bir şekilde temsil etmenize olanak tanır. Bunlar genellikle bir günlük çalışma programını temsil eder. Ardından, çalışma günü içinde rezerve edilmiş/kullanılamayacak zaman aralıklarını temsil etmek için ScheduleException mesajları kullanılır.

Koşullar:

  1. Kullanılabilirlik aralıkları veya tekrarların genişletilmesi, aynı aralıkları OLUŞTURMAMALIDIR. Kimlikler, startTime, duration ve resources eşleşirse slotlar aynı kabul edilir.
  2. Tek bir hizmetin aralıklarında standart kullanılabilirlik biçimini ve yinelemeyi BİRLİKTE KULLANMAYIN. Yinelenen randevular, randevu sunan satıcılara/hizmetlere avantaj sağlar. Standart biçim, düzenli olarak planlanmış dersleri olan satıcılara/hizmetlere yöneliktir.
  3. Tekrarlar 24 saatten uzun sürmemelidir.
JSON gösterimi
{
  "repeatUntil": string,
  "repeatEvery": string
}
Alanlar
repeatUntil

string (Timestamp format)

Kullanılabilirliğin tekrarlandığı en son UTC zaman damgası.

Nanosaniye çözünürlüğüne sahip ve en fazla dokuz kesirli basamak içeren 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)

Art arda gelen müsaitlik durumu aralıkları arasındaki süreyi tanımlar.

Örnek: 20 dakikalık bir süre, 30 dakikalık bir tekrar aralığı, 9:00'da başlayan bir başlangıç zamanı ve 11:00'de biten bir tekrar süresi olan bir bilgi dokümanı, 9:00-9:20, 9:30-9:50, 10:00-10:20, 10:30-10:50, 11:00-11:20 saatlerinde aralık oluşturur. (gerekli)

En fazla dokuz kesirli basamak içeren ve "s" ile biten, saniye cinsinden süre. Örnek: "3.5s".

ScheduleException

ScheduleException mesajları, çalışma gününde rezerve edilmiş/kullanılamayacak zaman aralıklarını temsil eder. Bunlar, yukarıda açıklanan yineleme için istisnalardır. Zaman aralıkları rezerve edildikçe istisnalar listesi, yeni kullanılamayan zaman aralıklarını yansıtacak şekilde güncellenmelidir. Tekrarlama işleminin kendisi değiştirilmemelidir.

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

object (TimeRange)

İstisnanın zaman aralığı. Yineleme tarafından açıklanan ve bu kapalı-açık zaman aralığıyla çakşan tüm aralıklar kullanılamaz olarak kabul edilir.

Örnek: Yineleme için 20 dakikalık bir süre, 30 dakikalık bir tekrar aralığı, 9:00'da bir başlangıç zamanı ve 11:00'de bir tekrar bitiş zamanı belirtilmişse 9:45-11:00 zaman aralığına sahip bir ScheduleException, 9:30-9:50, 10:00-10:20 ve 10:30-10:50 arasındaki zaman aralıklarını kullanılamaz hale getirir.

Zaman aralığı kapalı-açık olduğu için 11:00'de başlayan yuvanın etkilenmeyeceğini unutmayın.

Ön Ödeme

Kullanıcının rezervasyonu kapsamında ödemesi gereken tutar.

JSON gösterimi
{
  "priceInfo": {
    object (PriceInfo)
  }
}
Alanlar
priceInfo

object (PriceInfo)

Fiyat ayrıntıları kapsayıcısı.

PriceInfo

Fiyat ayrıntıları kapsayıcısı.

JSON gösterimi
{
  "priceType": enum (PriceType),

  // Union field price_options can be only one of the following:
  "price": {
    object (Price)
  },
  "priceRange": {
    object (PriceRange)
  }
  // End of list of possible types for union field price_options.
}
Alanlar
priceType

enum (PriceType)

Fiyatın veya fiyat aralığının nasıl uygulanacağını (kişi başına veya sabit) tanımlar

Birlik alanı price_options. Fiyat seçenekleri, tam bir fiyat veya bir aralık belirtmektir. price_options yalnızca aşağıdakilerden biri olabilir:
price

object (Price)

Bir hizmetin fiyatı veya ücreti.

priceRange

object (PriceRange)

Bir hizmetin veya ücretin üst ve/veya alt sınırı.

PriceRange

Her iki değer de ayarlanmadığında sınırsız olarak değerlendirilen bir parasal tutar aralığı için sarmalayıcı. minAmount ve maxAmount özelliklerinden en az biri gereklidir.

JSON gösterimi
{
  "minPrice": {
    object (Price)
  },
  "maxPrice": {
    object (Price)
  }
}
Alanlar
minPrice

object (Price)

Minimum tutar.

maxPrice

object (Price)

Maksimum tutar. Her zaman minPrice değerinden büyük olmalıdır.

DurationRequirement

Bu enum, kullanıcının istenen alanların süresini/bitiş zamanını kabul etmesi veya görüntülemesi için hangi koşulların gerektiğini belirtir.

Sıralamalar
DURATION_REQUIREMENT_UNSPECIFIED Bitiş zamanının nasıl işlendiği belirtilmemiş. Bu, varsayılan seçenektir.
DO_NOT_SHOW_DURATION Bitiş zamanı kullanıcıya gösterilmez.
MUST_SHOW_DURATION Randevu alınabilmesi için bitiş saatinin 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 rezerve edilebildiği son zaman (saniye cinsinden). Bu zaman damgasının, dikkate alınması için zaman aralığının startSec değerinden önce olması gerekir (Kullanıcıların başlangıç zamanından sonra rezervasyon yapabilmesi gerekiyorsa hizmet düzeyinde SchedulingRules.min_booking_before_end_time değerini kullanın). Varsa ilgili Hizmet'in SchedulingRules özelliğinin min_booking_buffer alanında belirtilen her şeyi geçersiz kılar.

firstBookableSec

string (int64 format)

Bu zaman aralığının rezerve edilebildiği ilk zaman (saniye cinsinden). Bu zaman damgası, alanın startSec değerinden veya belirtilmişse lastBookableSec değerinden ö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 başlangıç zamanından itibaren saniye cinsinden). Bu alan, hizmet düzeyinde iptal kurallarını geçersiz kılar. (isteğe bağlı)

ConfirmationMode

Müsaitlik durumu rezervasyonu yapılırken 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 onaylanır.
CONFIRMATION_MODE_ASYNCHRONOUS Bu müsaitlik durumu için yapılan rezervasyonlar eşzamansız olarak onaylanır.

LinkoutRequiredReason

Bir slotun bağlantı deneyimi sunmasının nedeni.

Sıralamalar
LINKOUT_REQUIRED_REASON_UNSPECIFIED Varsayılan değer: Kullanmayın, bilinmiyor anlamına gelir.
PAYMENT_REQUIRED Rezervasyon için iş ortağı platformunda ödeme yapılması gerekir.

Yöntemler

replace

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