Travel Partner Prices API
Travel Partner Prices API มีอินเทอร์เฟซ RESTful สำหรับส่งราคาที่พักไปยัง Google
บริการ: travelpartnerprices.googleapis.com
หากต้องการเรียกใช้บริการนี้ เราขอแนะนำให้คุณใช้ไลบรารีไคลเอ็นต์ที่ Google มีให้ หาก แอปพลิเคชันต้องใช้ไลบรารีของคุณเองเพื่อเรียกใช้บริการนี้ โปรดติดต่อ ผู้จัดการลูกค้าด้านเทคนิค (TAM) ให้ขอรับเอกสาร Discovery สำหรับบริการนี้
ปลายทางของบริการ
ปลายทางบริการคือ URL พื้นฐานที่ระบุที่อยู่เครือข่ายของบริการ API บริการหนึ่งๆ อาจมีปลายทางบริการหลายรายการ บริการนี้มีปลายทางบริการดังต่อไปนี้ และ URI ทั้งหมดที่แสดงจะเกี่ยวข้องกับปลายทางบริการนี้
https://travelpartnerprices.googleapis.com
เมธอด | |
---|---|
ingestLosPropertyPrices |
POST /v1/accounts/account_id/properties/property_id:ingestLosPropertyPrices
อัปโหลดราคาตามระยะเวลาในการเข้าพักที่ระบุสำหรับที่พักที่ระบุ ต้องใช้ข้อความราคา LoS ที่เข้ารหัส JSON (ดูด้านล่าง) เป็น HTTP ของเนื้อความ
|
การตรวจสอบสิทธิ์ API
Travel Partner Prices API ใช้ OAuth 2.0 เพื่อ ตรวจสอบสิทธิ์แอปพลิเคชันเพื่อให้คุณสามารถเข้าถึง API
ทำตามวิธีการตั้งค่า OAuth 2.0 เพื่อรับสิทธิ์สำหรับ Travel Partner Prices API
เมื่อสร้างโปรเจ็กต์ใหม่สำหรับ Travel Partners Prices API คุณต้องเปิดใช้สิทธิ์เข้าถึงโปรเจ็กต์คอนโซล Google Cloud ใหม่ ซึ่งคล้ายกับวิธีการที่ระบุไว้ใน Travel Partner API
ดูขั้นตอนที่ระบุไว้ใน Travel Partner API และแทนที่ "Travel Partner API" ทั้งหมด ที่มีข้อความ "ราคาสำหรับพาร์ทเนอร์การท่องเที่ยว API" เพื่อเปิดใช้โปรเจ็กต์
ขอบเขตของ Travel Partner Prices API มีดังนี้
"https://travelpartnerprices.googleapis.com"
เส้นทางการอัปโหลดสำหรับ Travel Partner Prices API มีดังนี้
"/travel/lodging/uploads/accounts/<account_id>/property_data"
คำขอ
ไวยากรณ์
ข้อความ LoS Prices
ใช้ไวยากรณ์ต่อไปนี้
{
"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,...]
}]
}]
}]
}]
}
}
องค์ประกอบและแอตทริบิวต์
ข้อความระยะเวลาในการเข้าพักมีองค์ประกอบและแอตทริบิวต์ต่อไปนี้
องค์ประกอบ | จำนวนข้อผิดพลาด | ประเภท | คำอธิบาย |
---|---|---|---|
requestTime | 1 | string | ช่วงเวลาที่มีการส่งข้อความราคา LoS ซึ่งแสดงเป็นสตริงรูปแบบ RFC 3339 ข้อความที่ส่งด้วย ระบบจะประมวลผลข้อความตามลำดับของ RFC 3339 กำหนดให้ระบุวันที่และเวลาแบบเต็มเป็น
เศษของวินาทีเป็นตัวเลือกที่ไม่บังคับ และอาจแสดงออกมาเป็น
ความแม่นยําของระดับนาโนวินาที ตัวอย่างเช่น |
propertyPrices | 1 | Object | ราคาของที่พัก ราคาทั้งหมดภายใน propertyPrices นี้ใช้กับพร็อพเพอร์ตี้เดียวกัน
องค์ประกอบนี้ไม่มีรายการซ้ำ หากต้องการส่งราคาสำหรับที่พักหลายแห่ง คุณต้องสร้างคำขอ HTTP หลายรายการ (อย่างน้อย 1 รายการต่อพร็อพเพอร์ตี้) |
arrivalDayPrices[] | 1..n | Object | ราคาสำหรับวันที่มาถึง ราคาทั้งหมดภายในarrivalDayPrices นี้
มีผลกับที่พักบางแห่ง แต่วันที่มาถึงต่างกัน |
startDate | 1 | Object | วันที่เข้าพักทั้งหมดใช้productPrices แล้ว
ระหว่าง startDate ถึง endDate เท่านั้น
หากเพียงแค่พยายามระบุวันที่มาถึงเพียงวันเดียว (ไม่ใช่ช่วง)
ป้อนวันที่มาถึงทั้งใน |
startDate.year | 1 | integer | ปี startDate ต้องอยู่ระหว่าง 1 ถึง 9999 |
startDate.month | 1 | integer | เดือนของปี ต้องมีค่าตั้งแต่ 1 ถึง 12 |
startDate.day | 1 | integer | วันของเดือน ต้องมีค่าตั้งแต่ 1 ถึง 31 และใช้ได้ในปีและเดือน |
endDate | 0..1 | Object | ราคาผลิตภัณฑ์จะมีผลกับวันที่เข้าพักทั้งหมดระหว่างวันที่
startDate และ endDate เท่านั้น
หากต้องการระบุวันที่มาถึงเพียงวันเดียว (ไม่ใช่ช่วง) คุณอาจละเว้น |
endDate.year | 1 | integer | ปี endDate ต้องมีค่าระหว่าง 1 ถึง 9999 |
endDate.month | 1 | integer | เดือนของปี ต้องมีค่าตั้งแต่ 1 ถึง 12 |
endDate.day | 1 | integer | วันของเดือน ต้องมีค่าตั้งแต่ 1 ถึง 31 และใช้ได้สำหรับปีและเดือน |
productPrices[] | 1..n | Object | ราคาสำหรับผลิตภัณฑ์ ราคาทั้งหมดใน productPrices นี้ใช้กับที่พักที่เฉพาะเจาะจง ชุดค่าผสมวันที่มาถึง แต่ใช้กับผลิตภัณฑ์ที่แตกต่างกัน
|
roomTypeId | 0..1 | string | รหัสที่ไม่ซ้ำกันของห้องพักที่ใช้ราคานี้ ใช้ รหัสนี้เพื่อจับคู่ข้อมูลแพ็กเกจห้องพักกับข้อมูลที่ส่งในข้อมูลห้องพัก ดูข้อมูลเพิ่มเติมได้ที่ ข้อมูลเมตาของแพ็กเกจห้องพัก |
ratePlanId | 0..1 | string | รหัสที่ไม่ซ้ำกันสำหรับข้อมูลแพ็กเกจที่เกี่ยวข้องกับราคานี้ ใช้ รหัสนี้เพื่อจับคู่ข้อมูลแพ็กเกจห้องพักกับข้อมูลที่ส่งในแพ็กเกจข้อมูล ดูข้อมูลเพิ่มเติมได้ที่ ข้อมูลเมตาของแพ็กเกจห้องพัก |
occupancyPrices[] | 1..n | Object | ราคาสำหรับอัตราการเข้าพัก ราคาทั้งหมดภายในoccupancyPrices นี้
ใช้กับที่พักที่เฉพาะเจาะจง วันที่สินค้ามาถึง ชุดค่าผสมของผลิตภัณฑ์
อัตราการเข้าพักที่แตกต่างกัน
|
adults | 1 | integer | จำนวนแขกสูงสุดที่จองได้ต่อห้อง ซึ่งรวมถึงผู้ใหญ่และเด็ก ค่านี้จะกำหนดสำหรับราคาทั้งหมดภายในช่อง occupancyPrices ที่เกี่ยวข้อง และต้องเป็นตัวเลขที่มีค่าบวกระหว่าง 1 ถึง 99
หมายเหตุ: โปรดติดต่อทีมสนับสนุนเพื่อส่งอัตราการเข้าพักสำหรับผู้ใหญ่มากกว่า 4 คน |
prices[] | 1..n | Object | ราคาระยะเวลาในการเข้าพัก ราคาทั้งหมดภายใน prices จะใช้กับ
ชุดค่าผสมของที่พัก วันที่เข้าพัก ผลิตภัณฑ์ และอัตราการเข้าพัก
|
rateRuleId | 0..1 | string | สำหรับราคาสำหรับลูกค้าที่เข้าเกณฑ์ รหัสนี้จะจับคู่ราคากับคำจำกัดความในไฟล์คำจำกัดความกฎเกี่ยวกับอัตรา จำนวนอักขระสูงสุดสำหรับช่องนี้คือ 40 ตัว |
currencyCode | 1 | string | รหัสสกุลเงิน 3 ตัวอักษรที่ระบุ rates และ taxes เช่น "USD" สำหรับดอลลาร์สหรัฐ
|
rates[] | 30 | float | องค์ประกอบราคาฐานของราคาระยะเวลาในการเข้าพัก
หากระบุค่า ค่าที่ดัชนี คุณต้องส่งราคา LoS ทั้งหมดครั้งละ 30 ชุด หากคุณส่ง น้อยกว่า 30 รายการ ราคา LoS ที่ระบุทั้งหมดจะได้รับการประมวลผลเป็น ปกติ และราคาที่เหลือไม่มีข้อมูลถึง LoS 30 หากคุณ ส่งมากกว่า 30 ราคาใดๆ ที่คุณส่งเกินอัตราที่ 30 จะเป็น ยกเลิก ระยะเวลาในการเข้าพักที่ไม่พร้อมให้บริการควรแสดงด้วย |
taxes[] | 30 | float | องค์ประกอบภาษีของราคาตามระยะเวลาในการเข้าพัก
ค่าที่ดัชนี |
fees[] | 30 | float | องค์ประกอบค่าธรรมเนียมของราคาระยะเวลาในการเข้าพัก
ค่าที่ดัชนี |
ตัวอย่าง
ราคาและ ภาษีตาม LOS
ตัวอย่างต่อไปนี้แสดงการตั้งค่าระยะเวลาในการเข้าพักขั้นต่ำ 2 คืนสำหรับวันที่เช็คอินวันหนึ่งและตั้งค่าห้องว่างเป็น "ไม่พร้อมให้บริการ" สำหรับวันที่เช็คอินอีกวัน
หากคุณตั้งค่า startDate
ตั้งแต่ 1/9/2023 โดยไม่มี endDate
หมายความว่า
คุณจะระบุอัตราเพียงวันเดียว และคุณสามารถข้าม
endDate
อาร์เรย์ occupancyPrices
ที่ตั้งค่าเป็น 2
ช่วยให้คุณกำหนดราคาต่างๆ ได้
สำหรับอัตราการเข้าพักที่แตกต่างกัน ดังนั้นจึงไม่มีห้องว่างในวันที่ 09/04/23 rates
อาร์เรย์ taxes
ที่แสดงคำนวณได้เท่ากับ 10% ของอัตรา
อาร์เรย์ fees
ที่แสดงจะมีค่าธรรมเนียมการทำความสะอาด $50 ต่อการเข้าพัก
หากไม่มีวันที่เช็คอินทั้งหมด ‐3/9/2023 คุณต้อง
ส่งวันที่อย่างชัดเจน และละเว้น rates
, taxes
และ productPrices
ไปยัง
แสดงว่าไม่มีห้องว่างสำหรับวันที่ที่ขอ
{
"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
]
}
]
}
]
}
]
}
]
}
}
เนื้อหาการตอบกลับ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
การแสดง JSON | |
---|---|
{ "name": "string" } |
ช่อง | |
---|---|
name |
ชื่อทรัพยากรของ PropertyPrices ที่แก้ไข มีรูปแบบดังต่อไปนี้
accounts/{account}/properties/{property}
|