Konaklama Süresine (KS) Göre Fiyatlandırma

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ığı istemci kitaplıklarını kullanmanızı öneririz. Uygulamanızın bu hizmeti çağırmak için kendi kitaplıklarınızı kullanması gerekiyorsa bu hizmetin Discovery Belgesi'ni almak için Teknik Hesap Yöneticiniz (THY) ile iletişime geçin.

Hizmet uç noktası

Hizmet uç noktası, bir API hizmetinin ağ adresini belirten ana URL'dir. Bir hizmetin birden fazla hizmet uç noktası olabilir. Bu hizmet aşağıdaki hizmet uç noktasını kullanı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

Belirli bir mülk 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) gerekir.

account_id: Bu dize değeri, Hotel Center'daki 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ğrulama

Travel Partner Prices API, API'lere erişebilmeniz için uygulamanızın kimliğini doğrulamak üzere OAuth 2.0'ı kullanır.

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

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

Projenizi etkinleştirmek için Travel Partner API'de verilen adımları uygulayı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 an, RFC 3339 biçimli bir dize olarak ifade edilir.

Son 24 saat içinde requestTime ile gönderilmiş tüm iletiler işlenir ve işlenmeyenler silinir.

Mesajlar, alınma sırasına bakılmaksızın requestTime sırasına göre işlenir. Örneğin, requestTime değeri 2019-05-03T14:10:00Z olan aynı seyahat planları için gönderilen bir mesajdan sonra alınan, requestTime değeri 2019-05-03T14:09:00Z olan fiyat güncellemesi, daha sonraki zaman damgalı mesaj lehine silinir.

RFC 3339, tam olarak belirtilmiş tarih ve saatleri YYYY-MM-DDThh:mm:ss.SSZ biçiminde gerektirir. Saat dilimi gereklidir. UTC'den pozitif veya negatif hh:mm uzaklık ya da UTC'nin kısaltması olarak Z şeklinde belirtilir.

Saniyenin kesirleri isteğe bağlıdır ve nanosaniye hassasiyetine kadar ifade edilebilir. Örneğin, 2017-01-15T01:30:15.01-08:00, 15 Ocak 2017'de 01:30 PST'den 15,01 saniye sonrasını kodlar.

propertyPrices 1 Object Bir tesise ait fiyatlar. Bu propertyPrices içindeki tüm fiyatlar aynı mülk için geçerlidir.

Bu öğe tekrarlanmıyor. Birden fazla tesis için fiyat göndermek istiyorsanız birden fazla HTTP isteği göndermeniz gerekir (tesis başına en az bir istek).

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 söz konusudur.
startDate 1 Object productPrices, startDate ile endDate arasındaki tüm varış tarihlerine (dahil) uygulanır.

Yalnızca tek bir varış tarihi belirtmek istiyorsanız (aralık değil), varış tarihini hem startDate hem de endDate alanına girin.

startDate.year 1 integer startDate yılı. 1 ile 9999 arasında olmalıdır.
startDate.month 1 integer 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ı ve yıl ile ay için geçerli olmalıdır.
endDate 0..1 Object productPrices, startDate ile endDate arasındaki tüm varış tarihlerine (iki tarih de dahil) uygulanır.

Yalnızca tek bir varış tarihi (aralık değil) belirtilmeye çalışılıyorsa endDate atlanabilir.

endDate.year 1 integer endDate yılı. 1 ile 9999 arasında olmalıdır.
endDate.month 1 integer 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 tesis ve varış tarihi kombinasyonu için geçerlidir ancak farklı ürünler için geçerli değildir.
roomTypeId 0..1 string Bu fiyatın geçerli olduğu odanın benzersiz kimliği. Oda Paketi verilerini roomdata içinde gönderdiklerinizle eşleştirmek için bu kimliği kullanın. Daha fazla bilgi için Oda Paketi meta verileri konusuna bakın.
ratePlanId 0..1 string Bu fiyatın referans verdiği paket verilerinin benzersiz kimliği. Oda Paketi verilerini packagedata içinde gönderdiklerinizle eşleştirmek için bu kimliği kullanın. Daha fazla bilgi için Oda Paketi meta verileri konusuna bakın.
occupancyPrices[] 1..n Object Bir konaklama için fiyatlar. Bu occupancyPrices içindeki tüm fiyatlar belirli bir tesis, varış tarihi ve ürün kombinasyonu için geçerlidir ancak farklı doluluk oranları için geçerli değildir.
adults 1 integer Yetişkinler ve çocuklar dahil olmak üzere oda başına rezervasyon yapılabilecek maksimum konuk sayısıdır. Bu değer, ilgili occupancyPrices alanındaki tüm oranlar için ayarlanır ve 1 ile 99 arasında pozitif bir tam sayı olmalıdır.

Not: Dört yetişkinden fazla kişi için konaklama bilgisi göndermek üzere destek ekibinizle iletişime geçin.

prices[] 1..n Object Konaklama süresi fiyatları. prices içindeki tüm fiyatlar belirli bir tesis, varış tarihi, ürün ve kişi sayısı kombinasyonu için geçerlidir.
rateRuleId 0..1 string Koşullu fiyatlar için bu kimlik, ü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 değerlerinin sağlandığı üç harfli para birimi kodu. Örneğin, ABD doları için "USD".
rates[] 30 float Konaklama süresi fiyatlarının temel oran bileşeni.

İlgili bir taxes değeri sağlanırsa bu oran vergi hariçtir. Toplam fiyat, ilgili ücret ve verginin toplamıdır.

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

30 fiyatlık tam LoS setini aynı anda göndermeniz gerekir. 30'dan az gönderirseniz sağlanan tüm LoS fiyatları normal olarak işlenir ve kalan oranlar LoS 30'a kadar kullanılamaz. 30'dan fazla fiyat gönderirseniz 30. fiyattan sonra gönderdiğiniz tüm fiyatlar bırakılır.

Kullanılamayan konaklama süreleri 0 ile gösterilmelidir.

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

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

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

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

Örnek

KS'ye göre fiyatlar ve vergiler

Aşağıdaki örnekte, bir check-in tarihi için minimum konaklama süresinin 2 olarak ayarlanması ve başka bir check-in tarihi için müsaitlik olmaması gösterilmektedir. startDate değerini 9/1/2023'ten itibaren endDate olmadan ayarlarsanız yalnızca tek bir tarih için oranları belirtiyorsunuz demektir ve endDate değerini atlayabilirsiniz.

occupancyPrices dizisi 2 olarak ayarlandığında farklı doluluk oranları için farklı ücretler belirleyebilirsiniz. Bu nedenle, 09.04.2023 tarihinde boş yer olmaması, rates kullanımını sınırlar.

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

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

Giriş tarihinin tamamı (3.9.2023) müsait değilse tarihi açıkça göndermeniz ve istenen tarih için müsaitlik olmadığını belirtmek üzere rates, taxes ve productPrices karakterlerini çıkarmanız gerekir.

{
  "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 kaynak adı. Şu biçimde olmalıdır:
accounts/{account}/properties/{property}.