ऑफ़र
ऑफ़र इंटिग्रेशन की मदद से, कारोबारी या कंपनी की ओर से दी जाने वाली छूट और प्रमोशन के बारे में स्ट्रक्चर्ड जानकारी दी जा सकती है. साथ ही, यह भी बताया जा सकता है कि ये छूट और प्रमोशन, किन सेवाओं पर और कब लागू होते हैं. ऑफ़र में ये चीज़ें शामिल होती हैं: असल ऑफ़र (छूट का प्रतिशत, डॉलर में छूट ...), ऑफ़र की समयसीमा (हफ़्ते के कुछ खास समय, दिन ...), और लागू होने वाले इस्तेमाल (ऑफ़र का इस्तेमाल सिर्फ़ कुछ सेवाओं पर किया जा सकता है). साथ ही, इसमें पाबंदियों के जटिल कॉम्बिनेशन भी शामिल होते हैं.
ऑफ़र के उदाहरण:
- दिसंबर में बुधवार और गुरुवार को दोपहर 12 बजे से शाम 5 बजे तक, ऐपटाइज़र पर 50% की छूट
- मदर्स डे पर शाम 6 बजे से रात 10 बजे तक डिनर के लिए, एक डिज़र्ट खरीदने पर एक डिज़र्ट मुफ़्त पाएं
- हर रविवार सुबह 10 बजे से दोपहर 2 बजे तक, ब्रंच के मुख्य व्यंजन पर 5 डॉलर की छूट
- स्टोर पर जाकर खरीदारी करने पर 10% की छूट. इसे पैसे चुकाकर प्रीमियम सदस्यता लेने वालों को मिलने वाली 5% की छूट के साथ जोड़ा जा सकता है. इसके अलावा, अगर उपयोगकर्ता आपके ऐप्लिकेशन से पेमेंट करता है, तो उसे 5% की छूट मिलती है.
इंटिग्रेशन में किसी ऑफ़र को शामिल करने के लिए, यह ज़रूरी है कि वह तकनीकी डेटा मॉडल के मुताबिक हो. साथ ही, हमारी ज़रूरी शर्तें पूरी करता हो. ऑफ़र से जुड़ी हमारी नीतियां ज़रूर पढ़ें. इससे आपको यह पक्का करने में मदद मिलेगी कि आपका इंटिग्रेशन, नीतियों के मुताबिक है. साथ ही, आपको यह भी पता चलेगा कि तकनीकी ज़रूरी शर्तें पूरी न करने वाले ऑफ़र के साथ क्या करना चाहिए.
ऑफ़र लागू करना
ऑफ़र इंटिग्रेशन में दो फ़ीड शामिल होते हैं. इन्हें हर दिन या ऐसी फ़्रीक्वेंसी पर अपलोड किया जाएगा जिससे यह पक्का हो सके कि डेटा ज़्यादा सटीक है. इसका मतलब है कि डेटा पुराना नहीं है:
- इनमें से कोई एक:
- कारोबारी या कंपनी का फ़ीड
(
Merchantकॉन्फ़िगरेशन का इस्तेमाल करके) - या
इकाई फ़ीड
(
Genericकॉन्फ़िगरेशन का इस्तेमाल करके)
- कारोबारी या कंपनी का फ़ीड
(
- और
ऑफ़र फ़ीड
(
Genericकॉन्फ़िगरेशन का इस्तेमाल करके)
OfferFeed
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
data | object(Offer) का कलेक्शन |
ऑफ़र
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
offer_id | स्ट्रिंग | ज़रूरी है | ऑफ़र का यूनीक आईडी. ज़रूरी है. |
entity_ids | स्ट्रिंग का कलेक्शन | इस ऑफ़र में हिस्सा लेने वाले कारोबारियों या कंपनियों की सूची. | |
add_on_offer_applicable_to_all_entities | बूलियन | अगर यह वैल्यू 'सही है' पर सेट है, तो इसका मतलब है कि यह ऑफ़र, एग्रीगेटर के तहत आने वाली सभी इकाइयों पर लागू होता है. यह सिर्फ़ ऐड ऑन ऑफ़र के लिए लागू होता है. | |
offer_source | enum(OfferSource) | ज़रूरी है | कोई ऑफ़र, एग्रीगेटर, कोई कारोबारी या कंपनी उपलब्ध करा सकती है. इसके अलावा, ऐड-ऑन के तौर पर कोई तीसरा पक्ष भी ऑफ़र उपलब्ध करा सकता है. ज़रूरी है. |
action_type | enum(ActionType) | ज़रूरी है | वह सेवा जो ऑफ़र दे रही है. एक offer_id सिर्फ़ एक action_type से जुड़ा हो सकता है. अगर किसी ऑफ़र को कई तरह की सेवाओं के साथ शेयर किया जा सकता है, तो हर सेवा के लिए डुप्लीकेट ऑफ़र बनाए जाने चाहिए. इन ऑफ़र के यूनीक आईडी होने चाहिए. ज़रूरी है. |
offer_modes | enum का कलेक्शन(OfferMode) | ज़रूरी है | ऑफ़र का फ़ायदा पाने के तरीके - कारोबार की जगह पर जाकर, बुकिंग करके, ऑनलाइन वगैरह. ज़रूरी है. |
offer_category | enum(OfferCategory) | ज़रूरी है | ऑफ़र की कैटगरी. ज़रूरी है. |
source_assigned_priority | संख्या | नॉन-नेगेटिव पूर्णांक ([1-100], जहां 1 का मतलब सबसे ज़्यादा प्राथमिकता है) जो सोर्स की ओर से असाइन किए गए ऑफ़र के प्राथमिकता लेवल को दिखाता है. जब एक ही कारोबारी या कंपनी के लिए कई ऑफ़र उपलब्ध होते हैं, तो यह ऑफ़र की रैंकिंग तय करने के लिए एक सिग्नल होगा. 0 का मतलब है कि प्राथमिकता सेट नहीं की गई है. | |
offer_details | ऑब्जेक्ट(OfferDetails) | ज़रूरी है | ऑफ़र की जानकारी, जैसे कि छूट, बुकिंग का शुल्क वगैरह. ज़रूरी है. |
offer_restrictions | ऑब्जेक्ट(OfferRestrictions) | ज़रूरी है | इससे पता चलता है कि ऑफ़र पर किस तरह की पाबंदी लगाई गई है. जैसे, क्या सदस्यता/पेमेंट करने का तरीका ज़रूरी है, क्या इस ऑफ़र को अन्य ऑफ़र के साथ जोड़ा जा सकता है (और किस तरह के ऑफ़र के साथ), वगैरह. ज़रूरी है. |
coupon | object(Coupon) | कूपन की जानकारी. offer_category: OFFER_CATEGORY_ADD_ON_COUPON_OFFER के लिए ज़रूरी है. | |
payment_instrument | ऑब्जेक्ट(PaymentInstrument) | पेमेंट करने के तरीके की जानकारी. यह offer_category: OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER के लिए ज़रूरी है. | |
subscription | ऑब्जेक्ट(Subscription) | सदस्यता की जानकारी. offer_category के लिए ज़रूरी है: OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER. | |
terms | object(Terms) | ज़रूरी है | ऑफ़र के नियम और शर्तें. ज़रूरी है. |
validity_periods | ऑब्जेक्ट का कलेक्शन(ValidityPeriod) | ज़रूरी है | ऑफ़र के मान्य रहने की अवधि. इससे पता चलता है कि ऑफ़र किस समयावधि के लिए मान्य है. इसमें शुरू और खत्म होने का समय, हफ़्ते के दिन वगैरह शामिल हैं. ज़रूरी है. |
offer_url | स्ट्रिंग | कारोबारी या कंपनी के ऑफ़र पेज का यूआरएल. यह offer_category के लिए ज़रूरी है: OFFER_CATEGORY_BASE_OFFER. | |
tags | enum की कैटगरी(OfferTag) | ऑफ़र से जुड़े खास टैग. इसका इस्तेमाल "त्योहारी सीज़न", "सबसे ज़्यादा रेटिंग वाली", "सबसे ज़्यादा बुक की गई" वगैरह जैसे खास ऑफ़र की पहचान करने के लिए किया जाता है. | |
brand_id | स्ट्रिंग | इससे ऑफ़र से जुड़े ब्रैंड की पहचान होती है. अगर यह नीति सेट नहीं है, तो डिफ़ॉल्ट ब्रैंड का इस्तेमाल किया जाता है. | |
availability_level | enum(AvailabilityLevel) | ऑफ़र के उपलब्ध होने का लेवल. |
OfferDetails
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
offer_display_text | स्ट्रिंग | ज़रूरी है | ऑफ़र देने वाला व्यक्ति या कंपनी, खोज नतीजों के पेज पर खरीदारों को ऑफ़र का जो टेक्स्ट दिखाना चाहती है. ध्यान दें कि हो सकता है कि उपयोगकर्ताओं को यह जानकारी ठीक उसी तरह न दिखे जैसी आपने दी है. हम इसे फिर से लिखने/इसमें बदलाव करने के लिए, अन्य मेटाडेटा का इस्तेमाल कर सकते हैं. ज़रूरी है. |
| oneOf(offer_specification) | ज़रूरी है | इस oneOf में मौजूद फ़ील्ड में से सिर्फ़ एक को सेट किया जा सकता है. |
max_discount_value | ऑब्जेक्ट(Money) | ज़्यादा से ज़्यादा मिलने वाली छूट. उदाहरण के लिए, 10,000 रुपये तक की खरीदारी पर 10% की छूट. | |
min_spend_value | object(Money) | छूट पाने के लिए, कम से कम खर्च की जाने वाली रकम. उदाहरण के लिए, कुल कीमत 100 डॉलर या इससे ज़्यादा होने पर 10% की छूट. | |
booking_cost | ऑब्जेक्ट(Money) | इस ऑफ़र को बुक करने की कीमत. उदाहरण के लिए, 15 डॉलर में टेबल बुक करने पर, फ़ाइनल बिल पर 100 डॉलर की छूट. | |
booking_cost_unit | enum(FeeUnit) | बुकिंग की लागत की इकाई. उदाहरण के लिए, हर व्यक्ति के लिए, हर लेन-देन के लिए. | |
convenience_fee | ऑब्जेक्ट(Fee) | ||
booking_cost_adjustable | बूलियन | क्या बुकिंग की लागत को अडजस्ट किया जा सकता है. इसका मतलब है कि बुकिंग की लागत को फ़ाइनल बिल से घटा दिया जाता है. उदाहरण के लिए: बुकिंग करने पर डिनर पर 30% की छूट. बुकिंग के लिए 15 डॉलर का शुल्क लिया जाएगा. इसे फ़ाइनल बिल में जोड़ दिया जाएगा. इसलिए, फ़ाइनल बिल: कुल खर्च - 30% - 15 डॉलर | |
additional_fees | object(AdditionalFee) का कलेक्शन | उपयोगकर्ता से लिया जाने वाला अतिरिक्त शुल्क. उदाहरण: सुविधा, हैंडलिंग, डिलीवरी, पैकेजिंग, सेवा शुल्क वगैरह. | |
offer_discount_type | enum(OfferDiscountType) | छूट का टाइप. | |
gift_card_info | ऑब्जेक्ट(GiftCardInfo) | उपहार कार्ड के ऑफ़र के बारे में खास जानकारी. |
पैसे
यह मुद्रा के टाइप के साथ-साथ, पैसे की रकम को दिखाता है.
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
currency_code | स्ट्रिंग | ISO 4217 में तय किया गया तीन अक्षरों वाला करंसी कोड. | |
units | संख्या | रकम की पूरी यूनिट.
उदाहरण के लिए, अगर currencyCode की वैल्यू "USD" है, तो एक यूनिट की कीमत एक डॉलर है. | |
nanos | संख्या | यह रकम की नैनो (10^-9) यूनिट की संख्या होती है.
वैल्यू, -999,999,999 और +999,999,999 के बीच होनी चाहिए. हालांकि, इन दोनों में से भी कोई संख्या हो सकती है.
अगर units की वैल्यू पॉज़िटिव है, तो nanos की वैल्यू पॉज़िटिव या शून्य होनी चाहिए.
अगर units की वैल्यू शून्य है, तो nanos की वैल्यू पॉज़िटिव, शून्य या नेगेटिव हो सकती है.
अगर units नेगेटिव है, तो nanos नेगेटिव या शून्य होना चाहिए.
उदाहरण के लिए, -1.75 डॉलर को units=-1 और nanos=-750,000,000 के तौर पर दिखाया जाता है. |
शुल्क
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
unit | enum(FeeUnit) | ||
type | enum(FeeType) | ||
| oneOf(cost) | इस oneOf में मौजूद फ़ील्ड में से सिर्फ़ एक को सेट किया जा सकता है. |
MoneyRange
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
min_amount | ऑब्जेक्ट(Money) | ||
max_amount | ऑब्जेक्ट(Money) |
AdditionalFee
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
name | स्ट्रिंग | ज़रूरी है | अतिरिक्त शुल्क का नाम. उदाहरण: सुविधा शुल्क, हैंडलिंग के लिए लगने वाला शुल्क वगैरह. ज़रूरी है. |
fee | ऑब्जेक्ट(Fee) |
GiftCardInfo
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
| oneOf(denomination_type) | इस oneOf में मौजूद फ़ील्ड में से सिर्फ़ एक को सेट किया जा सकता है. |
FixedDenominations
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
amounts | ऑब्जेक्ट का कलेक्शन(Money) | अलग-अलग उपलब्ध सभी वैल्यू की सूची (जैसे, [100, 500, 1000]). |
OfferRestrictions
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
combinable_with_other_offers | बूलियन | इस ऑफ़र को अन्य ऑफ़र के साथ इस्तेमाल किया जा सकता है या नहीं. 'सही है' पर सेट होने पर, पार्टनर यह तय कर सकते हैं कि इस ऑफ़र को किन अन्य ऑफ़र के साथ जोड़ा जा सकता है. अगर combinable_offer_categories और combinable_offer_ids, दोनों सेट हैं, तो ऊपर दी गई किसी भी शर्त से मैच करने वाले ऑफ़र को जोड़ा जा सकेगा. | |
combinable_offer_categories | enum का कलेक्शन(OfferCategory) | ऑफ़र के टाइप की सूची, जिनके साथ इस ऑफ़र को जोड़ा जा सकता है. उदाहरण के लिए, इस ऑफ़र को अन्य कूपन के साथ इस्तेमाल किया जा सकता है. अगर combinable_with_other_offers की वैल्यू true है और इस फ़ील्ड को सेट नहीं किया गया है, तो सभी तरह के ऑफ़र जोड़े जा सकेंगे. | |
combinable_offer_ids | स्ट्रिंग का कलेक्शन | उन offer_id की सूची जिनके साथ इस ऑफ़र को जोड़ा जा सकता है. ऐसा हो सकता है कि कुछ ऑफ़र सिर्फ़ कुछ खास offer_id (इन्हें पैरंट ऑफ़र माना जा सकता है) के साथ इस्तेमाल किए जा सकें. अगर combinable_with_other_offers की वैल्यू true पर सेट है और इस फ़ील्ड को सेट नहीं किया गया है, तो सभी ऑफ़र आईडी को जोड़ा जा सकेगा. | |
inclusions | object(OfferCondition) का कलेक्शन | उन शर्तों की सूची जो ऑफ़र के मान्य होने के लिए पूरी होनी चाहिए. जैसे, बिना अल्कोहल वाली ड्रिंक, खाना. | |
exclusions | ऑब्जेक्ट का कलेक्शन(OfferCondition) | उन शर्तों की सूची जिनकी वजह से ऑफ़र अमान्य हो जाएगा. जैसे, बुफ़े, कॉम्बो ऑफ़र, और कॉकटेल. | |
min_guest | संख्या | ऑफ़र का फ़ायदा पाने के लिए, कम से कम इतने लोग होने चाहिए. ध्यान दें: यह फ़ील्ड सिर्फ़ डाइनिंग के लिए बुकिंग पर लागू होता है. इसका इस्तेमाल अन्य वर्टिकल के लिए नहीं किया जाना चाहिए. | |
food_offer_restrictions | ऑब्जेक्ट(FoodOfferRestrictions) | खाने-पीने की चीज़ों के ऑफ़र पर लागू होने वाली पाबंदियां. | |
max_redemption_count | संख्या | इस ऑफ़र को इस्तेमाल करने की संख्या से जुड़ी पाबंदियां. वैल्यू 0 का मतलब है कि कोई सीमा नहीं है. उदाहरण के लिए, अगर आपने वैल्यू के तौर पर 3 चुना है, तो इसका मतलब है कि उपयोगकर्ता इस ऑफ़र का इस्तेमाल तीन बार कर सकता है. | |
max_total_discount_value | object(Money) | इस ऑफ़र के तहत, कई लेन-देन करने पर मिलने वाली ज़्यादा से ज़्यादा छूट. | |
special_conditions | स्ट्रिंग का कलेक्शन | इस ऑफ़र के लिए खास शर्तें, जो उपयोगकर्ता को दिखानी ज़रूरी हैं. उदाहरण: "सिर्फ़ [area] में पेमेंट के लिए मान्य है", "ऑनलाइन पेमेंट शामिल नहीं है", "सेल के दौरान, उपहार वाउचर का इस्तेमाल किया जा सकता है." |
OfferCondition
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
description | स्ट्रिंग |
FoodOfferRestrictions
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
meal_types | enum(MealType) का अरे | ऑफ़र किस तरह के खाने पर लागू किया जा सकता है. जैसे, दोपहर या रात का खाना. अगर इसे सेट नहीं किया जाता है, तो ऑफ़र को सभी तरह के खाने पर लागू किया जा सकता है. | |
restricted_to_certain_courses | बूलियन | क्या ऑफ़र सिर्फ़ कुछ कोर्स पर लागू किया जा सकता है. |
कूपन
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
text | स्ट्रिंग | कूपन का वह टेक्स्ट जिसे ऑफ़र देने वाली कंपनी, उपयोगकर्ताओं को दिखाना चाहती है. | |
code | स्ट्रिंग | ज़रूरी है | ऑफ़र रिडीम करने के लिए कूपन कोड ज़रूरी है. ज़रूरी है. |
PaymentInstrument
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
items | ऑब्जेक्ट का कलेक्शन(PaymentInstrumentItem) | ज़रूरी है | पेमेंट करने के उन तरीकों की सूची जिनका इस्तेमाल करके ऑफ़र का फ़ायदा लिया जा सकता है. ज़रूरी है. |
provider_name | स्ट्रिंग | पेमेंट करने के तरीके की सुविधा देने वाली कंपनी का नाम. यह कोई बैंकिंग पार्टनर, बैंक का नाम वगैरह हो सकता है. उदाहरण के लिए: American Express, HDFC, ICICI. |
PaymentInstrumentItem
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
type | enum(PaymentInstrumentType) | ज़रूरी है | पेमेंट करने के तरीके का टाइप. ज़रूरी है. |
name | स्ट्रिंग | ज़रूरी है | पेमेंट करने के तरीके का नाम, जैसे कि क्रेडिट कार्ड का नाम. उदाहरण के लिए: HDFC Infinia, American Express Platinum. ज़रूरी है. |
सदस्यता
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
name | स्ट्रिंग | ज़रूरी है | सदस्यता का नाम. ज़रूरी है. |
subscription_auto_added | बूलियन | यह तय करना कि जब कोई उपयोगकर्ता इस ऑफ़र का फ़ायदा लेता है, तो सदस्यता अपने-आप जुड़ जाए या नहीं | |
cost | object(Money) | ज़रूरी है | सदस्यता का शुल्क. ज़रूरी है. |
subscription_duration | ऑब्जेक्ट(Duration) | ज़रूरी है | सदस्यता शुल्क के हिसाब से, सदस्यता कितने समय तक मान्य है. ज़रूरी है. |
terms_and_conditions_url | स्ट्रिंग | इस सदस्यता से जुड़े पार्टनर के नियमों और शर्तों का यूआरएल. |
कुल समय
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
seconds | संख्या | समय अवधि के साइन किए गए सेकंड. यह वैल्यू -315,576,000,000 से +315,576,000,000 के बीच होनी चाहिए. ध्यान दें: इन सीमाओं का हिसाब इस तरह लगाया जाता है: 60 सेकंड/मिनट * 60 मिनट/घंटा * 24 घंटे/दिन * 365.25 दिन/साल * 10,000 साल | |
nanos | संख्या | समय की अवधि के नैनोसेकंड रिज़ॉल्यूशन पर, सेकंड के साइन किए गए फ़्रैक्शन. एक सेकंड से कम की अवधि को 0 seconds फ़ील्ड और पॉज़िटिव या नेगेटिव nanos फ़ील्ड से दिखाया जाता है. एक सेकंड या उससे ज़्यादा की अवधि के लिए, nanos फ़ील्ड की वैल्यू शून्य नहीं होनी चाहिए. साथ ही, यह वैल्यू seconds फ़ील्ड की वैल्यू के साइन से मेल खानी चाहिए. यह -999,999,999 से +999,999,999 के बीच होना चाहिए. |
शर्तें
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
url | स्ट्रिंग | पार्टनर के नियमों और शर्तों का यूआरएल. | |
restricted_to_certain_users | बूलियन | यह ऑफ़र कुछ उपयोगकर्ताओं के लिए प्रतिबंधित है या नहीं. | |
terms_and_conditions | स्ट्रिंग | पार्टनर की ओर से उपलब्ध कराया गया, मुख्य नियम और शर्तें. | |
additional_terms_and_conditions | स्ट्रिंग का कलेक्शन | पार्टनर के मुख्य नियम और शर्तों के अलावा, अन्य नियम और शर्तें. |
ValidityPeriod
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
valid_period | object(ValidityRange) | ऑफ़र के शुरू और खत्म होने का टाइमस्टैंप. ये समय अलग-अलग दिनों के होने चाहिए. इसका मतलब है कि शुरू होने का समय 00:00 (दिन की शुरुआत) होना चाहिए और खत्म होने का समय, मान्य रहने की अवधि खत्म होने के दिन 00:00 (एक्सक्लूसिव) होना चाहिए. | |
time_of_day | ऑब्जेक्ट का कलेक्शन(TimeOfDayWindow) | इस एट्रिब्यूट की वैल्यू से यह पता चलता है कि किसी दिन ऑफ़र किस समयावधि के लिए मान्य है. साथ ही, यह भी पता चलता है कि ऑफ़र किन दिनों के लिए उपलब्ध है. आधी रात के बाद तक चलने वाली समयावधि (जैसे, रात 10 बजे से सुबह 2 बजे तक) के लिए, हर दिन के लिए अलग-अलग विंडो इस्तेमाल करें: एक विंडो रात 11:59:59 बजे खत्म होगी और दूसरी विंडो अगले दिन रात 12:00 बजे शुरू होगी.
उदाहरण के लिए:
सोमवार: सुबह 10 बजे से शाम 5 बजे तक
मंगलवार: सुबह 10 बजे से दोपहर 2 बजे तक
मंगलवार: शाम 5 बजे से शाम 7 बजे तक
बुध, गुरु, शुक्र, शनि, रवि: दोपहर 3 बजे से शाम 7 बजे तक
अगर कोई समय सेट नहीं किया गया है, तो इसका मतलब है कि ऑफ़र, valid_period के दौरान हर समय उपलब्ध रहेगा. | |
time_exceptions | object(ValidTimeException) का कलेक्शन | इससे ऊपर बताए गए valid_period और valid_time_of_week के अपवादों के बारे में पता चलता है | |
date_exceptions | ऑब्जेक्ट का कलेक्शन(Date) | इससे valid_period और time_of_day के लिए, दिनों के अपवादों के बारे में पता चलता है | |
validity_scope | enum(ValidityScope) | इससे मान्य रहने की अवधि का दायरा तय होता है. | |
validity_duration_in_days | संख्या | वाउचर/कूपन खरीदने के बाद, वह कितने दिनों तक मान्य रहेगा. |
ValidityRange
क्लोज़्ड-ओपन टाइमस्टैंप रेंज.
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
valid_from_time | ऑब्जेक्ट(Timestamp) | ज़रूरी है | रेंज के शुरू होने का समय (शामिल है). ज़रूरी है. |
valid_through_time | ऑब्जेक्ट(Timestamp) | रेंज के खत्म होने का समय (शामिल नहीं है). अगर इसे सेट नहीं किया जाता है, तो इसका मतलब है कि यह अवधि कभी खत्म नहीं होगी. ज़रूरी नहीं. |
टाइमस्टैम्प
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
seconds | संख्या | यह Unix epoch 1970-01-01T00:00:00Z के बाद से, यूटीसी समय के सेकंड दिखाता है. यह -62135596800 और 253402300799 के बीच होना चाहिए. इसमें ये दोनों संख्याएं भी शामिल हैं. यह 0001-01-01T00:00:00Z से 9999-12-31T23:59:59Z के बीच होना चाहिए. | |
nanos | संख्या | नैनोसेकंड रिज़ॉल्यूशन में सेकंड के नॉन-नेगेटिव फ़्रैक्शन. यह फ़ील्ड, अवधि का नैनोसेकंड वाला हिस्सा है. यह सेकंड का विकल्प नहीं है. फ़्रैक्शन वाली नेगेटिव सेकंड वैल्यू में, नॉन-नेगेटिव नैनो वैल्यू होनी चाहिए. ये वैल्यू, समय के साथ आगे बढ़ती हैं. वैल्यू, 0 और 99,99,99,999 के बीच होनी चाहिए. हालांकि, इन दोनों में से भी कोई संख्या हो सकती है. |
TimeOfDayWindow
TimeWindow ऑब्जेक्ट एक कंपोज़िट इकाई है. इसमें उन विंडो की सूची होती है जिनमें उपयोगकर्ता का ऑर्डर दिया जा सकता है या पूरा किया जा सकता है.
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
time_windows | object(TimeOfDayRange) | ज़रूरी है | वह समयावधि जिसके दौरान ऑर्डर दिया जा सकता है/पूरा किया जा सकता है. ज़रूरी है. |
day_of_week | enum का कलेक्शन(DayOfWeek) | हफ़्ते के उन दिनों की सूची जिनमें विंडो लागू होती हैं. अगर कोई भी दिन सेट नहीं किया गया है, तो इसका मतलब है कि यह नीति हफ़्ते के सभी दिनों के लिए लागू है. ज़रूरी नहीं. | |
day_of_month | ऑब्जेक्ट का कलेक्शन(DayOfMonthRange) | महीने के वे दिन जब विंडो लागू होती हैं. अगर कोई भी दिन सेट नहीं किया गया है, तो इसका मतलब है कि यह नीति महीने के सभी दिनों के लिए लागू होती है. ज़रूरी नहीं. |
TimeOfDayRange
बंद-खुली समयावधि.
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
open_time | object(TimeOfDay) | यह टाइम ऑब्जेक्ट, रेंज के दिन के शुरू होने का समय दिखाता है. इसमें शुरू होने का समय शामिल होता है. अगर इसे सेट नहीं किया जाता है, तो इसका मतलब 00:00:00 होता है. ज़रूरी नहीं. | |
close_time | object(TimeOfDay) | यह समय, रेंज के दिन के खत्म होने का समय बताता है (शामिल नहीं). अगर इसे सेट नहीं किया गया है, तो इसका मतलब है कि समय 23:59:59 है. ज़रूरी नहीं. |
TimeOfDay
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
hours | संख्या | दिन के घंटे, 24 घंटे वाले फ़ॉर्मैट में. यह वैल्यू 0 से ज़्यादा या इसके बराबर होनी चाहिए. आम तौर पर, यह वैल्यू 23 से कम या इसके बराबर होनी चाहिए. कारोबार के बंद होने के समय जैसे मामलों के लिए, कोई एपीआई "24:00:00" वैल्यू को अनुमति दे सकता है. | |
minutes | संख्या | घंटे के मिनट. वैल्यू 0 से ज़्यादा या इसके बराबर और 59 से कम या इसके बराबर होनी चाहिए. | |
seconds | संख्या | एक मिनट के कुछ सेकंड. यह वैल्यू, 0 से ज़्यादा या इसके बराबर होनी चाहिए. आम तौर पर, यह 59 से कम या इसके बराबर होनी चाहिए. अगर कोई एपीआई लीप सेकंड की अनुमति देता है, तो वह वैल्यू के तौर पर 60 को स्वीकार कर सकता है. | |
nanos | संख्या | सेकंड के हिस्से, नैनोसेकंड में. यह वैल्यू 0 से ज़्यादा या इसके बराबर और 99,99,99,999 से कम या इसके बराबर होनी चाहिए. |
DayOfMonthRange
महीने के दिनों की वह सीमा जो साल के सभी महीनों पर लागू होती है.
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
valid_from_day | संख्या | ज़रूरी है | यह रेंज का शुरुआती दिन है. रेंज में यह दिन भी शामिल है. ज़रूरी है. |
valid_through_day | संख्या | रेंज के खत्म होने का दिन (शामिल है). अगर यह सेट नहीं है, तो इसका मतलब है कि यह रेंज सिर्फ़ एक दिन (valid_from_day) को दिखाती है. ज़रूरी नहीं. |
ValidTimeException
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
exceptional_period | ऑब्जेक्ट(ValidityRange) | शुरू और खत्म होने का वह टाइमस्टैंप जिसके लिए ऑफ़र मान्य नहीं है. ये समय अलग-अलग दिनों के होने चाहिए.जैसे, शुरू होने का समय 00:00 (दिन की शुरुआत) और खत्म होने का समय 00:00 (शामिल नहीं) होना चाहिए. यह समय, अपवाद की अवधि खत्म होने वाले दिन का होना चाहिए. |
तारीख
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
year | संख्या | तारीख का साल. यह 1 से 9999 के बीच होना चाहिए. इसके अलावा, साल के बिना तारीख बताने के लिए 0 होना चाहिए. | |
month | संख्या | साल का महीना. यह 1 से 12 के बीच होना चाहिए. इसके अलावा, महीने और दिन के बिना साल की जानकारी देने के लिए, 0 डालें. | |
day | संख्या | महीने का दिन. यह 1 से 31 के बीच होना चाहिए और साल और महीने के लिए मान्य होना चाहिए. इसके अलावा, साल या साल और महीने की जानकारी देने के लिए 0 डालें, जहां दिन की जानकारी देना ज़रूरी नहीं है. |
OfferSource
| नाम | ब्यौरा |
|---|---|
OFFER_SOURCE_UNSPECIFIED | |
OFFER_SOURCE_AGGREGATOR |
ActionType
इससे ऑफ़र पूरा करने के तरीके के बारे में पता चलता है. अगर किसी ऑफ़र को खरीदारी के एक से ज़्यादा तरीकों के लिए शेयर किया जा सकता है, तो खरीदारी के हर तरीके के लिए डुप्लीकेट ऑफ़र बनाए जा सकते हैं.
| नाम | ब्यौरा |
|---|---|
ACTION_TYPE_UNSPECIFIED | |
ACTION_TYPE_FOOD_DELIVERY | यह ऑफ़र, खाने की डिलीवरी की सेवाओं पर लागू होता है. |
ACTION_TYPE_FOOD_TAKEOUT | यह ऑफ़र, खाने के टेकआउट या पिकअप ऑर्डर पर लागू होता है. |
ACTION_TYPE_DINING | यह ऑफ़र, रेस्टोरेंट में जाकर खाना खाने के लिए है. |
ACTION_TYPE_APPOINTMENT | यह ऑफ़र, अपॉइंटमेंट बुक करने की सेवाओं पर लागू होता है. |
ACTION_TYPE_SHOPPING_IN_STORE | यह ऑफ़र, स्टोर में जाकर ऑफ़लाइन खरीदारी करने पर लागू होता है. |
OfferMode
इससे उस तरीके या चैनल के बारे में पता चलता है जिसके ज़रिए उपयोगकर्ता, ऑफ़र का फ़ायदा पा सकता है.
| नाम | ब्यौरा |
|---|---|
OFFER_MODE_OTHER | इसे ऑर्डर पूरा करने के उन तरीकों के लिए इस्तेमाल करें जो अन्य खास मोड में शामिल नहीं हैं. |
OFFER_MODE_WALK_IN | यह ऑफ़र, पहले से बुकिंग किए बिना साइट पर जाने के लिए उपलब्ध है. |
OFFER_MODE_FREE_RESERVATION | यह ऑफ़र तब लागू होता है, जब कोई उपयोगकर्ता ऐसी बुकिंग करता है जिसके लिए पहले से कोई शुल्क नहीं देना पड़ता. |
OFFER_MODE_PAID_RESERVATION | यह ऑफ़र तब लागू होता है, जब कोई व्यक्ति ऐसी बुकिंग करता है जिसके लिए पहले से पेमेंट करना ज़रूरी है. |
OFFER_MODE_ONLINE_ORDER | यह ऑफ़र, वेबसाइट या डिजिटल प्लैटफ़ॉर्म से किए गए ऑर्डर के लिए मान्य है. |
OFFER_MODE_GIFT_CARD_PURCHASE | इससे पता चलता है कि डील पाने के लिए, उपहार कार्ड खरीदना ज़रूरी है. |
OfferCategory
ऑफ़र की कैटगरी. बुनियादी ऑफ़र, सभी खरीदारों के लिए उपलब्ध एक स्टैंडर्ड ऑफ़र होता है. जैसे, 10,000 रुपये से ज़्यादा खर्च करने पर 10% की छूट. अगर किसी कूपन या पेमेंट करने के तरीके से बेस ऑफ़र पर पाबंदी लगाई गई है, तो उससे जुड़े फ़ील्ड सेट किए जाएंगे. हमारे पास ADD_ON_PAYMENT_OFFER जैसे x ऐड-ऑन ऑफ़र भी हैं. इस तरह के ऑफ़र को अन्य ऑफ़र के साथ जोड़ा जा सकता है, ताकि ज़्यादा छूट मिल सके.
| नाम | ब्यौरा |
|---|---|
OFFER_CATEGORY_UNSPECIFIED | फ़ीड में UNSPECIFIED या डिफ़ॉल्ट enum वैल्यू का इस्तेमाल नहीं किया जाना चाहिए. |
OFFER_CATEGORY_BASE_OFFER | |
OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER | |
OFFER_CATEGORY_ADD_ON_COUPON_OFFER | |
OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER | |
OFFER_CATEGORY_ADD_ON_FEE_REDUCTION_OFFER |
FeeUnit
| नाम | ब्यौरा |
|---|---|
FEE_UNIT_UNSPECIFIED | फ़ीड में UNSPECIFIED या डिफ़ॉल्ट enum वैल्यू का इस्तेमाल नहीं किया जाना चाहिए. |
FEE_UNIT_PER_GUEST | |
FEE_UNIT_PER_TRANSACTION |
FeeType
| नाम | ब्यौरा |
|---|---|
FEE_TYPE_UNSPECIFIED | UNSPECIFIED या डिफ़ॉल्ट एनम वैल्यू का इस्तेमाल फ़ीड में नहीं किया जाना चाहिए. |
FEE_TYPE_FIXED | |
FEE_TYPE_VARIABLE |
OfferDiscountType
| नाम | ब्यौरा |
|---|---|
OFFER_DISCOUNT_TYPE_UNSPECIFIED | |
OFFER_DISCOUNT_TYPE_INSTANT_DISCOUNT | |
OFFER_DISCOUNT_TYPE_CASHBACK | |
OFFER_DISCOUNT_TYPE_REWARD_POINT |
MealType
| नाम | ब्यौरा |
|---|---|
MEAL_TYPE_UNSPECIFIED | फ़ीड में UNSPECIFIED या डिफ़ॉल्ट enum वैल्यू का इस्तेमाल नहीं किया जाना चाहिए. |
MEAL_TYPE_BREAKFAST | |
MEAL_TYPE_LUNCH | |
MEAL_TYPE_DINNER |
PaymentInstrumentType
| नाम | ब्यौरा |
|---|---|
PAYMENT_INSTRUMENT_TYPE_UNSPECIFIED | फ़ीड में UNSPECIFIED या डिफ़ॉल्ट enum वैल्यू का इस्तेमाल नहीं किया जाना चाहिए. |
PAYMENT_INSTRUMENT_CREDIT_CARD | |
PAYMENT_INSTRUMENT_DEBIT_CARD | |
PAYMENT_INSTRUMENT_BANK_ACCOUNT | |
PAYMENT_INSTRUMENT_UPI | |
PAYMENT_INSTRUMENT_ONLINE_WALLET | |
PAYMENT_INSTRUMENT_NETBANKING |
DayOfWeek
यह हफ़्ते के किसी दिन को दिखाता है.
| नाम | ब्यौरा |
|---|---|
DAY_OF_WEEK_UNSPECIFIED | हफ़्ते का दिन नहीं बताया गया है. |
MONDAY | सोमवार |
TUESDAY | मंगलवार |
WEDNESDAY | बुधवार |
THURSDAY | गुरुवार |
FRIDAY | शुक्रवार |
SATURDAY | शनिवार |
SUNDAY | रविवार |
ValidityScope
मान्य रहने की अवधि का दायरा. इसका मतलब है कि यह अवधि किन कार्रवाइयों पर लागू होती है.
| नाम | ब्यौरा |
|---|---|
VALIDITY_SCOPE_UNSPECIFIED | |
VALIDITY_SCOPE_CLAIM | |
VALIDITY_SCOPE_REDEEM |
OfferTag
| नाम | ब्यौरा |
|---|---|
OFFER_TAG_UNSPECIFIED | UNSPECIFIED या डिफ़ॉल्ट एनम वैल्यू का इस्तेमाल फ़ीड में नहीं किया जाना चाहिए. |
OFFER_TAG_NEW_YEAR_SPECIAL | |
OFFER_TAG_VALENTINES_SPECIAL |
AvailabilityLevel
इससे किसी ऑफ़र के स्टॉक या उपलब्धता की स्थिति का पता चलता है.
| नाम | ब्यौरा |
|---|---|
AVAILABILITY_LEVEL_UNSPECIFIED | |
AVAILABILITY_LEVEL_LOW | इससे पता चलता है कि ऑफ़र की उपलब्धता कम है. उपयोगकर्ताओं को सलाह दी जाती है कि वे स्टॉक खत्म होने से पहले इसे रिडीम कर लें. हम बाद में, MEDIUM और HIGH को जोड़ सकते हैं. |
offer_specification
छूट, प्रतिशत या कुल वैल्यू में से घटाई गई तय वैल्यू हो सकती है. उदाहरण के लिए: 1. कुल बिल पर 10% की छूट. 2. ऑर्डर पर 15 डॉलर की छूट. कारोबारी या कंपनियां, 'एक के साथ एक मुफ़्त पाएं' जैसे कस्टम छूट भी दे सकती हैं. इसके लिए, उन्हें स्पेसिफ़िकेशन फ़ील्ड का इस्तेमाल करना होगा. ज़रूरी है.
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
discount_percent | संख्या |
| बिल पर मिलने वाली छूट का प्रतिशत. [0, 100] पूरे खाने पर लागू होने वाले 1+1 या 50% की छूट वाले ऑफ़र के लिए (जैसे, बुफ़े पर 1+1, पूरे बिल पर 1+1, सेट मेन्यू पर 1+1), इस वैल्यू को 50 पर सेट किया जा सकता है. |
discount_value | ऑब्जेक्ट(Money) |
| छूट की तय वैल्यू. |
other_offer_detail_text | स्ट्रिंग |
| छूट के बारे में बताने वाला फ़्री-फ़ॉर्म टेक्स्ट. अगर 1+1 वाले खास ऑफ़र (जैसे, 1+1 ड्रिंक, +1 मेन कोर्स, मेन्यू में मौजूद चुनिंदा आइटम पर 1+1) उपलब्ध हैं, तो उनकी जानकारी यहां दी जानी चाहिए. |
लागत
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
amount | object(Money) |
| |
amount_range | object(MoneyRange) |
|
denomination_type
| फ़ील्ड का नाम | टाइप | आवश्यकता | ब्यौरा |
|---|---|---|---|
fixed_denominations | object(FixedDenominations) |
| इस विकल्प का इस्तेमाल तब किया जाता है, जब उपहार कार्ड की कीमत तय होती है. |
custom_range | ऑब्जेक्ट(MoneyRange) |
| इस कुकी का इस्तेमाल तब किया जाता है, जब ब्रैंड उपयोगकर्ताओं को तय की गई सीमा के अंदर, अपनी पसंद के मुताबिक (लचीली) फ़ेस वैल्यू चुनने की अनुमति देता है. |
फ़ीड को अपलोड करना
ऑफ़र फ़ीड को Generic फ़ीड के एसएफ़टीपी सर्वर पर अपलोड करना ज़रूरी है. निर्देशों के लिए, जेनरिक फ़ीड के एसएफ़टीपी सर्वर का इस्तेमाल करने का तरीका बताने वाला ट्यूटोरियल देखें. साथ ही, अपनी डिस्क्रिप्टर फ़ाइल में name को google.offer पर सेट करें.
अपलोड करने की फ़्रीक्वेंसी
आम तौर पर, Google को हर दिन एक फ़ीड अपलोड करने की ज़रूरत होती है. फ़ीड अपलोड करने की फ़्रीक्वेंसी को बढ़ाया या घटाया जा सकता है. यह इस बात पर निर्भर करता है कि आपकी ओर से ऑफ़र अपडेट करने की फ़्रीक्वेंसी क्या है. इससे यह पक्का किया जा सकता है कि आपको लगातार सटीक नतीजे मिलते रहें. अपने Google पीओसी से संपर्क करें.
डेटा को Google पर दिखने में कुछ घंटे लगेंगे.
कैटगरी के हिसाब से ऑफ़र दिखाने की सुविधा
OFFER_CATEGORY_BASE_OFFER: ऐसे ऑफ़र जिन्हें किसी अन्य ऑफ़र के साथ जोड़े बिना, अलग से क्लेम किया जा सकता है. विज्ञापन इन जगहों पर दिख सकते हैं:- पूरे बिल पर एक जैसी छूट (उदाहरण के लिए, 20% की छूट)
- सदस्यता के ऑफ़र (जैसे, सदस्यता के साथ मुफ़्त डेज़र्ट)
- पेमेंट से जुड़े ऑफ़र, उन मामलों में लागू होते हैं जहां रेस्टोरेंट के लिए कोई अन्य बुनियादी ऑफ़र मौजूद नहीं होता
- ध्यान दें: पूरे प्लैटफ़ॉर्म पर फ़ीस में छूट देने या फ़ीस कम करने वाले ऑफ़र को बुनियादी ऑफ़र के तौर पर सेट नहीं किया जाना चाहिए.
- अतिरिक्त ऑफ़र: ऐसे ऑफ़र जिन पर दावा करने के लिए, बुनियादी ऑफ़र पर दावा करना ज़रूरी होता है. इनमें ये शामिल हैं:
OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER(उदाहरण के लिए, किसी खास क्रेडिट कार्ड से पेमेंट करने पर 10% की अतिरिक्त छूट)OFFER_CATEGORY_ADD_ON_COUPON_OFFER(जैसे, किसी खास कूपन कोड के साथ मुफ़्त ड्रिंक)OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER(जैसे, सदस्यों के लिए 10% की अतिरिक्त छूट)OFFER_CATEGORY_ADD_ON_FEE_REDUCTION_OFFER(जैसे, मुफ़्त डिलीवरी या कम शुल्क)
ध्यान देने वाली अन्य बातें:
- पूरे प्लैटफ़ॉर्म पर लागू होने वाले, फ़ीस में छूट या फ़ीस कम करने वाले ऑफ़र को बुनियादी ऑफ़र (
OFFER_CATEGORY_BASE_OFFER) के तौर पर सेट नहीं किया जाना चाहिए. इन्हें सिर्फ़OFFER_CATEGORY_ADD_ON_FEE_REDUCTION_OFFERके तौर पर सेट किया जाना चाहिए, ताकि किसी अन्य चालू बुनियादी ऑफ़र के साथ इनका इस्तेमाल किया जा सके. - अगर किसी रेस्टोरेंट के लिए कोई बुनियादी ऑफ़र सेट नहीं किया गया है, तो अतिरिक्त ऑफ़र नहीं दिखाए जाएंगे.
अगर कोई बुनियादी ऑफ़र नहीं है, तो पेमेंट, सदस्यता या कूपन से जुड़े ऐसे किसी भी ऑफ़र को
OFFER_CATEGORY_BASE_OFFERके तौर पर टैग किया जाना चाहिए जिस पर किसी दूसरे ऑफ़र को जोड़े बिना दावा किया जा सकता है.- टाइप के हिसाब से,
PaymentInstrument,SubscriptionयाCouponके लिए ज़रूरी डेटा सेट किया जाना चाहिए. - पार्टनर को इनमें से हर ऑफ़र की दो कॉपी देनी होंगी. इससे उन स्थितियों को कवर किया जा सकेगा जहां वे बुनियादी ऑफ़र और अतिरिक्त ऑफ़र, दोनों के तौर पर काम करते हैं. इसके बाद,
entity_idsयाadd_on_offer_applicable_to_all_entitiesका इस्तेमाल करके, एक से ज़्यादा रेस्टोरेंट के लिए ऐड-ऑन ऑफ़र की कॉपी सेट की जा सकती है.
- टाइप के हिसाब से,
- जब किसी रेस्टोरेंट के पास एक से ज़्यादा बुनियादी ऑफ़र हों और उन्हें एक साथ इस्तेमाल किया जा सकता हो, तो सभी बुनियादी ऑफ़र को
OFFER_CATEGORY_BASE_OFFERके तौर पर टैग किया जाना चाहिए. साथ ही, पेमेंट, सदस्यता या कूपन वाले बुनियादी ऑफ़र को अतिरिक्त ऑफ़र के तौर पर अलग से भेजा जाना चाहिए. ValidityPeriodका इस्तेमाल, अतिरिक्त ऑफ़र को बुनियादी ऑफ़र के तौर पर चालू करने के लिए सिर्फ़ तब किया जाना चाहिए, जब कोई बुनियादी ऑफ़र चालू न हो.- पेमेंट करने के तरीके के हिसाब से, एक जैसे ऑफ़र को एक साथ दिखाना: अगर पेमेंट करने के कई तरीकों पर एक जैसी छूट मिलती है, तो उन्हें अलग-अलग डुप्लीकेट ऑफ़र के तौर पर भेजने के बजाय, एक ही
Offerऑब्जेक्ट के तहत ग्रुप करें. उदाहरण के लिए, क्रेडिट कार्ड, डेबिट कार्ड, और नेट बैंकिंग, सभी पर 5% की छूट मिल रही है. इसके लिए,payment_instrument.itemsसूची में पेमेंट करने के सभी मान्य तरीके भरें. इससे Google इंटरफ़ेस पर लेआउट में होने वाली गड़बड़ी कम हो जाती है. साथ ही, डुप्लीकेट कॉन्टेंट पर लगी ज़्यादा पाबंदियों की वजह से, रैंकिंग में होने वाली संभावित गिरावट को रोका जा सकता है.
उदाहरण के तौर पर:
एक रेस्टोरेंट, किसी खास क्रेडिट कार्ड से पेमेंट करने पर 5% की छूट और किसी खास कूपन कोड का इस्तेमाल करने पर मुफ़्त ड्रिंक देता है
- क्रेडिट कार्ड से पेमेंट करने पर 5% की छूट वाले ऑफ़र की दो कॉपी भेजी जानी चाहिए. एक कॉपी को
OFFER_CATEGORY_BASE_OFFERके तौर पर टैग किया जाना चाहिए और दूसरी कॉपी कोOFFER_CATEGORY_ADD_ON_PAYMENT_OFFERके तौर पर टैग किया जाना चाहिए. साथ ही, इसमेंPaymentInstrumentकी जानकारी शामिल होनी चाहिए. - कूपन कोड के साथ मुफ़्त ड्रिंक का ऑफ़र,
OFFER_CATEGORY_ADD_ON_COUPON_OFFERके तौर पर भेजा जाना चाहिए. इसमेंCouponकी जानकारी शामिल होनी चाहिए.
- क्रेडिट कार्ड से पेमेंट करने पर 5% की छूट वाले ऑफ़र की दो कॉपी भेजी जानी चाहिए. एक कॉपी को
कोई रेस्टोरेंट, वहां जाकर खाना खाने पर 10% की छूट और किसी खास क्रेडिट कार्ड से पेमेंट करने पर 5% की छूट देता है. इन दोनों छूट को एक साथ इस्तेमाल किया जा सकता है.
- सर्विस सेंटर जाकर फ़ोन ठीक कराने पर मिलने वाले 10% की छूट के ऑफ़र को
OFFER_CATEGORY_BASE_OFFERके तौर पर टैग किया जाना चाहिए. - क्रेडिट कार्ड से पेमेंट करने पर 5% की छूट वाले ऑफ़र की दो कॉपी होनी चाहिए. इनमें से एक को
OFFER_CATEGORY_BASE_OFFERऔर दूसरी कोOFFER_CATEGORY_ADD_ON_PAYMENT_OFFERके तौर पर टैग किया जाना चाहिए.
- सर्विस सेंटर जाकर फ़ोन ठीक कराने पर मिलने वाले 10% की छूट के ऑफ़र को
कोई रेस्टोरेंट, हफ़्ते के कामकाजी दिनों में सिर्फ़ दोपहर के खाने पर 10% की छूट देता है. साथ ही, किसी खास क्रेडिट कार्ड से पेमेंट करने पर, कभी भी 5% की छूट देता है.
- 10% की छूट वाले ऑफ़र को
ValidityPeriodपर सेट किया जाना चाहिए, ताकि यह सिर्फ़ हफ़्ते के दिनों में रेस्टोरेंट के लंच के समय दिखे. - क्रेडिट कार्ड पर मिलने वाले 5% की छूट के ऑफ़र की दो कॉपी भेजी जानी चाहिए.
- एक कॉपी को
OFFER_CATEGORY_BASE_OFFERके तौर पर टैग किया जाना चाहिए. इसमेंPaymentInstrumentकी जानकारी शामिल होनी चाहिए.ValidityPeriodको इस तरह सेट किया जाना चाहिए कि हफ़्ते के दिनों में दोपहर के खाने के समय को बाहर रखा जा सके. ऐसा तब किया जाना चाहिए, जब दोपहर के खाने पर 10% की छूट वाला ऑफ़र चालू हो - एक कॉपी को
OFFER_CATEGORY_ADD_ON_PAYMENT_OFFERके तौर पर टैग किया जाना चाहिए. इसमेंPaymentInstrumentकी जानकारी शामिल होनी चाहिए.
- एक कॉपी को
- इस रेस्टोरेंट के लिए, पेमेंट से जुड़े अन्य सभी ऑफ़र को
OFFER_CATEGORY_ADD_ON_PAYMENT_OFFERके तौर पर टैग किया जाना चाहिए.
- 10% की छूट वाले ऑफ़र को
डेवलपमेंट और लॉन्च करने की प्रोसेस
इंटिग्रेशन के दौरान, Partner Portal आपको डेवलपमेंट के आधार पर जानकारी और सुझाव/राय देने में मदद करेगा. डेवलपमेंट की प्रोसेस इस तरह होगी:
- इंटिग्रेशन को सबसे पहले सैंडबॉक्स एनवायरमेंट में डेवलप किया जाएगा. आपको Google सैंडबॉक्स एनवायरमेंट में, प्रोडक्शन डेटा (या सीधे तौर पर प्रोडक्शन डेटा) का एक्सपोर्ट इस्तेमाल करना चाहिए. इससे यह पक्का करने में मदद मिलती है कि आपके डेवलपमेंट में सभी एज केस शामिल हों. साथ ही, Google को डेटा क्वालिटी का आकलन करने और आपके डेटा मॉडल के आधार पर आपकी बेहतर मदद करने में मदद मिलती है.
- Google Sandbox एनवायरमेंट में, कारोबारी या कंपनी, सेवाओं, और डील के फ़ीड को रोज़ाना और लगातार अपलोड करने के बाद, Google की टीम आपके फ़ीड की समीक्षा करेगी. Google की टीम से मंज़ूरी मिलने के बाद, अपने कोड को प्रोडक्शन में पुश किया जा सकता है. साथ ही, प्रोडक्शन डेटा को Google के प्रोडक्शन एनवायरमेंट में भेजा जा सकता है.
- जब आपने प्रोडक्शन इंटिग्रेशन की पूरी तरह से जांच कर ली हो, तब Google की टीम भी इसकी जांच करेगी. सभी जांच पूरी होने के बाद, आपका इंटिग्रेशन लॉन्च हो जाएगा.
मॉनिटर करने के लिए
उपयोगकर्ता को बेहतर अनुभव देने के लिए, Google यह जांच करेगा कि उपलब्ध कराए गए ऑफ़र मान्य और सही हैं या नहीं. साथ ही, यह भी जांच करेगा कि वे लॉन्च से पहले और बाद में, हमारी नीति की ज़रूरी शर्तों को पूरा करते हैं या नहीं. इसके लिए, Google मैन्युअल तरीके से और अपने-आप होने वाली समीक्षा, दोनों का इस्तेमाल करेगा. इन समीक्षाओं के नतीजे, Action Center (सिर्फ़ प्रोडक्शन) के ऑफ़र डैशबोर्ड में ऐक्सेस किए जा सकेंगे. इस मॉनिटरिंग के नतीजे का इस्तेमाल, ऑफ़र की रैंकिंग पर असर डालने के लिए किया जा सकता है.
पक्का करें कि ऑफ़र के साथ पेज को पूरी तरह से लोड होने में पांच सेकंड से कम समय लगे. ऐसा न होने पर, इसे गड़बड़ी माना जाएगा और Bad link के तौर पर फ़्लैग किया जाएगा.
अपने-आप होने वाली जांच (क्रॉलर)
Google की क्वालिटी टीम, क्रॉलर लागू करती है. क्रॉलर ऐसी स्क्रिप्ट होती हैं जो वेब ब्राउज़र को अपने-आप काम करने के लिए सेट करती हैं. इससे कुछ क्लिक किए जा सकते हैं और ऑफ़र की जानकारी निकाली जा सकती है. हालांकि, इनका इस्तेमाल सिर्फ़ क्वालिटी की जांच करने के लिए किया जाता है.
क्वेरी की संख्या
उदाहरण के लिए, अगर हम हर दिन 5,000 जांचें भेजने का फ़ैसला करते हैं, तो इसका मतलब है कि हर दिन 5,000 बार (पूरे दिन में बराबर रूप से, यानी हर 17 सेकंड में एक बार), हमारा क्रॉलर ये सभी कार्रवाइयां करता है. ये कार्रवाइयां, कोई सामान्य उपयोगकर्ता करता है:
- Google Search से शुरू करें और पार्टनर लिंक पर क्लिक करें.
- ऑफ़र की जानकारी ढूंढें.
- अगर ऑफ़र के लिए बुकिंग करना ज़रूरी है, तो बुकिंग फ़्लो जारी रहेगा. इससे यह पुष्टि की जा सकेगी कि ऑफ़र, तय किए गए समय पर उपलब्ध है या नहीं. हालांकि, कोई बुकिंग नहीं की जाएगी.
वेब स्क्रैपर का पता लगाने की सुविधा
यह पक्का करने के लिए कि वेब स्क्रैपर पर पाबंदी न लगे (जिसकी वजह से यह नतीजा निकल सकता है कि ऑफ़र उपलब्ध नहीं हैं), पक्का करें कि आपका सिस्टम हमारे वेब स्क्रैपर को आपके पेज पर हर समय क्वेरी करने की अनुमति देता हो. हमारे वेब स्क्रैपर की पहचान करने के लिए:
- वेब स्क्रैपर यूज़र-एजेंट में, "Google-Offers" स्ट्रिंग शामिल होगी:
- उदाहरण: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko; Google-Offers) Chrome/104.0.5112.101 Safari/537.36
- यह भी देखा जा सकता है कि कॉल, Google से आ रहे हैं या नहीं. इसके लिए, रिवर्स डीएनएस का इस्तेमाल करें. इसके बारे में "Googlebot और Google के अन्य क्रॉलर की पुष्टि करना" लेख में बताया गया है.
हमारे मामले में, रिवर्स डीएनएस रिज़ॉल्यूशन इस पैटर्न के मुताबिक होता है:
google-proxy-***-***-***-***.google.com.
तकनीकी व्यवहार
कैश मेमोरी में सेव करना
पार्टनर की वेबसाइट पर लोड कम करने के लिए, हमारे क्रॉलर आम तौर पर रिस्पॉन्स में मौजूद सभी स्टैंडर्ड एचटीटीपी कैशिंग हेडर का पालन करने के लिए कॉन्फ़िगर किए जाते हैं. इसका मतलब है कि सही तरीके से कॉन्फ़िगर की गई वेबसाइटों के लिए, हम ऐसे कॉन्टेंट को बार-बार फ़ेच करने से बचते हैं जिसमें कभी-कभार ही बदलाव होता है. उदाहरण के लिए, JavaScript लाइब्रेरी. कैश मेमोरी को लागू करने के तरीके के बारे में ज़्यादा जानने के लिए, एचटीटीपी कैश मेमोरी से जुड़ा दस्तावेज़ पढ़ें.