واجهة برمجة تطبيقات أسعار شركاء السفر
توفّر لك واجهة برمجة التطبيقات Travel PartnerPrices واجهة مريحة لإرسال الرسائل أسعار العقارات إلى Google.
الخدمة: travelpartnerprices.googleapis.com
للاتصال بهذه الخدمة، ننصحك باستخدام البرنامج الذي توفّره Google المكتبات. إذا كان يحتاج تطبيق إلى استخدام مكتباتك الخاصة للاتصال بهذه الخدمة، يُرجى الاتصال مدير الحساب الفني (TAM) للحصول على مستند الاكتشاف الخاصة بهذه الخدمة.
نقطة نهاية الخدمة
خدمة نقطة النهاية هي أساسي يحدد عنوان الشبكة لإحدى خدمات واجهة برمجة التطبيقات. خدمة واحدة قد تحتوي على عدة نقاط نهاية للخدمة. تتضمّن هذه الخدمة الخدمة التالية: نقطة النهاية وجميع معرفات الموارد المنتظمة (URI) المدرجة ذات صلة بنقطة نهاية الخدمة هذه:
https://travelpartnerprices.googleapis.com
الطُرق | |
---|---|
ingestLosPropertyPrices |
POST /v1/accounts/account_id/properties/property_id:ingestLosPropertyPrices
يُرجى تحميل أسعار مدة الإقامة المقدَّمة لفندق محدّد. يتطلب رسالة أسعار مرمّزة بتنسيق JSON (انظر أدناه) كبروتوكول HTTP نص الرسالة.
|
مصادقة واجهة برمجة التطبيقات
تستخدم واجهة برمجة تطبيقات أسعار شركاء السفر بروتوكول OAuth 2.0 لتنفيذ ما يلي: بمصادقة تطبيقك بحيث يمكنك الوصول إلى واجهات برمجة التطبيقات.
للحصول على إرشادات الإعداد خطوة بخطوة، راجع إعداد OAuth الإصدار 2.0. هذه هي الإعدادات التعليمات المتعلّقة بواجهة برمجة التطبيقات مع "شريك السفر" لاحظ أن واجهة برمجة التطبيقات مع "شريك السفر" اختلاف واجهة برمجة تطبيقات أسعار شركاء السفر. لذا، في إرشادات الإعداد هذه، يجب استبدال "واجهة برمجة التطبيقات لأسعار شركاء السفر" بتسمية أي مكان "واجهة برمجة تطبيقات شريك السفر" المشار إليها.
الطلبات
البنية
تستخدم الرسالة 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 price، بتنسيق RFC 3339 السلسلة. أي رسالة مُرسَلة من خلال " تتم معالجة الرسائل بترتيب يتطلب RFC 3339 أوقاتًا محددة بالكامل
إنّ الثواني الكسرية اختيارية، ويمكن التعبير عنها بما يصل إلى
بدقة نانو ثانية. على سبيل المثال،
ترميز |
propertyPrices | 1 | Object | تمثّل هذه السمة أسعار أحد الفنادق. كل الأسعار في نطاق propertyPrices
تنطبق على نفس الموقع.
هذا العنصر غير متكرّر. لإرسال أسعار مواقع متعددة، تحتاج إلى إجراء طلبات HTTP متعددة (طلب واحد على الأقل لكل موقع). |
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.
ملاحظة: يُرجى التواصل مع فريق الدعم لإرسال معلومات إشغال إلى أكثر من أربعة أشخاص بالغين. |
prices[] | 1..n | Object | أسعار مدة الإقامة تنطبق جميع الأسعار في نطاق prices على
فندق محدد وتاريخ الوصول والمنتج والإشغال.
|
rateRuleId | 0..1 | string | بالنسبة إلى الأسعار المشروطة، يطابق رقم التعريف هذا معدّلاً مع تعريف في ملف "تعريف قاعدة السعر". عدد الأحرف المسموح به لهذا الحقل هو 40 حرفًا. |
currencyCode | 1 | string | رمز العملة المكوَّن من ثلاثة أحرف والذي يمثّل rates وtaxes
الواردة فيها. على سبيل المثال، "USD" للدولار الأمريكي.
|
rates[] | 30 | float | تمثّل هذه السمة مكوّن السعر الأساسي لأسعار مدة الإقامة.
إذا تم تقديم قيمة تتجاوب القيمة في الفهرس يجب إرسال مجموعة LoS الكاملة البالغ عددها 30 سعرًا في آن واحد. إذا أرسلت أقل من 30، فستتم معالجة جميع أسعار LoS المقدمة والمعدلات المتبقية غير متاحة بما يصل إلى 30 دولار أمريكي. إذا كنت إذا كنت ترسل أكثر من 30، فسيتم تطبيق أي أسعار ترسلها بخلاف السعر الثلاثين انخفاض . يجب تمثيل أطوال الإقامة غير المتاحة
|
taxes[] | 30 | float | تمثّل هذه السمة العنصر الضريبي لأسعار مدة الإقامة.
تتجاوب القيمة في الفهرس |
fees[] | 30 | float | تمثّل هذه السمة الرسوم الخاصة بمدة الإقامة.
تتجاوب القيمة في الفهرس |
مثال
الأسعار الضرائب بناءً على LOS
يوضّح المثال التالي ضبط الحد الأدنى لمدة الإقامة وهو 2.
لتاريخ تسجيل وصول معين وعدم توفر تاريخ تسجيل وصول آخر.
في حال ضبط startDate
من 1/9/2023 بدون endDate
، يعني ذلك:
فإنك تحدد الأسعار لتاريخ واحد فقط ويمكنك حذف
endDate
يتيح لك المصفوفة occupancyPrices
التي تم ضبطها على 2
إمكانية تحديد أسعار مختلفة.
لإشغالات مختلفة. لذلك، ما مِن أماكن شاغرة في الحدود المسموح بها في 04/09/2023
المتاحة في rates
.
يتم احتساب المصفوفة taxes
المعروضة بنسبة% 10 من المعدّل.
وتفرض المصفوفة fees
المعروضة رسوم تنظيف بقيمة 50 دولار أمريكي لكل إقامة.
إذا لم يكن تاريخ تسجيل الوصول كاملاً ‐9/3/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}
|