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.
|
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 Mesajlar, alınma sırasına bakılmaksızın RFC 3339, tam olarak belirtilmiş tarih ve saatleri Saniyenin kesirleri isteğe bağlıdır ve nanosaniye hassasiyetine kadar ifade edilebilir. Örneğin, |
| 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.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.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
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 |
| taxes[] | 30 | float | Konaklama süresi fiyatlarının vergi bileşeni.
|
| fees[] | 30 | float | Konaklama süresi fiyatlarının ücret bileşeni.
|
Ö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}.
|