Konaklama Süresi (KS) Fiyatlandırması

Travel Partner Prices API

Travel Partner Prices API, tesis fiyatlarını Google'a göndermek için RESTful bir arayüz sağlar.

Hizmet: travelpartnerprices.googleapis.com

Bu hizmeti çağırmak için Google'ın sağladığı istemciyi kullanmanızı öneririz. kitaplıklara göz atın. 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 hizmetin aşağıdaki hizmet uç noktası vardır ve listelenen tüm URI'ler bu hizmet uç noktasıyla ilgilidir:

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 mesaj gövdesi olarak JSON kodlu bir LoS fiyatları mesajı (aşağıya bakın) gerektirir.

account_id: Bu dize değeri, Hotel Center'ın Hesap ayarları sayfasında listelenen "Hesap kimliği" değeridir.

property_id: Bu öğenin değeri, Otel Listesi Feed'inizdeki listeleme 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.

Travel Partner Prices API'niz için yetkilendirme almak üzere OAUTH 2.0 kurulum talimatlarını uygulayın.

Travel Partners Prices API için yeni bir proje oluşturduğunuzda, yeni Google Cloud Console projenize erişimi etkinleştirmeniz gerekir. Bu işlem, Travel Partner API'de verilen talimatlara benzer.

Projenizi etkinleştirmek için Travel Partner API'de verilen adımlara bakın ve "Travel Partner API"nin tüm örneklerini "Travel Partner Prices API" ile değiştirin.

Travel Partner Prices API'nin kapsamı: "https://travelpartnerprices.googleapis.com"

Travel Partner Prices API'nin yükleme yolu: "/travel/lodging/uploads/accounts/<account_id>/property_data"

İstekler

Söz dizimi

LoS Prices mesajında şu 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 Özellikler

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

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

LoS Price mesajının gönderildiği andır. RFC 3339 biçimli bir dize olarak ifade edilir.

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, 2019-05-03T14:10:00Z zaman damgasına sahip aynı seyahat planları için gönderilen bir mesajdan sonra alınan, 2019-05-03T14:09:00Z zaman damgasına sahip fiyat güncellemesi, daha sonra gönderilen zaman damgalı mesajın lehine reddedilir.

RFC 3339, tam olarak belirtilen tarih ve saat değerlerinin YYYY-MM-DDThh:mm:ss.SSZ şeklinde olmasını gerektirir. Saat dilimi zorunludur. UTC'den pozitif veya negatif hh:mm fark olarak ya da UTC için kısaltma olarak Z olarak belirtilir.

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 Bir tesisin fiyatları. Bu propertyPrices içindeki tüm fiyatlar aynı mülk için geçerlidir.

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

arrivalDayPrices[] 1..n Object Varış tarihi için fiyatlar. Bu arrivalDayPrices içindeki tüm fiyatlar belirli bir mülk için geçerlidir ancak farklı varış tarihleri içindir.
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 bir varış tarihi (veya tarih aralığı) belirtmek istiyorsanız 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ı ve yıl ile ay için geçerli olmalıdır.
productPrices[] 1..n Object Bir ürünün fiyatları. Bu productPrices içindeki tüm fiyatlar belirli bir mülk, varış tarihi kombinasyonu için geçerlidir ancak farklı ürünler için geçerlidir.
roomTypeId 0..1 string Bu fiyatın atıfta bulunduğu odanın benzersiz kimliği. Oda Paketi verilerini roomdata içinde gönderdikleriniz ile 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 atıfta bulunduğu 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 oranı için 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, ilgili occupancyPrices alanındaki tüm fiyatlar için ayarlanır ve 1 ile 99 arasında pozitif bir tam sayı olmalıdır.

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 içindeki tüm fiyatlar belirli bir mülk, varış tarihi, ürün ve doluluk kombinasyonu için geçerlidir.
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, ABD doları 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ı.

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. 30'dan az gönderirseniz sağlanan tüm LoS fiyatları normal şekilde işlenir ve kalan fiyatlar, LoS 30'a kadar kullanılamaz. Şu durumda: 30'un üzerinde fiyat gönderiyorsanız 30. fiyatın üzerinde gönderdiğiniz fiyatlar düştü .

Kullanılamayan 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

KS'ye göre ücretler ve vergiler

Aşağıdaki örnekte, bir check-in tarihi için minimum konaklama süresinin 2 gece, başka bir check-in tarihi için ise müsaitlik durumunun "yok" olarak ayarlanması gösterilmektedir. startDate değerini 1.9.2023'ten itibaren endDate olmadan ayarlarsanız yalnızca bir tarih için ücretleri belirttiğiniz anlamına gelir ve endDate değerini atlayabilirsiniz.

2 olarak ayarlanan occupancyPrices dizisi, farklı doluluk oranları için farklı ücretler ayarlamanıza olanak tanır. Bu nedenle, 04.09.23 tarihinde boş yer olmadığı için rates mevcut değildir.

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 &dash;03/09/2023 tarihi açıkça gönderin ve rates, taxes ve productPrices öğelerini Belirtilen tarih için müsaitlik olmadığını belirtmelidir.

{
  "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 kaynağının adı. Şu biçime sahip olmalıdır:
accounts/{account}/properties/{property}.