इस पेज पर GTFS-टिकट की खास बातों के एक सबसेट के बारे में बताया गया है जो इस दस्तावेज़ को बनाए जाने के दौरान प्रस्ताव के चरण में है. इस पेज पर Google की ओर से लगाई गई कई अन्य पाबंदियां भी शामिल हैं.
ज़रूरी शर्तें
stop_times.txt
में departure_time
फ़ील्ड आवश्यक है.
फ़ील्ड के अन्य टाइप
इस सेक्शन में फ़ील्ड के दूसरे टाइप और Google के एक्सटेंशन वाले एक्सटेंशन के बारे में बताया गया है. कुछ फ़ील्ड में, यूआरआई के तौर पर वैल्यू देना ज़रूरी होता है.
- यूआरआई: पूरी तरह क्वालिफ़ाइड यूनिफ़ॉर्म रिसॉर्स आइडेंटिफ़ायर (यूआरआई) जिसमें स्कीम शामिल हो. यूआरआई में मौजूद सभी खास वर्णों में सही एस्केप का इस्तेमाल किया जाना चाहिए. पूरी तरह क्वालिफ़ाइड यूआरआई वैल्यू बनाने का तरीका जानने के लिए, आरएफ़सी 3986 यूनिफ़ॉर्म रिसॉर्स आइडेंटिफ़ायर (यूआरआई): सामान्य सिंटैक्स देखें.
फ़ाइल एक्सटेंशन या जोड़
एक्सटेंशन स्थिति वाली टेक्स्ट फ़ाइलें ऐसी फ़ाइलें होती हैं जो पहले से मौजूद होती हैं और आपको इन्हें बढ़ाना होगा. आपको नीचे दी गई टेबल में, उन नए फ़ील्ड को जोड़ना होगा जिन्हें हमने तय किया है.
जोड़ स्थिति वाली टेक्स्ट फ़ाइलें वे नई फ़ाइलें होती हैं जिन्हें Google Transit टिकट एक्सटेंशन उपलब्ध कराता है. आपको नीचे दी गई टेबल के बाद दी गई फ़ील्ड की परिभाषाओं के मुताबिक ये फ़ाइलें बनानी होंगी. इन फ़ाइलों को अपने फ़ीड में ज़रूर शामिल करें.
फ़ाइल का नाम | स्थिति | बताता है |
---|---|---|
agency.txt |
एक्सटेंशन | agency.ticketing_deep_link_id को जोड़ता है. |
routes.txt |
एक्सटेंशन | routes.ticketing_deep_link_id को जोड़ता है. |
trips.txt |
एक्सटेंशन | trips.trip_ticketing_id और trips.ticketing_type जोड़ता है. |
stop_times.txt |
एक्सटेंशन | 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, दोहराया जा सकने वाला) पहुंचने का समय, स्टॉप_टाइम पर उसके आने का समय, जब पैर खत्म होगा. इस फ़ील्ड के समय की वैल्यू, नीचे दिए गए स्ट्रिंग फ़ॉर्मैट के साथ 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,हर दिन,ri1,"TGV INOUI 6603",FR_SNCF_6603 ti2,हर दिन,ri1,"TGV INOUI 6681",FR_SNCF_6681 ti3,हर दिन,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,एजेंसी1,4924 si2,एजेंसी1,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 समय UTC+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 यूनिवर्सल लिंक के तौर पर सेट अप करें. |