जुलाई में एम्स्टर्डम के 200 रेस्तरां पर किए गए एक परीक्षण से पता चला है कि वर्तमान AI असिस्टेंट टेबल रिजर्वेशन पूरा नहीं कर सकते क्योंकि बुकिंग विजेट एक iframe के अंदर छिपा होता है।
iframe एजेंटों को क्यों रोकता है
अधिकांश ऑनलाइन रिजर्वेशन टूल एक एम्बेडेड iframe के रूप में दिए जाते हैं। एक विज़िटर "Reserve" बटन पर क्लिक करता है, एक कैलेंडर पॉप अप होता है, और उपयोगकर्ता एक टाइम स्लॉट चुनता है। एक इंसान के लिए, यह प्रक्रिया काम करती है; लेकिन एक AI एजेंट के लिए, यह रुक जाती है।
- एजेंट मुख्य HTML पेज को पार्स करता है।
- बुकिंग बटन एक अलग डोमेन पर स्थित URL की ओर इशारा करता है।
- ब्राउज़र उस URL को एक iframe के अंदर लोड करता है, जिससे वह पैरेंट पेज से अलग हो जाता है।
चूंकि 'same-origin policy' पैरेंट पेज के स्क्रिप्ट्स को iframe के DOM को पढ़ने या उसके नेटवर्क कॉल्स को इंटरसेप्ट करने से रोकती है, इसलिए पेज की सामग्री पढ़ने और HTTP रिक्वेस्ट भेजने वाला AI एजेंट केवल बटन ही देख पाता है। वह कैलेंडर, टाइम स्लॉट या कन्फर्मेशन फ्लो को कभी नहीं देख पाता। भले ही वह बटन पर क्लिक कर दे, फिर भी उसे कैप्चा (captchas) हल करने, लेआउट में बदलावों के अनुसार ढलने, या कई बुकिंग सेवाओं द्वारा अपनाए जाने वाले एंटी-ऑटोमेशन डिफेंस से बचने की आवश्यकता होती है।
गायब मशीन-रीडेबल लिंक
163 कार्यात्मक रेस्तरां साइटों के एक अलग ऑडिट में पाया गया कि केवल नौ साइटों ने ही कोई मशीन-रीडेबल बुकिंग डेटा प्रदर्शित किया था। उन नौ साइटों ने schema.org मार्कअप का उपयोग करके बुनियादी जानकारी—नाम और पता—सूचीबद्ध की थी, लेकिन उनमें से किसी में भी ऐसे रिजर्वेशन एक्शन शामिल नहीं थे जिन्हें एक एजेंट कॉल (invoke) कर सके। Schema.org इस उद्देश्य के लिए ReserveAction जैसे प्रकारों को परिभाषित करता है, फिर भी अधिकांश साइटें केवल वर्णनात्मक मेटाडेटा प्रकाशित करती हैं, न कि कार्रवाई योग्य निर्देश (actionable instructions)।
व्यवहार में, एक असिस्टेंट ऐसे स्ट्रक्चर्ड डेटा की तलाश करता है जो उसे यह बताए कि कार्य कैसे करना है, न कि केवल यह कि कार्य क्या है। ReserveAction या किसी तुलनीय एंडपॉइंट के बिना, एजेंट एक इंसान के क्लिक की नकल करने पर मजबूर हो जाता है, जो ऊपर बताए अनुसार अविश्वसनीय है।
एक व्यावहारिक समाधान जो UI को नहीं बिगाड़ता
- एक बुकिंग API प्रकाशित करें – एक हल्का HTTP एंडपॉइंट बनाएं जो उपलब्धता संबंधी पूछताछ और रिजर्वेशन बनाने के लिए JSON रिक्वेस्ट स्वीकार करे। API तारीख, समय, पार्टी का आकार और कन्फर्मेशन कोड जैसे फ़ील्ड लौटाता है। कोई भी एजेंट पेज रेंडर किए बिना इसका उपयोग कर सकता है।
- API को खोजने योग्य बनाएं –
/.well-known/bookingजैसे किसी सुप्रसिद्ध स्थान पर एक पॉइंटर रखें, या पेज के schema.org मार्कअप में एकReserveActionप्रविष्टि एम्बेड करें। यह एजेंटों को बताता है कि "यहाँ बुकिंग करने का एक प्रोग्रामेटिक तरीका है" और इसके लिए स्क्रैपिंग की आवश्यकता नहीं होती। - Model Context Protocol (MCP) को अपनाएं – MCP असिस्टेंट्स को इनपुट पास करने और स्ट्रक्चर्ड आउटपुट प्राप्त करने के लिए सीधे बाहरी टूल को कॉल करने की अनुमति देता है। प्रमुख AI प्रदाता पहले से ही MCP का समर्थन करते हैं, इसलिए जो रेस्तरां MCP-संगत एंडपॉइंट लागू करता है, उसे एजेंटों द्वारा एक इन-बिल्ट फंक्शन की तरह कॉल किया जा सकता है।
ये कदम मानव उपयोगकर्ताओं के लिए विज़ुअल iframe को बने रहने देते हैं, जबकि एजेंटों को उसी रिजर्वेशन डेटा तक पहुँचने के लिए एक साफ और विश्वसनीय रास्ता प्रदान करते हैं।
निष्कर्ष
एक iframe के अंदर कैलेंडर एम्बेड करने से इंसानों के लिए विज़ुअल फ्लो सुरक्षित रहता है, लेकिन AI असिस्टेंट अंधे हो जाते हैं। एक मामूली, अच्छी तरह से प्रलेखित (well-documented) बुकिंग API जोड़ना और उसे मानक मेटाडेटा या MCP के माध्यम से विज्ञापित करना, वेबसाइट को पूरी तरह बदले बिना एक नया रिजर्वेशन चैनल खोलता है। यह प्रयास डिजिटल असिस्टेंट्स की अगली पीढ़ी के लिए दृश्यता (visibility) बढ़ाता है, और जोखिम को मौजूदा UI पर पहले से उपयोग किए जा रहे सुरक्षा नियंत्रणों के साथ प्रबंधित किया जा सकता है।
