Konaklama Süresi (KS) Fiyatlandırması

Seyahat İş Ortağı Fiyatları API'si

Travel Partner Prices API'si size gönderme işlemleri için RESTful arayüzü sunar tesis fiyatlarını Google'a bildirmelidir.

Hizmet: Travelpartnerprices.googleapis.com

Bu hizmeti çağırmak için Google'ın sağladığı istemciyi kullanmanızı öneririz. kitaplıklar. Eğer uygulamasının bu hizmeti çağırmak için kendi kitaplıklarınızı kullanması gerekiyor. Uygulama Keşif Dokümanı'nı almak için Teknik Hesap Yöneticisi (THY) bu hizmetten bahsedeceğim.

Hizmet uç noktası

Hizmet uç nokta, bir bir API hizmetinin ağ adresini belirten temel URL. Tek hizmet birden fazla hizmet uç noktası olabilir. Bu hizmet aşağıdaki hizmete sahiptir uç noktası ve listelenen tüm URI'ler bu hizmet uç noktasına göre belirlenir:

https://travelpartnerprices.googleapis.com
Yöntemler
ingestLosPropertyPrices POST /v1/accounts/account_id/properties/property_id:ingestLosPropertyPrices

Belirtilen bir tesis için sağlanan Konaklama Süresi Fiyatlarını yükleyin.

HTTP olarak JSON kodlamalı KS fiyatları mesajı (aşağıya bakın) gerektirir e-posta mesajı

account_id: Bu dize değeri "Hesap Kimliği" Değer, Otel'in Hesap ayarları sayfasında listelenen bakın.

property_id: Bu öğenin değeri Otel Listesi Feed'inizdeki giriş kimliğiyle eşleşen bir dize olmalıdır.

API Kimlik Doğrulaması

Travel Partner Prices API'si şu işlemleri gerçekleştirmek için OAuth 2.0'ı kullanır: API'lere erişebilmeniz için uygulamanızın kimliğini doğrulayın.

Kurulumla ilgili adım adım talimatlar için OAuth ayarlarını yapma hakkında bilgi edinin. indirin. Kurulum bunlardır Travel Partner API ile ilgili talimatlar. Travel Partner API ve Travel Partner Prices API'si farklıdır. Bu kurulum talimatlarında "Travel Partner Prices API"yi değiştirmeniz gerekir olan herhangi bir yere "Travel Partner API" anlamına gelir.

İstekler

Söz dizimi

LoS Prices mesajında aşağıdaki söz dizimi kullanılır:

{
  "requestTime": YYYY-MM-DDTHH:mm:ss.SSSZ,
  "propertyPrices": {
    "arrivalDatePrices": [{
      "startDate": {
        "year": int
        "month": int
        "day": int
      }
      "endDate": {
        "year": int
        "month": int
        "day": int
      }
      "productPrices": [{
        "roomTypeId": "string"
        "ratePlanId": "string"
        "occupancyPrices": [{
          "adults": int
          "prices": [{
            "rateRuleId": "string"
            "currencyCode": "string"
            "rates": [night_1,night_2,...]
            "taxes": [night_1,night_2,...]
            "fees": [night_1,night_2,...]
          }]
        }]
      }]
    }]
  }
}

Öğeler ve Öznitelikler

Konaklama Süresi fiyatları mesajında aşağıdaki öğeler ve özellikler bulunur:

Öğe Yineleme sayısı Tür Açıklama
requestTime 1 string

KS Fiyatı mesajının gönderildiği zaman, RFC 3339 biçimli bir olarak dize.

Son 24 gün içinde requestTime ile gönderilmiş tüm iletiler saatinin işlenmesini ve atılmayanların sayısını belirlemeyi unutmayın.

Mesajlar requestTime sırasına göre işlenir. e-postalar alın. Örneğin, requestTime ile fiyat güncellemesi Şu andan sonra alınan 2019-05-03T14:09:00Z aynı seyahat planları için requestTime tutarında mesaj 2019-05-03T14:10:00Z daha sonra zaman damgası bulunan bir mesaj görürsünüz.

RFC 3339 için tam olarak belirtilmiş tarih ve saat kullanılması gerekir YYYY-MM-DDThh:mm:ss.SSZ Saat dilimi gerekli, belirtildi UTC ile arasında pozitif veya negatif hh:mm farkı olarak veya UTC için kısaltma olarak Z.

Kesirli saniyeler isteğe bağlıdır ve nanosaniye hassasiyeti var. Örneğin, 2017-01-15T01:30:15.01-08:00, geçmiş 15,01 saniyeyi kodlar 15 Ocak 2017, 01:30 PST.

propertyPrices 1 Object Tesis fiyatlarıdır. Bu propertyPrices içindeki tüm fiyatlar aynı mülk için geçerlidir.

Bu öğe tekrarlanmıyor. Birden fazla tesisin fiyatını göndermek için: birden fazla HTTP isteği (mülk başına en az bir tane) yapmanız gerekir.

arrivalDayPrices[] 1..n Object Varış tarihi için fiyatlar. Bu arrivalDayPrices içindeki tüm fiyatlar belirli bir tesis için geçerli ancak farklı varış tarihleri için geçerlidir.
startDate 1 Object productPrices tüm varış tarihlerine uygulanır startDate ile endDate arasında (bu alanlar dahil).

Yalnızca tek bir varış tarihi belirtmeye çalışıyorsanız (aralık değil), Varış tarihini hem startDate hem de endDate bölümlerine girin.

startDate.year 1 integer startDate yılı. 1 ile 9.999 arasında olmalıdır.
startDate.month 1 integer Bir yılın ayı. 1 ile 12 arasında olmalıdır.
startDate.day 1 integer Ayın günü. 1 ile 31 arasında olmalı, yıl ve ay için geçerlidir.
endDate 0..1 Object productPrices, startDate ve endDate (bu değerler dahil).

Yalnızca tek bir varış tarihi belirtmeye çalışıyorsanız (aralık değil), endDate atlanabilir.

endDate.year 1 integer endDate yılı. 1 ile 9.999 arasında olmalıdır.
endDate.month 1 integer Bir yılın ayı. 1 ile 12 arasında olmalıdır.
endDate.day 1 integer Ayın günü. 1 ile 31 arasında olmalı, yıl ve ay için geçerlidir.
productPrices[] 1..n Object Bir ürünün fiyatları. Bu productPrices içindeki tüm fiyatlar belirli bir tesis, varış tarihi kombinasyonu için geçerli ancak farklı ürünler.
roomTypeId 0..1 string Bu fiyatın atıfta bulunduğu odanın benzersiz kimliği. Tekliflerinizi otomatikleştirmek ve optimize etmek için Oda Paketi verilerini oda verilerinde gönderdiğinizle eşleştirmek için bu kimliği kullanın. Daha fazla bilgi için: Oda Paketi meta verileri.
ratePlanId 0..1 string Bu fiyatın işaret ettiği paket verilerinin benzersiz kimliği. Tekliflerinizi otomatikleştirmek ve optimize etmek için Oda Paketi verilerini, paket verilerinde gönderdiklerinizle eşleştirmek için bu kimliği kullanın. Daha fazla bilgi için: Oda Paketi meta verileri.
occupancyPrices[] 1..n Object Doluluk sayısına göre belirlenen fiyatlar. Bu occupancyPrices içindeki tüm fiyatlar belirli bir tesis, varış tarihi, ürün kombinasyonu için geçerlidir ancak farklı doluluk oranları.
adults 1 integer Şu da dahil olmak üzere oda başına rezervasyon yapılabilecek maksimum konuk sayısı: birlikte çalışır. Bu değer, karşılık gelen occupancyPrices alanına karşılık gelen ve pozitif bir değer olmalıdır 1 ile 99 arasında bir tam sayı.

Not: Doluluk durumunu bildirmek için destek ekibinizle iletişime geçin. dört yetişkinden daha büyüktür.

prices[] 1..n Object Konaklama süresi fiyatları. prices dahilindeki tüm fiyatlar şunun için geçerlidir: Belirli bir tesis, varış tarihi, ürün ve doluluk kombinasyonu.
rateRuleId 0..1 string Koşullu fiyatlar için: bu kimlik, bir ücreti Ücret Kuralı Tanımlama dosyanızdaki bir tanımla eşleştirir. Bu alan için karakter sınırı 40 karakterdir.
currencyCode 1 string rates ve taxes olmak üzere üç harfli para birimi kodu sağlandığından emin olun. Örneğin, Türk lirası için "USD".
rates[] 30 float Konaklama süresi fiyatlarının taban ücret bileşeni.

Karşılık gelen bir taxes değeri sağlanırsa bu ücret dahil değildir. Toplam fiyat, ilgili anahtar kelimelerin vergi oranı ve vergi.

n dizinindeki değer, bir n+1 değerine karşılık gelir konaklama süresi.

30 fiyatlık KS grubunun tamamını tek seferde göndermeniz gerekir. Örneğin 30'dan azsa, sağlanan tüm KS fiyatları normaldir, kalan ücretler ise 30 KS'ye kadar kullanılamaz. Şu durumda: 30'un üzerinde fiyat gönderiyorsanız 30. fiyatın üzerinde gönderdiğiniz fiyatlar düştü .

Müsait olmayan konaklama süreleri 0

taxes[] 30 float Konaklama süresi fiyatlarının vergi bileşeni.

n dizinindeki değer, bir n+1 değerine karşılık gelir konaklama süresi.

fees[] 30 float Konaklama süresi fiyatlarının ücret bileşeni.

n dizinindeki değer, bir n+1 değerine karşılık gelir konaklama süresi.

Örnek

Fiyatlar ve KS üzerinden alınan vergiler

Aşağıdaki örnekte minimum konaklama süresinin 2 olarak ayarlanması gösterilmektedir başka bir check-in tarihi için müsaitlik olmamasını ayarlayabilirsiniz. 01.09.2023 tarihindeki startDate için endDate içermeyen bir değer belirtirseniz Yalnızca tek bir tarih için ücretleri belirtirseniz ve endDate.

2 olarak ayarlanan occupancyPrices dizisi, farklı oranlar belirlemenize olanak tanır farklı doluluk oranı. Bu nedenle, 04.09.2023 itibarıyla boş yer yok. rates tarihinde kullanılabilir.

Gösterilen taxes dizisi, oranın% 10'u olarak hesaplanır.

Gösterilen fees dizisinde konaklama başına 50 ABD doları temizlik ücreti uygulanır.

Giriş tarihinin tamamı kullanılamıyorsa ‐03/09/2023 tarihi açıkça gönderin ve rates, taxes ve productPrices öğelerini Belirtilen tarih için müsaitlik olmadığını belirtir.

{
  "requestTime": "2023-08-10T12:15:222",
  "propertyPrices": {
    "arrivalDatePrices": [
      {
        "startDate": {
          "year": 2023,
          "month": 9,
          "day": 1
        },
        "productPrices": [
          {
            "occupancyPrices": [
              {
                "adults": 2,
                "prices": [
                  {
                    "currencyCode": "USD",
                    "rates": [
                      0, 200, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                    ],
                    "taxes": [
                      0, 20, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                    ],
                    "fees": [
                      0, 50, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                    ]
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "startDate": {
          "year": 2023,
          "month": 9,
          "day": 3
        },
        "productPrices": [
          {
            "occupancyPrices": [
              {
                "adults": 2,
                "prices": [
                  {
                    "currencyCode": "USD",
                    "rates": [
                      0, 200, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                    ],
                    "taxes": [
                      0, 20, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                    ],
                    "fees": [
                      0, 50, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                    ]
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
  }
}

Yanıt Metni

Başarılı olursa yanıt metni aşağıdaki yapıyla birlikte verileri içerir:

JSON gösterimi
        {
          "name": "string"
        }
        
Alanlar
name Değiştirilen PropertyPrices'ın kaynak adı. Şu biçimdedir:
accounts/{account}/properties/{property}