फ़ीड इंटिग्रेशन की सुविधा देता है

ऑफ़र

ऑफ़र इंटिग्रेशन की मदद से, कारोबारी या कंपनी के प्रमोशन और खास समय पर खास सेवाओं पर लागू होने वाली छूट के बारे में स्ट्रक्चर्ड जानकारी दी जा सकती है. ऑफ़र में ये चीज़ें शामिल होती हैं: असल ऑफ़र (कीमत में प्रतिशत की छूट, कीमत में डॉलर की छूट ...), वैधता की अवधि (खास समय, हफ़्ते के दिन ...), और लागू होने की शर्तें (ऑफ़र का इस्तेमाल सिर्फ़ कुछ सेवाओं पर किया जा सकता है). साथ ही, इसमें पाबंदियों के मुश्किल कॉम्बिनेशन भी शामिल होते हैं.

ऑफ़र के उदाहरण:

  • दिसंबर में बुधवार और गुरुवार को दोपहर 12 बजे से शाम 5 बजे तक, ऐपेटाइज़र पर 50% की छूट
  • मदर्स डे पर शाम 6 बजे से रात 10 बजे तक डिनर करने पर, एक डेज़र्ट के साथ एक डेज़र्ट मुफ़्त पाएं
  • हर रविवार सुबह 10 बजे से दोपहर 2 बजे तक, ब्रंच के मुख्य व्यंजन पर 5 डॉलर की छूट
  • स्टोर पर जाकर खरीदारी करने पर 10% की छूट. इसे पैसे चुकाकर प्रीमियम सदस्यता लेने वालों को मिलने वाली 5% की छूट के साथ जोड़ा जा सकता है. इसके अलावा, अगर उपयोगकर्ता आपके ऐप्लिकेशन से पेमेंट करता है, तो उसे 5% की छूट मिलती है.

किसी ऑफ़र को इंटिग्रेशन में शामिल करने के लिए, यह ज़रूरी है कि वह तकनीकी डेटा मॉडल के मुताबिक हो. साथ ही, उसे हमारी ज़रूरी शर्तें भी पूरी करनी होंगी. ऑफ़र से जुड़ी हमारी नीतियां ज़रूर पढ़ें. इससे आपको यह पक्का करने में मदद मिलेगी कि आपका इंटिग्रेशन, नीतियों के मुताबिक है. साथ ही, आपको उन ऑफ़र के बारे में निर्देश मिलेंगे जो तकनीकी ज़रूरी शर्तों को पूरा नहीं करते.

लागू करने के सुझाव

ऑफ़र इंटिग्रेशन में दो फ़ीड शामिल होते हैं. इन्हें हर दिन या ऐसी फ़्रीक्वेंसी पर अपलोड किया जाएगा जिससे यह पक्का हो सके कि डेटा ज़्यादा सटीक है. इसका मतलब है कि डेटा पुराना नहीं है:

OfferFeed

फ़ील्ड का नामटाइपआवश्यकताब्यौरा
dataobject
(Offer) का कलेक्शन

ऑफ़र

फ़ील्ड का नामटाइपआवश्यकताब्यौरा
offer_idस्ट्रिंग

ज़रूरी है

ऑफ़र का यूनीक आईडी. ज़रूरी है.
entity_idsस्ट्रिंग का कलेक्शन

इस ऑफ़र में हिस्सा लेने वाले कारोबारियों या कंपनियों की सूची.
add_on_offer_applicable_to_all_entitiesबूलियन

अगर यह वैल्यू 'सही है', तो यह ऑफ़र एग्रीगेटर के तहत आने वाली सभी इकाइयों पर लागू होता है. यह सिर्फ़ ऐड-ऑन ऑफ़र पर लागू होता है.
offer_sourceenum
(OfferSource)

ज़रूरी है

ऑफ़र, एग्रीगेटर, कोई कारोबारी या कंपनी या ऐड-ऑन के तौर पर कोई थर्ड पार्टी दे सकती है. ज़रूरी है.
action_typeenum
(ActionType)

ज़रूरी है

वह सेवा जो ऑफ़र दे रही है. एक offer_id, सिर्फ़ एक action_type से जुड़ा हो सकता है. अगर किसी ऑफ़र को कई तरह की सेवाओं के साथ शेयर किया जा सकता है, तो हर सेवा के लिए डुप्लीकेट ऑफ़र बनाए जाने चाहिए. इन ऑफ़र के आईडी यूनीक होने चाहिए. ज़रूरी है.
offer_modesenum
(OfferMode) का कलेक्शन

ज़रूरी है

ऑफ़र का फ़ायदा पाने के तरीके - स्टोर पर जाकर, बुकिंग करके, ऑनलाइन वगैरह. ज़रूरी है.
offer_categoryenum
(OfferCategory)

ज़रूरी है

ऑफ़र की कैटगरी. ज़रूरी है.
source_assigned_priorityसंख्या

नॉन-नेगेटिव पूर्णांक ([1-100], जहां 1 का मतलब सबसे ज़्यादा प्राथमिकता है) जो सोर्स की ओर से असाइन किए गए ऑफ़र के प्राथमिकता लेवल को दिखाता है. जब एक ही कारोबारी या कंपनी के लिए कई ऑफ़र उपलब्ध होते हैं, तो यह ऑफ़र को रैंक करने के लिए एक सिग्नल होगा. 0 का मतलब है कि प्राथमिकता सेट नहीं की गई है.
offer_detailsobject
(OfferDetails)

ज़रूरी है

ऑफ़र की जानकारी, जैसे कि छूट, बुकिंग का शुल्क वगैरह. ज़रूरी है.
offer_restrictionsobject
(OfferRestrictions)

ज़रूरी है

इससे पता चलता है कि ऑफ़र पर किस तरह की पाबंदी है. जैसे, सदस्यता/पेमेंट का तरीका ज़रूरी है या नहीं, इस ऑफ़र को अन्य ऑफ़र के साथ इस्तेमाल किया जा सकता है या नहीं (और किस तरह के ऑफ़र के साथ), वगैरह. यह जानकारी देना ज़रूरी है.
couponobject
(Coupon)

कूपन की जानकारी. यह offer_category के लिए ज़रूरी है: OFFER_CATEGORY_ADD_ON_COUPON_OFFER.
payment_instrumentobject
(PaymentInstrument)

पेमेंट करने के तरीके की जानकारी. यह offer_category: OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER के लिए ज़रूरी है.
subscriptionobject
(Subscription)

सदस्यता की जानकारी. offer_category: OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER के लिए ज़रूरी है.
termsobject
(Terms)

ज़रूरी है

ऑफ़र के नियम और शर्तें. ज़रूरी है.
validity_periodsobject
(ValidityPeriod) का कलेक्शन

ज़रूरी है

ऑफ़र की वैधता की अवधि. इससे पता चलता है कि ऑफ़र किस समयावधि के लिए मान्य है. इसमें शुरू और खत्म होने का समय, हफ़्ते के दिन वगैरह शामिल हैं. यह एट्रिब्यूट ज़रूरी है.
offer_urlस्ट्रिंग

कारोबारी या कंपनी के ऑफ़र पेज का यूआरएल. यह एट्रिब्यूट, offer_category [ऑफ़र की कैटगरी] एट्रिब्यूट की वैल्यू OFFER_CATEGORY_BASE_OFFER के लिए ज़रूरी है.
tagsenum
(OfferTag) का कलेक्शन

ऑफ़र से जुड़े खास टैग. इसका इस्तेमाल, खास ऑफ़र की पहचान करने के लिए किया जाता है. जैसे, "त्योहारी सीज़न", "सबसे ज़्यादा रेटिंग वाला", "सबसे ज़्यादा बुक किया गया" वगैरह.
brand_idस्ट्रिंग

उपहार कार्ड की डील के लिए ज़रूरी है, ताकि डील ऑफ़र करने वाले ब्रैंड की पहचान की जा सके.
availability_levelenum
(AvailabilityLevel)

ऑफ़र के उपलब्ध होने का लेवल.

OfferDetails

फ़ील्ड का नामटाइपआवश्यकताब्यौरा
offer_display_textस्ट्रिंग

ज़रूरी है

ऑफ़र देने वाला व्यक्ति या कंपनी, खोज नतीजों के पेज पर खरीदारों को ऑफ़र का जो टेक्स्ट दिखाना चाहती है. ध्यान दें कि यह जानकारी, उपयोगकर्ताओं को दिखने वाली जानकारी से अलग हो सकती है. हम इसे फिर से लिखने या दूसरे शब्दों में बताने के लिए, अन्य मेटाडेटा का इस्तेमाल कर सकते हैं. ज़रूरी है.
oneOf
(offer_specification)

ज़रूरी है

इस oneOf में मौजूद फ़ील्ड में से सिर्फ़ एक को सेट किया जा सकता है.
max_discount_valueobject
(Money)

ज़्यादा से ज़्यादा कितनी छूट मिल सकती है. उदाहरण के लिए, 10,000 रुपये तक की खरीदारी पर 10% की छूट.
min_spend_valueobject
(Money)

छूट पाने के लिए, कम से कम इतना खर्च करना होगा. उदाहरण के लिए, कुल कीमत 100 डॉलर या इससे ज़्यादा होने पर 10% की छूट.
booking_costobject
(Money)

इस ऑफ़र को बुक करने का शुल्क. उदाहरण के लिए, 15 डॉलर में टेबल बुक करने पर, फ़ाइनल बिल पर 100 डॉलर की छूट.
booking_cost_unitenum
(FeeUnit)

बुकिंग की लागत की इकाई. उदाहरण के लिए, हर व्यक्ति के हिसाब से, हर लेन-देन पर.
convenience_feeobject
(Fee)

booking_cost_adjustableबूलियन

क्या बुकिंग की लागत को अडजस्ट किया जा सकता है. इसका मतलब है कि बुकिंग की लागत को फ़ाइनल बिल से घटा दिया जाता है. उदाहरण के लिए: बुकिंग करने पर, डिनर पर 30% की छूट. सीट रिज़र्व करने के लिए 15 डॉलर का शुल्क लिया जाएगा. यह शुल्क, कुल बिल में जोड़ दिया जाएगा. इसलिए, फ़ाइनल बिल: खर्च की गई कुल रकम - 30% - 15 डॉलर
additional_feesobject
(AdditionalFee) का कलेक्शन

उपयोगकर्ता से लिया जाने वाला अतिरिक्त शुल्क. उदाहरण: सुविधा, हैंडलिंग, डिलीवरी, पैकेजिंग, सेवा शुल्क वगैरह.
offer_discount_typeenum
(OfferDiscountType)

छूट का टाइप.
gift_card_infoobject
(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 के तौर पर दिखाया जाता है.

शुल्क

फ़ील्ड का नामटाइपआवश्यकताब्यौरा
unitenum
(FeeUnit)

typeenum
(FeeType)

oneOf
(cost)

इस oneOf में मौजूद फ़ील्ड में से सिर्फ़ एक को सेट किया जा सकता है.

MoneyRange

फ़ील्ड का नामटाइपआवश्यकताब्यौरा
min_amountobject
(Money)

max_amountobject
(Money)

AdditionalFee

फ़ील्ड का नामटाइपआवश्यकताब्यौरा
nameस्ट्रिंग

ज़रूरी है

अतिरिक्त शुल्क का नाम. उदाहरण: सुविधा शुल्क, हैंडलिंग के लिए लगने वाला शुल्क वगैरह. यह ज़रूरी है.
feeobject
(Fee)

GiftCardInfo

फ़ील्ड का नामटाइपआवश्यकताब्यौरा
oneOf
(denomination_type)

इस oneOf में मौजूद फ़ील्ड में से सिर्फ़ एक को सेट किया जा सकता है.

FixedDenominations

फ़ील्ड का नामटाइपआवश्यकताब्यौरा
amountsobject
(Money) का कलेक्शन

अलग-अलग उपलब्ध सभी वैल्यू की सूची (जैसे, [100, 500, 1000]).

OfferRestrictions

फ़ील्ड का नामटाइपआवश्यकताब्यौरा
combinable_with_other_offersबूलियन

इस ऑफ़र को अन्य ऑफ़र के साथ इस्तेमाल किया जा सकता है या नहीं. इस नीति को 'सही है' पर सेट करने से, पार्टनर यह तय कर सकते हैं कि इस ऑफ़र को किन ऑफ़र के साथ इस्तेमाल किया जा सकता है. अगर combinable_offer_categories और combinable_offer_ids, दोनों सेट किए गए हैं, तो ऊपर दी गई किसी भी शर्त को पूरा करने वाला ऑफ़र, एक साथ इस्तेमाल किया जा सकेगा.
combinable_offer_categoriesenum
(OfferCategory) का कलेक्शन

ऑफ़र के टाइप की सूची, जिनके साथ इस ऑफ़र को जोड़ा जा सकता है. उदाहरण के लिए, इस ऑफ़र को अन्य कूपन के साथ इस्तेमाल किया जा सकता है. अगर combinable_with_other_offers की वैल्यू 'सही है' पर सेट है और इस फ़ील्ड को सेट नहीं किया गया है, तो सभी टाइप के ऑफ़र को एक साथ इस्तेमाल किया जा सकेगा.
combinable_offer_idsस्ट्रिंग का कलेक्शन

उन offer_id की सूची जिनके साथ इस ऑफ़र को जोड़ा जा सकता है. ऐसा हो सकता है कि कुछ ऑफ़र सिर्फ़ कुछ खास offer_id (इन्हें पैरंट ऑफ़र माना जा सकता है) के साथ इस्तेमाल किए जा सकें. अगर combinable_with_other_offers की वैल्यू 'सही है' पर सेट है और इस फ़ील्ड को सेट नहीं किया गया है, तो सभी ऑफ़र आईडी को एक साथ इस्तेमाल किया जा सकेगा.
inclusionsobject
(OfferCondition) का कलेक्शन

उन शर्तों की सूची जो ऑफ़र के मान्य होने के लिए पूरी होनी चाहिए. जैसे, बिना अल्कोहल वाली ड्रिंक, खाना.
exclusionsobject
(OfferCondition) का कलेक्शन

उन शर्तों की सूची जिनसे ऑफ़र अमान्य हो जाएगा. जैसे, बुफ़े, कॉम्बो ऑफ़र, और कॉकटेल.
min_guestसंख्या

ऑफ़र का फ़ायदा पाने के लिए, कम से कम इतने लोग होने चाहिए. ध्यान दें: यह फ़ील्ड सिर्फ़ डाइनिंग के लिए बुकिंग पर लागू होता है. इसका इस्तेमाल अन्य वर्टिकल के लिए नहीं किया जाना चाहिए.
food_offer_restrictionsobject
(FoodOfferRestrictions)

खाने-पीने के ऑफ़र पर लागू होने वाली पाबंदियां.
max_redemption_countसंख्या

इस ऑफ़र को कितनी बार इस्तेमाल किया जा सकता है, इस बारे में पाबंदियां. वैल्यू 0 का मतलब है कि कोई सीमा नहीं है. उदाहरण के लिए, वैल्यू 3 का मतलब है कि उपयोगकर्ता इस ऑफ़र का इस्तेमाल तीन बार कर सकता है.
max_total_discount_valueobject
(Money)

इस ऑफ़र के तहत, एक से ज़्यादा लेन-देन पर मिलने वाली कुल छूट.
special_conditionsस्ट्रिंग का कलेक्शन

इस ऑफ़र के लिए खास शर्तें, जिन्हें उपयोगकर्ता को दिखाना ज़रूरी है. उदाहरण: "सिर्फ़ [area] में पेमेंट के लिए मान्य है", "ऑनलाइन पेमेंट शामिल नहीं हैं", "सेल के दौरान उपहार वाउचर का इस्तेमाल किया जा सकता है."

OfferCondition

फ़ील्ड का नामटाइपआवश्यकताब्यौरा
descriptionस्ट्रिंग

FoodOfferRestrictions

फ़ील्ड का नामटाइपआवश्यकताब्यौरा
meal_typesenum
(MealType) का कलेक्शन

खाने के टाइप, जिन पर ऑफ़र लागू किया जा सकता है. जैसे, दोपहर या रात का खाना. अगर इसे सेट नहीं किया जाता है, तो ऑफ़र को हर तरह के खाने पर लागू किया जा सकता है.
restricted_to_certain_coursesबूलियन

क्या ऑफ़र सिर्फ़ कुछ कोर्स पर लागू किया जा सकता है.

कूपन

फ़ील्ड का नामटाइपआवश्यकताब्यौरा
textस्ट्रिंग

कूपन का वह टेक्स्ट जिसे ऑफ़र देने वाला व्यक्ति या कंपनी, लोगों को दिखाना चाहती है.
codeस्ट्रिंग

ज़रूरी है

ऑफ़र रिडीम करने के लिए कूपन कोड ज़रूरी है. ज़रूरी है.

PaymentInstrument

फ़ील्ड का नामटाइपआवश्यकताब्यौरा
itemsobject
(PaymentInstrumentItem) का कलेक्शन

ज़रूरी है

पेमेंट के उन तरीकों की सूची जिनका इस्तेमाल करके ऑफ़र पाया जा सकता है. ज़रूरी है.
provider_nameस्ट्रिंग

पेमेंट करने के तरीके की सुविधा देने वाली कंपनी का नाम. यह बैंकिंग पार्टनर, बैंक का नाम वगैरह हो सकता है. उदाहरण के लिए: अमेरिकन एक्सप्रेस, एचडीएफ़सी, आईसीआईसीआई.

PaymentInstrumentItem

फ़ील्ड का नामटाइपआवश्यकताब्यौरा
typeenum
(PaymentInstrumentType)

ज़रूरी है

पेमेंट करने के तरीके का टाइप. ज़रूरी है.
nameस्ट्रिंग

ज़रूरी है

पेमेंट करने के तरीके का नाम, जैसे कि क्रेडिट कार्ड का नाम. उदाहरण के लिए: एचडीएफ़सी इनफ़िनिया, अमेरिकन एक्सप्रेस प्लैटिनम. ज़रूरी है.

सदस्यता

फ़ील्ड का नामटाइपआवश्यकताब्यौरा
nameस्ट्रिंग

ज़रूरी है

सदस्यता का नाम. ज़रूरी है.
subscription_auto_addedबूलियन

जब कोई उपयोगकर्ता इस ऑफ़र का फ़ायदा उठाता है, तो क्या सदस्यता अपने-आप जुड़ जाती है
costobject
(Money)

ज़रूरी है

सदस्यता का शुल्क. ज़रूरी है.
subscription_durationobject
(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 फ़ील्ड के साइन के जैसा होना चाहिए. यह -99,99,99,999 से लेकर +99,99,99,999 के बीच होनी चाहिए.

शर्तें

फ़ील्ड का नामटाइपआवश्यकताब्यौरा
urlस्ट्रिंग

पार्टनर के नियमों और शर्तों का यूआरएल.
restricted_to_certain_usersबूलियन

यह ऑफ़र कुछ उपयोगकर्ताओं के लिए उपलब्ध है या नहीं.
terms_and_conditionsस्ट्रिंग

पार्टनर की ओर से उपलब्ध कराया गया, मुख्य नियम और शर्तें.
additional_terms_and_conditionsस्ट्रिंग का कलेक्शन

पार्टनर की मुख्य शर्तों के अलावा अन्य नियम और शर्तें.

ValidityPeriod

फ़ील्ड का नामटाइपआवश्यकताब्यौरा
valid_periodobject
(ValidityRange)

शुरू और खत्म होने का टाइमस्टैंप, जिसके दौरान ऑफ़र मान्य है. ये समय अलग-अलग दिनों के होने चाहिए. इसका मतलब है कि शुरू होने का समय 00:00 (दिन की शुरुआत) होना चाहिए और खत्म होने का समय, वैधता अवधि खत्म होने के दिन 00:00 (एक्सक्लूसिव) होना चाहिए.
time_of_dayobject
(TimeOfDayWindow) का कलेक्शन

इस एट्रिब्यूट की वैल्यू से यह पता चलता है कि किसी दिन ऑफ़र किस समयावधि के लिए मान्य है. साथ ही, यह भी पता चलता है कि ऑफ़र किन दिनों के लिए उपलब्ध है. अगर समयसीमा आधी रात के बाद तक चलती है (जैसे, रात 10 बजे से सुबह 2 बजे तक), तो हर दिन के लिए अलग-अलग विंडो का इस्तेमाल करें: एक विंडो रात 11:59:59 बजे खत्म होती है और दूसरी विंडो अगले दिन सुबह 12:00 बजे शुरू होती है. उदाहरण के लिए: सोमवार: सुबह 10 बजे से शाम 5 बजे तक मंगलवार: सुबह 10 बजे से दोपहर 2 बजे तक मंगलवार: शाम 5 बजे से रात 7 बजे तक बुधवार, गुरुवार, शुक्रवार, शनिवार, रविवार: दोपहर 3 बजे से शाम 7 बजे तक अगर कोई भी समय सेट नहीं किया गया है, तो इसका मतलब है कि ऑफ़र valid_period के दौरान हर समय उपलब्ध है.
time_exceptionsobject
(ValidTimeException) का कलेक्शन

इससे ऊपर दिए गए valid_period और valid_time_of_week के अपवादों के बारे में पता चलता है
date_exceptionsobject
(Date) का कलेक्शन

इससे valid_period और time_of_day के लिए, दिनों के अपवादों के बारे में पता चलता है
validity_scopeenum
(ValidityScope)

इससे वैधता अवधि का स्कोप तय किया जाता है.
validity_duration_in_daysसंख्या

वाउचर/कूपन खरीदने के बाद, वह कितने दिनों तक मान्य रहेगा.

ValidityRange

टाइमस्टैंप की क्लोज़-ओपन रेंज.

फ़ील्ड का नामटाइपआवश्यकताब्यौरा
valid_from_timeobject
(Timestamp)

ज़रूरी है

रेंज के शुरू होने का समय (शामिल है). ज़रूरी है.
valid_through_timeobject
(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_windowsobject
(TimeOfDayRange)

ज़रूरी है

वह समयावधि जिसके दौरान ऑर्डर दिया जा सकता है/पूरा किया जा सकता है. ज़रूरी है.
day_of_weekenum
(DayOfWeek) का कलेक्शन

हफ़्ते के उन दिनों की सूची जिन पर विंडो लागू होती हैं. अगर कोई भी दिन सेट नहीं किया गया है, तो इसका मतलब है कि यह नीति हफ़्ते के सभी दिनों के लिए लागू होती है. ज़रूरी नहीं.
day_of_monthobject
(DayOfMonthRange) का कलेक्शन

महीने के वे दिन जब विंडो लागू होती हैं. अगर कोई भी दिन सेट नहीं किया गया है, तो इसका मतलब है कि यह नीति महीने के सभी दिनों पर लागू होती है. ज़रूरी नहीं.

TimeOfDayRange

बंद-खुली समयावधि.

फ़ील्ड का नामटाइपआवश्यकताब्यौरा
open_timeobject
(TimeOfDay)

यह टाइम ऑब्जेक्ट, रेंज के दिन के शुरू होने का समय दिखाता है. इसमें शुरू होने का समय शामिल होता है. अगर इसे सेट नहीं किया गया है, तो इसका मतलब है कि वैल्यू 00:00:00 है. ज़रूरी नहीं.
close_timeobject
(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_periodobject
(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_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 या डिफ़ॉल्ट enum वैल्यू का इस्तेमाल नहीं किया जाना चाहिए.
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 या डिफ़ॉल्ट enum वैल्यू का इस्तेमाल नहीं किया जाना चाहिए.
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संख्या

discount_value और other_offer_detail_text के साथ इस्तेमाल नहीं किया जा सकता

बिल के उस हिस्से का प्रतिशत जिस पर छूट दी गई है. [0, 100] पूरे खाने पर लागू होने वाले 1+1 या 50% की छूट वाले ऑफ़र के लिए (जैसे, बुफ़े पर 1+1, पूरे बिल पर 1+1, सेट मेन्यू पर 1+1), इस वैल्यू को 50 पर सेट किया जा सकता है.
discount_valueobject
(Money)

discount_percent और other_offer_detail_text के साथ इस्तेमाल नहीं किया जा सकता

छूट का निश्चित मूल्य.
other_offer_detail_textस्ट्रिंग

discount_percent और discount_value के साथ इस्तेमाल नहीं किया जा सकता

छूट के बारे में बताने के लिए, फ़्री-फ़ॉर्म टेक्स्ट. खास 1+1 ऑफ़र (जैसे, 1+1 ड्रिंक, +1 मेन कोर्स, 1+1 चुने गए मेन्यू आइटम) के लिए, यहां यह जानकारी दी जानी चाहिए.

लागत

फ़ील्ड का नामटाइपआवश्यकताब्यौरा
amountobject
(Money)

amount_range के साथ म्यूचुअली एक्सक्लूसिव

amount_rangeobject
(MoneyRange)

amount के साथ म्यूचुअली एक्सक्लूसिव

denomination_type

फ़ील्ड का नामटाइपआवश्यकताब्यौरा
fixed_denominationsobject
(FixedDenominations)

custom_range के साथ म्यूचुअली एक्सक्लूसिव

इस विकल्प का इस्तेमाल तब किया जाता है, जब उपहार कार्ड निश्चित, तय कीमतों में उपलब्ध होता है.
custom_rangeobject
(MoneyRange)

fixed_denominations के साथ म्यूचुअली एक्सक्लूसिव

इस कुकी का इस्तेमाल तब किया जाता है, जब ब्रैंड उपयोगकर्ताओं को तय की गई सीमा के अंदर, अपनी पसंद के मुताबिक (लचीली) फ़ेस वैल्यू चुनने की अनुमति देता है.

फ़ीड को अपलोड करना

ऑफ़र फ़ीड को 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 का इस्तेमाल, ऐड-ऑन ऑफ़र को सिर्फ़ तब बुनियादी ऑफ़र के तौर पर चालू करने के लिए किया जाना चाहिए, जब कोई बुनियादी ऑफ़र चालू न हो.
  • पेमेंट के तरीके के हिसाब से एक जैसे ऑफ़र को एक साथ ग्रुप करना: अगर पेमेंट के कई तरीकों के लिए छूट की वैल्यू एक जैसी है (उदाहरण के लिए, क्रेडिट कार्ड, डेबिट कार्ड, और नेट बैंकिंग, सभी पर 5% की छूट मिल रही है), तो उन्हें अलग-अलग डुप्लीकेट ऑफ़र के तौर पर भेजने के बजाय, एक ही Offer ऑब्जेक्ट में ग्रुप करें. इसके लिए, payment_instrument.items सूची में पेमेंट के सभी मान्य तरीके जोड़ें. इससे Google इंटरफ़ेस पर लेआउट में होने वाली गड़बड़ी कम हो जाती है. साथ ही, डुप्लीकेट कॉन्टेंट पर लगी ज़्यादा पाबंदियों की वजह से, रैंकिंग में होने वाली संभावित गिरावट को रोका जा सकता है.

उदाहरण के तौर पर:

  • कोई रेस्टोरेंट, किसी खास क्रेडिट कार्ड से पेमेंट करने पर 5% की छूट देता है. साथ ही, किसी खास कूपन कोड के साथ एक ड्रिंक मुफ़्त देता है

    • क्रेडिट कार्ड पर 5% की छूट वाले ऑफ़र की दो कॉपी भेजी जानी चाहिए. एक कॉपी को OFFER_CATEGORY_BASE_OFFER के तौर पर और दूसरी कॉपी को OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER के तौर पर टैग किया जाना चाहिए. साथ ही, इसमें PaymentInstrument की जानकारी शामिल होनी चाहिए.
    • कूपन कोड के साथ मुफ़्त ड्रिंक का ऑफ़र, OFFER_CATEGORY_ADD_ON_COUPON_OFFER के तौर पर भेजा जाना चाहिए. इसमें Coupon की जानकारी शामिल होनी चाहिए.
  • एक रेस्टोरेंट, बिना बुकिंग के आने वाले लोगों को 10% की छूट देता है. साथ ही, किसी खास क्रेडिट कार्ड से पेमेंट करने पर 5% की छूट देता है. इन दोनों छूट को एक साथ इस्तेमाल किया जा सकता है.

    • स्टोर पर जाकर खरीदारी करने पर मिलने वाले 10% के ऑफ़र को OFFER_CATEGORY_BASE_OFFER के तौर पर टैग किया जाना चाहिए.
    • क्रेडिट कार्ड से पेमेंट करने पर 5% की छूट वाले ऑफ़र की दो कॉपी होनी चाहिए. इनमें से एक को OFFER_CATEGORY_BASE_OFFER और दूसरी को OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER के तौर पर टैग किया जाना चाहिए.
  • एक रेस्टोरेंट, हफ़्ते के कामकाजी दिनों में सिर्फ़ दोपहर के खाने पर 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 के तौर पर टैग किया जाना चाहिए.

डेवलपमेंट और लॉन्च करने की प्रोसेस

इंटिग्रेशन के दौरान, Partner Portal आपको डेवलपमेंट के आधार पर जानकारी और सुझाव/राय देने में मदद करेगा. डेवलपमेंट की प्रोसेस इस फ़्लो के हिसाब से होगी:

  • इंटिग्रेशन को सबसे पहले सैंडबॉक्स एनवायरमेंट में डेवलप किया जाएगा. आपको Google सैंडबॉक्स एनवायरमेंट में, प्रोडक्शन डेटा (या सीधे तौर पर प्रोडक्शन डेटा) का एक्सपोर्ट इस्तेमाल करना चाहिए. इससे यह पक्का करने में मदद मिलती है कि आपका डेवलपमेंट, सभी मुश्किल मामलों को कवर करता हो. साथ ही, Google को डेटा क्वालिटी का आकलन करने और आपके डेटा मॉडल के आधार पर आपकी बेहतर तरीके से मदद करने की अनुमति देता हो.
  • Google सैंडबॉक्स एनवायरमेंट में, Merchant, Services, और Deals फ़ीड को हर दिन और पूरी तरह से अपलोड करने के बाद, 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 लाइब्रेरी. कैशिंग को लागू करने के तरीके के बारे में ज़्यादा जानने के लिए, एचटीटीपी कैशिंग से जुड़ा यह दस्तावेज़ पढ़ें.