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

Toplantı 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)

Toplantı 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 ...}
  • 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.

  • Yineleme, 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)

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.

Ö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 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)

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ırlamak için bitişik istisnaları birleştirebilirsiniz.

deposit

object (Deposit)

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

noShowFee

object (NoShowFee)

Bu müsaitlik durumu için isteğe bağlı, rezervasyonu kullanmama ücreti alınır. Belirtilmişse hizmetin randevuya gelmemesi ücretini geçersiz kılar.

prepayment

object (Prepayment)

İsteğe bağlı. Bu kullanılabilirlik durumu için isteğe bağlı ön ödeme bilgileri.

requireCreditCard

enum (RequireCreditCard)

Kullanıcının bu müsaitlik durumu aralığında rezervasyon yapması 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. 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 günlerde 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ü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)

Açılış 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)

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. 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.

linkoutRequiredReason

enum (LinkoutRequiredReason)

İsteğe bağlı. Bu alan için bağlantı verilmesinin gerekli olmasının nedeni. Ayarlanırsa bu alanın Satıcı kaynağında geçerli bir LinkoutTemplate olması gerekir. (isteğe bağlı)

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,
  "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 stok durumu kayıtlarında personeli tanımlar. Ayrıca geçmiş rezervasyonlarla ilişki kurmak 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. 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şki kurmak için zaman içinde istikrarlı olmalıdır. RoomName 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 opak bir tanımlayıcı yerine insan 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ı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).

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. 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 aralıkları veya tekrarların genişletilmesi, aynı aralıkları 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. Yinelenen randevular, randevu sunan satıcılara/hizmetlere avantaj sağlar. 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)

Stok durumunun şu tarihe kadar tekrarlanacağı maksimum UTC zaman damgasıdır.

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 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 kesirli basamak içeren 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ığı. 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 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.

Ön Ödeme

Kullanıcıdan rezervasyon kapsamında alınabileceği bir ödeme.

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

Birleştirme alanı price_options. Fiyat seçenekleri, tam bir fiyat veya bir aralık belirtmektir. price_options şunlardan yalnızca biri olabilir:
price

object (Price)

Bir hizmetin veya ücretin fiyatıdır.

priceRange

object (PriceRange)

Bir hizmet ya da ücretin üst ve/veya alt sınırı.

PriceRange

Her iki değer de ayarlanmadığı sürece 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 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 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 Hizmetin SchedulingRules özelliğinin min_booking_buffer parametresinde 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 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.

LinkoutRequiredReason

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

Sıralamalar
LINKOUT_REQUIRED_REASON_UNSPECIFIED Varsayılan değer: Kullanmayın, bilinmiyor değerine eşittir.
PAYMENT_REQUIRED Slot için rezervasyon yapmak üzere iş ortağı platformunda ödeme gerekir.

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.