ट्रैवल पार्टनर प्राइस एपीआई
Travel Partner Prices API, Google को प्रॉपर्टी के किराये की जानकारी भेजने के लिए, आपको RESTful इंटरफ़ेस उपलब्ध कराता है.
सेवा: travelpartnerprices.googleapis.com
हमारा सुझाव है कि इस सेवा को कॉल करने के लिए, Google की दी गई क्लाइंट लाइब्रेरी का इस्तेमाल करें. अगर आपके ऐप्लिकेशन को इस सेवा को कॉल करने के लिए, अपनी लाइब्रेरी का इस्तेमाल करना है, तो इस सेवा के लिए डिस्कवरी दस्तावेज़ पाने के लिए, अपने तकनीकी खाता मैनेजर (टैम) से संपर्क करें.
सेवा एंडपॉइंट
सेवा का एंडपॉइंट एक ऐसा यूआरएल होता है जो किसी एपीआई सेवा के नेटवर्क पते की जानकारी देता है. एक सेवा में कई सेवा एंडपॉइंट हो सकते हैं. इस सेवा में यह सेवा शामिल है एंडपॉइंट और सूची में दिए गए सभी यूआरआई इस सर्विस एंडपॉइंट से जुड़े हैं:
https://travelpartnerprices.googleapis.com
तरीके | |
---|---|
ingestLosPropertyPrices |
POST /v1/accounts/account_id/properties/property_id:ingestLosPropertyPrices
किसी प्रॉपर्टी के लिए, ठहरने की कुल अवधि के हिसाब से किराया अपलोड करें. एचटीटीपी मैसेज के मुख्य हिस्से के तौर पर, JSON कोड में बदली गई, सेवा के लिए खरीदार से ली जाने वाली कीमतों का मैसेज (नीचे देखें) ज़रूरी है.
|
एपीआई की पुष्टि करना
ट्रैवल पार्टनर प्राइस एपीआई, इन कामों के लिए OAuth 2.0 का इस्तेमाल करता है अपने ऐप्लिकेशन की पुष्टि करें, ताकि आप एपीआई ऐक्सेस कर सकें.
Travel Partner Prices API के लिए अनुमति पाने के लिए, OAuth 2.0 सेटअप के निर्देशों का पालन करें.
Travel Partners Prices API के लिए नया प्रोजेक्ट बनाते समय, आपको अपने नए Google Cloud Console प्रोजेक्ट का ऐक्सेस चालू करना होगा. यह तरीका, Travel Partner API में दिए गए निर्देशों से मिलता-जुलता है.
ट्रैवल पार्टनर एपीआई में दिए गए चरण देखें और "Travel Partner API" के सभी इंस्टेंस को बदल दें "ट्रैवल पार्टनर की कीमतों में बदलाव करें" 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 | वह समय जब लोएस कीमत का मैसेज भेजा गया था. इसे आरएफ़सी 3339 फ़ॉर्मैट में लिखी गई स्ट्रिंग के तौर पर दिखाया गया है. पिछले 24 दिनों में मैसेज आरएफ़सी 3339 के लिए, यहां बताई गई तारीख और समय की ज़रूरत
फ़्रैक्शनल सेकंड ज़रूरी नहीं हैं. इन्हें यहां तक दिखाया जा सकता है
नैनोसेकंड सटीक. उदाहरण के लिए,
|
propertyPrices | 1 | Object | प्रॉपर्टी की कीमतें. इस propertyPrices में सभी कीमतें
उसी प्रॉपर्टी पर लागू होता है.
यह एलिमेंट दोहराया नहीं गया है. एक से ज़्यादा प्रॉपर्टी के लिए किराये भेजने के लिए, आपको कई एचटीटीपी अनुरोध करने होंगे. हर प्रॉपर्टी के लिए कम से कम एक अनुरोध करना ज़रूरी है. |
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 | उस पैकेज डेटा का यूनीक आईडी जिसकी कीमत बताई जा रही है. इस आईडी का इस्तेमाल करके, Room बंडल के डेटा को packagedata में भेजे गए डेटा से मैच करें. ज़्यादा जानकारी के लिए, रूम बंडल का मेटाडेटा देखें. |
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 | ठहरने की अवधि के हिसाब से तय की गई कीमतों का बुनियादी किराया.
अगर इंडेक्स आपको एक बार में 30 कीमतों का पूरा सेट भेजना होगा. अगर आपने 30 से कम होने पर, कम से कम कीमत के साथ दी गई सभी कीमतों को इस तरह से प्रोसेस किया जाता है सामान्य है और बाकी दरें 30 कम से कम स्तर तक उपलब्ध नहीं हैं. अगर आपने 30 से ज़्यादा किराये की जानकारी भेजी है, तो 30वें किराये के बाद की जानकारी को हटा दिया जाएगा . ठहरने की कुल अवधि:
|
taxes[] | 30 | float | ठहरने की अवधि के हिसाब से तय की गई कीमतों में टैक्स का हिस्सा.
इंडेक्स |
fees[] | 30 | float | ठहरने की अवधि के हिसाब से तय की गई कीमतों में शामिल शुल्क.
इंडेक्स |
उदाहरण
लॉन्ग ऑब्जेक्टिव सिस्टम (एलओएस) के आधार पर किराया और टैक्स
यहां दिए गए उदाहरण में, ठहरने की कम से कम अवधि दो साल सेट करने के बारे में बताया गया है
का इस्तेमाल करें.
अगर आपने 1/9/2023 के लिए startDate
को बिना endDate
के सेट किया है, तो इसका मतलब है कि
आप सिर्फ़ एक तारीख के लिए दरें तय कर रहे हैं और आपको
endDate
.
occupancyPrices
कलेक्शन को 2
पर सेट करने से, अलग-अलग बुकिंग के लिए अलग-अलग किराये तय किए जा सकते हैं. इसलिए, 09/04/23 को कोई जगह उपलब्ध न होने पर, 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 |
प्रॉपर्टी की उस कीमत के संसाधन का नाम जिसमें बदलाव किया गया है. यह इस फ़ॉर्मैट में हो:
accounts/{account}/properties/{property} .
|