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

Kaynak: Stok durumu

Satıcının hizmetinin uygunluk aralığı (saat ve yer sayısı belirtilir).

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ıç saati.

Zaman damgasında RFC 3339 kullanılır. Yani oluşturulan çıkış her zaman Z ile normalleştirilir ve 0, 3, 6 veya 9 kesirli basamak kullanılır. "Z" dışındaki zaman farkları da kabul edilir. Örnekler: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" veya "2014-10-02T15:01:23+05:30".

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 uygunluk için toplam yer sayısı ve boş yer sayısı. Örnekler:

  • 10 kişilik yoga dersinde 3 rezervasyon var: availability {spotsTotal: 10, spotsOpen: 7 ...}
  • Zaten tamamen dolu olan koltuk masajı seansı: availability {spotsTotal: 1, spotsOpen: 0 ...}

Not: Aşağıda tanımlanan kullanılabilirlik sıkıştırma biçimi kullanılarak istek gönderiliyorsa bu iki alan çıkarılır.

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

string (int64 format)

Açık yer sayısı.

availabilityTag

string

Bu stok durumu aralığını tanımlamak için isteğe bağlı olarak kullanılan opak dize. Ayarlandığında, randevu alma/güncelleme/iptal etme isteklerine dahil edilir.

resources

object (Resources)

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

Örneğin, iki eğitmenin verdiği 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 yer için ödeme yapmak üzere kullanılabilecek ödeme seçeneklerine referans veren 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 değerlerini geçersiz kılar. Benzer şekilde, burada belirtilen payment_option_ids değerlerinin hizmet mesajında bulunması GEREKMEZ ancak satıcı düzeyinde tanımlanması gerekir.

recurrence

object (Recurrence)

Kullanılabilirlik için yinelenme bilgileri (birden fazla başlangıç zamanını temsil eder). Bir tekrar, bir iş gününe ait randevuları içermelidir.

scheduleException[]

object (ScheduleException)

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

deposit

object (Deposit)

Bu uygunluk için isteğe bağlı depozito. Belirtilmişse hizmet depozitosunu geçersiz kılar.

noShowFee

object (NoShowFee)

Bu müsaitlik için isteğe bağlı olarak "rezervasyonu iptal etmeme" ücreti alınabilir. Belirtilmişse hizmete gelinmeme ü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 uygunluk aralığına rezervasyon yaptırmak için kredi kartı bilgisi vermesi gerekip gerekmediğini gösterir. Değer ayarlanmamışsa hizmet düzeyinde ayarlanmışsa oradan devralınır. (isteğe bağlı)

ticketTypeId[]

string

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

  • Dört bilet türü içeren hizmet: TicketType {ticketTypeId: "adult_1" shortDescription: "Adult weekdays"} TicketType {ticketTypeId: "adult_2" shortDescription: "Adult weekends"} TicketType {ticketTypeId: "youth_1" shortDescription: "Youth weekdays"} TicketType {ticketTypeId: "youth_2" shortDescription: "Youth weekends"}

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

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

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

(isteğe bağlı)

durationRequirement

enum (DurationRequirement)

Slot süresini ve/veya bitiş zamanını gösterme zorunluluğu. Yuva kullanılamıyorsa bu alan yoksayılır. Aktiviteler dikeyinde kullanılmaz. (isteğe bağlı)

schedulingRuleOverrides

object (SchedulingRuleOverrides)

Kullanılabilirlik planlama kuralları. Alanlar doldurulursa hizmet düzeyindeki SchedulingRules'da bulunan ilgili planlama kurallarını geçersiz kılar.

confirmationMode

enum (ConfirmationMode)

Bu uygunluk durumu rezerve edilirken kullanılacak onay modu. CONFIRMATION_MODE_SYNCHRONOUS onay moduna sahip uygunluk durumları için rezervasyon oluşturma girişimleri hemen onaylanmalı veya reddedilmelidir. CONFIRMATION_MODE_ASYNCHRONOUS onay moduna sahip müsaitlik durumları için rezervasyon oluşturma girişimleri hemen reddedilmeli veya PENDING durumuyla oluşturulmalıdır.

linkoutRequiredReason

enum (LinkoutRequiredReason)

İsteğe bağlı. Bu alan için yönlendirme bağlantısı gerekmesinin nedeni. Ayarlanırsa bu yer için satıcı kaynağının geçerli bir LinkoutTemplate'i olmalıdır. (isteğe bağlı)

Kaynaklar

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

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

string

Hizmeti sağlayan personel üyesinin isteğe bağlı kimliği. Bu alan, tüm satıcılar, hizmetler ve uygunluk kayıtlarındaki personel üyesini tanımlar. Ayrıca, geçmiş rezervasyonlarla ilişkilendirmeye olanak tanımak için zaman içinde sabit kalması gerekir. staffName mevcutsa 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 opak bir tanımlayıcı yerine okunabilir olmalıdır. staffId varsa bu alan da 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 kayıtları genelinde odayı tanımlar. Ayrıca, geçmiş rezervasyonlarla ilişkilendirmeye olanak tanımak için zaman içinde sabit kalması gerekir. roomName mevcutsa bu alan da 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 okunabilir olmalıdır. (isteğe bağlıdır ancak roomId mevcutsa gereklidir) Yemek alanında oda adı yalnızca bar veya veranda gibi oturma alanları için kullanılmalı, sabit fiyatlı menüler, özel etkinlikler veya oda dışı diğer değerler (ör. rezervasyon veya akşam yemeği) için kullanılmamalıdır. Varsayılan oturma alanının kendisine bağlı bir oda olmaması kesinlikle önerilir.

partySize

integer

Yalnızca yemek için geçerlidir: Bu zaman aralığında ağırlanabilecek grup boyutu. Örneğin, rezervasyonla 2, 3 veya 4 kişi oturabiliyorsa bir restoran aynı saat için birden fazla yerle ilişkilendirilebilir ve her birinde farklı bir partySize (parti boyutu) belirtilebilir.

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

Tekrar mesajları isteğe bağlıdır ancak sürekli olarak tekrarlanan uygunluk aralıklarının daha kompakt bir şekilde gösterilmesine olanak tanır. Genellikle bir günlük çalışma programını temsil eder. Ardından, ScheduleException iletileri, iş günü içindeki ayrılmış/kullanılamayan zaman aralıklarını göstermek için kullanılır.

Koşullar:

  1. Kullanılabilirlik aralıklarının veya tekrarların genişletilmesi, aynı aralıkları oluşturmamalıdır. Kimlikler, startTime, duration ve resources eşleşiyorsa yuvalar aynı kabul edilir.
  2. Tek bir hizmetin zaman aralıklarında standart kullanılabilirlik biçimini ve tekrarı KARIŞTIRMAYIN. Tekrarlama, randevu sunan satıcılar/hizmetler için 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ığı maksimum UTC zaman damgası (dahil).

Zaman damgasında RFC 3339 kullanılır. Yani oluşturulan çıkış her zaman Z ile normalleştirilir ve 0, 3, 6 veya 9 kesirli basamak kullanılır. "Z" dışındaki zaman farkları da kabul edilir. Örnekler: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" veya "2014-10-02T15:01:23+05:30".

repeatEvery

string (Duration format)

Birbiri ardına gelen müsaitlik aralıkları arasındaki süreyi tanımlar.

Örnek: 20 dakika süren, 30 dakikada bir tekrarlanan, 09:00'da başlayan ve 11:00'a kadar tekrarlanan bir uygunluk, 09:00-09:20, 09:30-09:50, 10:00-10:20, 10:30-10:50 ve 11:00-11:20 saatleri arasında uygunluk 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 iletileri, iş günü içinde ayrılmış/kullanılamayan zaman aralıklarını temsil eder. Bu aralıklar, yukarıda açıklanan tekrarlama durumunun istisnalarıdır. Zaman aralıkları rezerve edildikçe, istisnalar listesi yeni kullanılamayan zaman aralıklarını yansıtacak şekilde güncellenmelidir. Tekrarlama değiştirilmemelidir.

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

object (TimeRange)

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

Örnek: Tekrarlama 20 dakikalık bir süre, 30 dakikalık bir repeatEvery, 09:00 başlangıç saati ve 11:00 bitiş saati belirtiyorsa 09:45-11:00 zaman aralığına sahip bir ScheduleException, 09:30-09:50, 10:00-10:20 ve 10:30-10:50 zaman aralıklarındaki yerleri kullanılamaz hale getirir.

Zaman aralığı kapalı-açık olduğundan saat 11:00'de başlayan zaman aralığının etkilenmeyeceğini unutmayın.

Ön Ödeme

Kullanıcının rezervasyonunun bir parçası olarak ödemesi gereken tutar.

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

object (PriceInfo)

Fiyat ayrıntılarını içeren kapsayıcı.

PriceInfo

Fiyat ayrıntılarını içeren kapsayıcı.

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 uygulandığını (kişi başına veya sabit) tanımlar.

price_options birleşik alanı. Fiyat seçenekleri, tam bir fiyat veya bir aralık belirtmek içindir. price_options aşağıdakilerden yalnızca biri olabilir:
price

object (Price)

Bir hizmetin veya ücretin fiyatı.

priceRange

object (PriceRange)

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

PriceRange

Her iki değer de ayarlanmadığı sürece sınırsız olarak kabul edilen bir dizi parasal tutarın sarmalayıcısı. En az bir minAmount ve maxAmount 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 yuvaların süresini/bitiş zamanını onaylaması veya görüntülemesi için hangi şartların geçerli olduğunu gösterir.

Sıralamalar
DURATION_REQUIREMENT_UNSPECIFIED Bitiş zamanının nasıl işleneceği belirtilmemiştir. Bu, varsayılan seçenektir.
DO_NOT_SHOW_DURATION Bitiş saati kullanıcıya gösterilmez.
MUST_SHOW_DURATION Randevu oluşturulabilmesi için bitiş saati kullanıcıya gösterilmelidir.

SchedulingRuleOverrides

Kullanılabilirlik düzeyi planlama kuralları.

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

string (int64 format)

Bu aralığın son rezervasyon tarihi (saniye cinsinden). Bu zaman damgası, yuvanın startSec değerinden ö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 kullanılmalıdır). Varsa ilgili hizmetin SchedulingRules özelliğinin min_booking_buffer bölümünde belirtilenleri geçersiz kılar.

firstBookableSec

string (int64 format)

Bu aralığın ilk kez rezerve edilebileceği 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)

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

ConfirmationMode

Uygunluk 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 için yapılan rezervasyonlar asenkron olarak onaylanır.

LinkoutRequiredReason

Bir alanın neden yönlendirme deneyimi içerdiği.

Sıralamalar
LINKOUT_REQUIRED_REASON_UNSPECIFIED Varsayılan değer: Kullanmayın, bilinmiyor anlamına gelir.
PAYMENT_REQUIRED Slotun rezerve edilmesi 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.