इस पेज पर, GTFS-टिकट की सुविधा के निर्देशों के सबसेट के बारे में बताया गया है. इस दस्तावेज़ को बनाते समय, यह सुझाव के तौर पर दिया गया है. इस पेज पर, Google की ओर से लगाई गई कई और पाबंदियां भी शामिल हैं.
ज़रूरी शर्तें
stop_times.txt में departure_time फ़ील्ड ज़रूरी है.
अन्य फ़ील्ड टाइप
इस सेक्शन में, अन्य फ़ील्ड टाइप और Google के एक्सटेंशन के बारे में बताया गया है. कुछ फ़ील्ड में यूआरआई के तौर पर वैल्यू डालनी होती हैं.
- यूआरआई: पूरी तरह से क्वालिफ़ाइड यूनिफ़ॉर्म रिसॉर्स आइडेंटिफ़ायर (यूआरआई), जिसमें स्कीम शामिल है. यूआरआई में मौजूद किसी भी खास वर्ण के लिए, सही एस्केप का इस्तेमाल किया गया हो. पूरी तरह से क्वालिफ़ाइड यूआरआई वैल्यू बनाने का तरीका जानने के लिए, आरएफ़सी 3986 यूनिफ़ॉर्म रिसॉर्स आइडेंटिफ़ायर (यूआरआई): सामान्य सिंटैक्स देखें.
फ़ाइल एक्सटेंशन या अन्य चीज़ें जोड़ना
एक्सटेंशन स्टेटस वाली टेक्स्ट फ़ाइलें, पहले से मौजूद फ़ाइलें होती हैं. इन्हें एक्सटेंशन देना होता है. आपको नीचे दी गई टेबल में बताए गए नए फ़ील्ड जोड़ने होंगे.
जोड़ी गई स्थिति वाली टेक्स्ट फ़ाइलें, Google Transit के टिकट बेचने की सुविधा के एक्सटेंशन की नई फ़ाइलें हैं. आपको ये फ़ाइलें, नीचे दी गई टेबल के बाद दी गई फ़ील्ड की परिभाषाओं के मुताबिक बनानी होंगी. अपने फ़ीड में ये फ़ाइलें ज़रूर शामिल करें.
| फ़ाइल का नाम | स्थिति | बताता है | 
|---|---|---|
| agency.txt | Extension | agency.ticketing_deep_link_idजोड़ता है. | 
| routes.txt | Extension | routes.ticketing_deep_link_idजोड़ता है. | 
| trips.txt | Extension | इसमें trips.ticketing_trip_idऔरtrips.ticketing_typeजोड़े जाते हैं. | 
| stop_times.txt | Extension | stop_times.ticketing_typeजोड़ता है. | 
| ticketing_identifiers.txt | जोड़ | नई फ़ाइल. ज़्यादा जानकारी के लिए, फ़ील्ड की परिभाषाएं देखें. | 
| ticketing_deep_links.txt | जोड़ | नई फ़ाइल. ज़्यादा जानकारी के लिए, फ़ील्ड की परिभाषाएं देखें. | 
फ़ील्ड के मतलब
agency.txt (फ़ाइल एक्सटेंड की गई)
| फ़ील्ड का नाम | मौजूदगी | विवरण | 
|---|---|---|
| ticketing_deep_link_id | वैकल्पिक | ( | 
routes.txt (फ़ाइल एक्सटेंड की गई)
| फ़ील्ड का नाम | मौजूदगी | विवरण | 
|---|---|---|
| ticketing_deep_link_id | वैकल्पिक | ( ticketing_deep_links.txtका आईडी) इस रूट के लिए इस्तेमाल किए जाने वाले डीप लिंक के बारे में
      बताता है. इस पैरामीटर के मौजूद होने पर,agency.txtमें मौजूद फ़ील्ड को बदल दिया जाता है. | 
trips.txt (फ़ाइल एक्सटेंड की गई)
| फ़ील्ड का नाम | मौजूदगी | विवरण | 
|---|---|---|
| ticketing_trip_id | वैकल्पिक | (आईडी) डीप लिंक में पास करने के लिए आइडेंटिफ़ायर. यह यूनीक होनी ज़रूरी नहीं है. अगर  | 
| ticketing_type | वैकल्पिक | (Enum) तय करें कि इस यात्रा के लिए, डीप लिंक की मदद से टिकट बुक करने की सुविधा उपलब्ध है या नहीं: 
 | 
stop_times.txt (फ़ाइल एक्सटेंड की गई)
| फ़ील्ड का नाम | मौजूदगी | विवरण | 
|---|---|---|
| ticketing_type | वैकल्पिक | (Enum) इससे यह तय होता है कि इस स्टॉप के समय के लिए, डीप लिंक की मदद से टिकट बुक करने की सुविधा उपलब्ध है या नहीं. अगर आपने  
 | 
ticketing_identifiers.txt (फ़ाइल जोड़ी गई)
टिकट बेचने के लिए, आम तौर पर हर स्टॉप के लिए बिलिंग प्रोसेस करने वाला आइडेंटिफ़ायर होता है. अलग-अलग एजेंसियां, किसी भी स्टॉप के लिए एक ही आइडेंटिफ़ायर का इस्तेमाल कर सकती हैं. जब एक से ज़्यादा एजेंसियां एक ही स्टॉप पर सेवा देती हैं, तो हर एजेंसी के लिए यह मैपिंग दोहराएं.
| फ़ील्ड का नाम | मौजूदगी | विवरण | 
|---|---|---|
| ticketing_stop_id | ज़रूरी है | (आईडी) इस एजेंसी के लिए, इस स्टॉप का डिफ़ॉल्ट टिकट आईडी तय करता है. | 
| stop_id | ज़रूरी है | ( stops.txtसे मिला आईडी) वह स्टॉप जिसके लिए डिफ़ॉल्टticketing_stop_idतय किया गया है. | 
| agency_id | ज़रूरी है | ( agency.txtसे मिला आईडी) उस स्टॉप की एजेंसी जिसके लिए डिफ़ॉल्टticketing_stop_idतय किया गया है. | 
ticketing_deep_links.txt (फ़ाइल जोड़ी गई)
| फ़ील्ड का नाम | मौजूदगी | विवरण | 
|---|---|---|
| ticketing_deep_link_id | ज़रूरी है | (आईडी) डीप लिंक के लिए आईडी तय करता है. | 
| web_url | वैकल्पिक | (यूआरएल) डीप लिंक करने के लिए विज़िट किया जाने वाला यूआरएल. इस फ़ील्ड का अनुवाद  | 
| android_intent_uri | वैकल्पिक | (यूआरआई)  अगर यह फ़ील्ड खाली है, तो इसका मतलब है कि किसी नेटिव Android ऐप्लिकेशन को डीप लिंक नहीं किया जा सकता. Android पर डीप लिंक के बारे में ज़्यादा जानने के लिए, ऐप्लिकेशन के कॉन्टेंट के लिए डीप लिंक बनाएं लेख पढ़ें. इस फ़ील्ड का अनुवाद  | 
| ios_universal_link_url | वैकल्पिक | (यूआरएल) iOS पर ट्रिगर करने के लिए यूनिवर्सल लिंक का यूआरएल. अगर यह फ़ील्ड खाली है, तो iOS पर डीप लिंकिंग की सुविधा नहीं दिखती. ज़्यादा जानकारी के लिए, iOS पर यूनिवर्सल लिंक देखें. इस फ़ील्ड का अनुवाद,  | 
एपीआई कॉल में फ़ील्ड प्लेसहोल्डर
Google, ticketing_deep_links.txt में बताए गए यूआरएल को इन
  पैरामीटर के साथ कॉल करता है:
| फ़ील्ड का नाम | विवरण | 
|---|---|
| service_date | (तारीख, दोहराया जा सकता है) यात्रा के दौरान सर्विस का दिन. इस फ़ील्ड का इस्तेमाल, यात्रा के पहले स्टॉप से निकलने की तारीख के लिए करें. यह फ़ील्ड, JSON कलेक्शन के तौर पर फ़ॉर्मैट होता है. | 
| ticketing_trip_id | ( यह फ़ील्ड, JSON कलेक्शन के तौर पर फ़ॉर्मैट होता है. | 
| from_ticketing_stop_time_id | (दोहराया जा सकता है) उस  किसी स्टॉप पर बस के रुकने के समय की वैल्यू इस तरह की होती है: 
 यह फ़ील्ड, JSON कलेक्शन के तौर पर फ़ॉर्मैट होता है. | 
|  | (दोहराया जा सकता है) उस  वैल्यू का हिसाब लगाने के बारे में जानने के लिए,  यह फ़ील्ड, JSON कलेक्शन के तौर पर फ़ॉर्मैट होता है. | 
| boarding_time | (ISO 8601, दोहराया जा सकता है)  इस फ़ील्ड का इस्तेमाल, यात्री के वाहन में बैठने की तारीख और समय की जानकारी देने के लिए करें. इस फ़ील्ड में समय की वैल्यू, ISO 8601 के मुताबिक होनी चाहिए. साथ ही, यह वैल्यू इस स्ट्रिंग फ़ॉर्मैट में होनी चाहिए: 
 यहां दिए गए सभी समय एक ही हैं, लेकिन अलग-अलग टाइम ज़ोन में: 
 यह फ़ील्ड, JSON कलेक्शन के तौर पर फ़ॉर्मैट होता है. | 
| arrival_time | (ISO 8601, दोहराया जा सकता है) पहुंचने का समय, stop_time पर arrival_time, जहां लेग खत्म होता है. इस फ़ील्ड में समय की वैल्यू, ISO 8601 के मुताबिक होनी चाहिए. इसके लिए, स्ट्रिंग का यह फ़ॉर्मैट इस्तेमाल करें: 
 यहां दिए गए सभी समय एक ही हैं, लेकिन अलग-अलग टाइम ज़ोन में: 
 यह फ़ील्ड, JSON कलेक्शन के तौर पर फ़ॉर्मैट होता है. | 
उदाहरण
इस उदाहरण में, यात्री की यात्रा के चरण इस तरह हैं:
- सेवा की तारीख 20190716को, ट्रिप टिकट आईडीti1, स्टॉप समय टिकट आईडी11से स्टॉप समय टिकट आईडी12तक शुरू होता है. यात्री, यूटीसी के मुताबिक दोपहर 2:00 बजे फ़्लाइट में चढ़ता है और दोपहर 2:50 बजे पहुंचता है.
- सेवा की तारीख 20190716को, ट्रिप टिकट आईडीti2, स्टॉप समय टिकट आईडी21से स्टॉप समय टिकट आईडी22तक शुरू होता है. यात्री, यूटीसी समय के मुताबिक दोपहर 3:00 बजे फ़्लाइट में चढ़ता है और दोपहर 3:50 बजे पहुंचता है.
इस उदाहरण के लिए, web_url https://examplepetstore.com है.
इस पूरी जानकारी के आधार पर, इस ट्रिप के लिए फ़ीड के पैरामीटर की इन वैल्यू का इस्तेमाल करें:
| फ़ील्ड का नाम | विवरण | 
|---|---|
| service_date | ["20190716","20190716"] | 
| ticketing_trip_id | ["ti1","ti2"] | 
| from_ticketing_stop_time_id | ["11","21"] | 
| to_ticketing_stop_time_id | ["12","22"] | 
| boarding_time | ["2019-07-16T14:00:00+00:00","2019-07-16T15:00:00+00:00"] | 
| arrival_time | ["2019-07-16T14:50:00+00:00","2019-07-16T15:50:00+00:00"] | 
एन्कोड करने के बाद, फ़ाइनल यूआरएल यह होगा:
https://examplepetstore.com?service_date=%5B%2220190716%22,%2220190716%22%5D
&ticketing_trip_id=%5B%22ti1%22,%22ti2%22%5D&from_ticketing_stop_time_id=%5B%2211%22,%2221%22%5D
&to_ticketing_stop_time_id=%5B%2212%22,%2222%22%5D&boarding_time=%5B%222019-07-16T14:00:00%2B00:00
%22,%222019-07-16T15:00:00%2B00:00%22%5D&arrival_time=%5B%222019-07-16T14:50:00%2B00:00 %22,%222019-07-16T15:50:00%2B00:00%22%5D
ticketing_stop_id की अलग-अलग वैल्यू के उदाहरण
ticketing_identifiers.txt फ़ील्ड की मदद से टिकट बेचने के लिए, स्टॉप के अलग-अलग आईडी हो सकते हैं. बोल्ड में दी गई वैल्यू, फ़ाइलों के बाद बताए गए वेब कॉल में मिलती हैं.
| stop.txt | 
|---|
| 
 
 
 | 
| routes.txt | 
|---|
| 
 
 | 
| trips.txt | 
|---|
| 
 ti1,everyday,ri1,"TGV INOUI 6603",FR_SNCF_6603 ti2,everyday,ri1,"TGV INOUI 6681",FR_SNCF_6681 ti3,everyday,ri1,"TGV INOUI 6607",FR_SNCF_6607 | 
| stop_times.txt | 
|---|
| 
 ti1,1,si1,06:59:00,06:59:00 ti1,2,si2,08:56:00,08:56:00 ti2,1,si1,07:53:00,07:53:00 ti2,2,si2,10:00:00,10:00:00 ti3,1,si1,08:59:00,08:59:00 ti3,2,si2,10:56:00,10:56:00 | 
| ticketing_identifiers.txt | 
|---|
| 
 si1,agency1,4924 si2,agency1,4676 | 
| ticketing_deep_links.txt | 
|---|
| 
 tdl1, https://examplepetstore.com/api/gtfs/web, https://examplepetstore.com/api/gtfs/android, https://examplepetstore.com/api/gtfs/ios | 
अगर अनुरोध 19-07-2019 को किया गया है और GTFS के समय, यूटीसी+1 टाइम ज़ोन में हैं, तो वेब के लिए कॉल इस तरह का होगा:
https://examplepetstore.com/api/gtfs/web?service_date=%5B%2220190719%22%5D&ticketing_trip_id=
  %5B%22FR_SNCF_6603%22%5D&from_ticketing_stop_time_id=%5B%224924%22%5D&to_ticketing_stop_time_id=
  %5B%224676%22%5D&boarding_time=%5B%222019-07-19T05:59:00%2B00:00%22%5&arrival_time=%5B%222019-07-19T07:56:00%2B00:00%22%5D
सुझाए गए तरीके
Google Transit के टिकट बेचने वाले एक्सटेंशन लागू करने के लिए, इन सुझावों का पालन करें:
| दिशा-निर्देश | |
|---|---|
| जब भी हो सके, एजेंसियों या रास्तों के बीच डीप लिंक शेयर करें. | स्टैटिक फ़ीड में, जब भी एक से ज़्यादा एजेंसियों या रूट के एक जैसे डीप लिंक यूआरएल होते हैं, तो
          उन्हें  | 
| ticketing_typeके लिए एक जैसी वैल्यू सेट करें. | किसी स्टॉप के लिए  | 
| पेरेंट और चाइल्ड स्टॉप, दोनों के लिए ticketing_stop_idका मैप. | उन सभी पैरंट और चाइल्ड स्टॉप के लिए मैपिंग करें जिनके लिए टिकट की ज़रूरत होती है. ticketing_identifiers.txtफ़ाइल में,ticketing_stop_idवैल्यू, पेरंट स्टॉप और उसके चाइल्ड स्टॉप के बीच प्रोपेगेट नहीं होती हैं. | 
| फ़ीड में एक ही स्टॉप का इस्तेमाल करने वाली हर एजेंसी के लिए ticketing_stop_idको मैप करें. | स्टैटिक फ़ीड में, अगर टिकट की सुविधा देने वाली एक से ज़्यादा एजेंसियां एक ही स्टॉप को शेयर करती हैं, तो हर एजेंसी के लिए मैपिंग मौजूद होनी चाहिए. ज़्यादा जानकारी के लिए,  | 
| जब किसी Android ऐप्लिकेशन के लिए डीप लिंक की ज़रूरत हो, तो Android ऐप्लिकेशन के लिंक का इस्तेमाल करें. | अगर पार्टनर को डीप लिंक से कोई Android ऐप्लिकेशन खोलना है, तो डीप लिंक को Android ऐप्लिकेशन लिंक के तौर पर सेट अप करें. | 
| iOS ऐप्लिकेशन के लिए डीप लिंक की ज़रूरत होने पर, iOS यूनिवर्सल लिंक का इस्तेमाल करें. | अगर पार्टनर को डीप लिंक से iOS ऐप्लिकेशन खोलना है, तो डीप लिंक को iOS यूनिवर्सल लिंक के तौर पर सेट अप करें. |