গুগল ট্রানজিট টিকিটিং এক্সটেনশন

এই পৃষ্ঠাটি GTFS-টিকিটিং স্পেসিফিকেশনের একটি উপসেট সংজ্ঞায়িত করে, যা এই নথি তৈরির সময় প্রস্তাবের পর্যায়ে রয়েছে। এই পৃষ্ঠাটিতে Google থেকে বেশ কিছু অতিরিক্ত বিধিনিষেধও রয়েছে৷

প্রয়োজনীয়তা

stop_times.txt এ ফিল্ড departure_time আবশ্যক।

অতিরিক্ত ক্ষেত্রের প্রকার

এই বিভাগে অতিরিক্ত ফিল্ডের ধরন এবং Google-এর এক্সটেনশনগুলির রূপরেখা রয়েছে৷ কিছু ক্ষেত্রের একটি URI আকারে মান প্রয়োজন।

ফাইল এক্সটেনশন বা সংযোজন

স্টেট এক্সটেনশন সহ পাঠ্য ফাইলগুলি এমন ফাইল যা ইতিমধ্যেই বিদ্যমান এবং আপনাকে প্রসারিত করতে হবে৷ আপনাকে অবশ্যই নতুন ক্ষেত্র যোগ করতে হবে যা আমরা নিম্নলিখিত টেবিলে সংজ্ঞায়িত করেছি।

রাজ্য সংযোজন সহ পাঠ্য ফাইলগুলি হল গুগল ট্রানজিট টিকিট এক্সটেনশন দ্বারা প্রবর্তিত নতুন ফাইল। নিম্নলিখিত টেবিলের পরে দেওয়া ফিল্ড সংজ্ঞা অনুসারে আপনাকে এই ফাইলগুলি তৈরি করতে হবে। আপনার ফিডে এই ফাইলগুলি অন্তর্ভুক্ত করতে ভুলবেন না।

ফাইলের নাম অবস্থা সংজ্ঞায়িত করে
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 ঐচ্ছিক

( ticketing_deep_links.txt থেকে আইডি ) এই এজেন্সির জন্য ব্যবহার করার জন্য গভীর লিঙ্কটি সংজ্ঞায়িত করে। routes.txt এ ওভাররাইট করা যেতে পারে।

routes.txt (ফাইল বর্ধিত)

ক্ষেত্র নাম উপস্থিতি বিস্তারিত
ticketing_deep_link_id ঐচ্ছিক ( ticketing_deep_links.txt থেকে আইডি ) এই রুটের জন্য ব্যবহার করার জন্য গভীর লিঙ্কটি সংজ্ঞায়িত করে। যদি উপস্থিত থাকে, তাহলে ক্ষেত্রটি agency.txt এ ওভাররাইট করে।

trips.txt (ফাইল বর্ধিত)

ক্ষেত্র নাম উপস্থিতি বিস্তারিত
ticketing_trip_id ঐচ্ছিক

(আইডি) শনাক্তকারীকে ডিপ লিঙ্কে পাস করতে হবে। অনন্য হতে হবে না.

ticketing_trip_id খালি থাকলে, সিস্টেম তার পরিবর্তে trip_id মান ব্যবহার করে।

ticketing_type ঐচ্ছিক

(Enum) এই ট্রিপের জন্য একটি গভীর লিঙ্কের মাধ্যমে টিকিট করা উপলব্ধ কিনা তা নির্ধারণ করুন:

  • 0 বা খালি:
    • আপনি যদি রুট বা এজেন্সির জন্য একটি ticketing_deep_link_id সংজ্ঞায়িত করেন তবে এটি উপলব্ধ।
    • অন্যথায় অনুপলব্ধ.
  • 1 : অনুপলব্ধ

stop_times.txt (ফাইল বর্ধিত)

ক্ষেত্র নাম উপস্থিতি বিস্তারিত
ticketing_type ঐচ্ছিক

(Enum) এই স্টপ সময়ের জন্য একটি গভীর লিঙ্কের মাধ্যমে টিকিট করা উপলব্ধ কিনা তা সংজ্ঞায়িত করে। আপনি যদি stop_times.ticketing_type সংজ্ঞায়িত করেন তবে এটি trip.ticketing_type এ সেট করা মানটিকে ওভাররাইড করে।

  • খালি: trip.ticketing_type থেকে মান ব্যবহার করে।
  • 0 :
    • আপনি যদি রুট বা এজেন্সির জন্য একটি ticketing_deep_link_id সংজ্ঞায়িত করেন তবে এটি উপলব্ধ।
    • অন্যথায় অনুপলব্ধ.
  • 1 : অনুপলব্ধ

ticketing_identifiers.txt (ফাইল যোগ করা হয়েছে)

টিকিটিংয়ের জন্য সবচেয়ে সাধারণ ঘটনা হল যে প্রতিটি স্টপে বিলিং প্রক্রিয়া করার জন্য একটি শনাক্তকারী থাকে। বিভিন্ন সংস্থা যেকোনো প্রদত্ত স্টপের জন্য একই শনাক্তকারী ব্যবহার করতে পারে। যখন একাধিক সংস্থা একই স্টপ পরিবেশন করে, প্রতিটি সংস্থার জন্য এই ম্যাপিংটি পুনরাবৃত্তি করুন।

ক্ষেত্র নাম উপস্থিতি বিস্তারিত
ticketing_stop_id প্রয়োজন (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 ঐচ্ছিক

(ইউআরএল) গভীর লিঙ্কের জন্য ভিজিট করা URL।

এই ক্ষেত্র translations.txt এর মাধ্যমে অনুবাদযোগ্য নয়।

android_intent_uri ঐচ্ছিক

(URI) একটি android.intent.action.VIEW উদ্দেশ্য সহ একটি নেটিভ অ্যান্ড্রয়েড অ্যাপে পাস করার জন্য URI।

খালি থাকলে, এর মানে হল আপনি একটি নেটিভ অ্যান্ড্রয়েড অ্যাপের সাথে ডিপ লিঙ্ক করতে পারবেন না।

অ্যান্ড্রয়েডে গভীর লিঙ্ক সম্পর্কে আরও তথ্যের জন্য, অ্যাপ সামগ্রীতে গভীর লিঙ্ক তৈরি করুন দেখুন।

এই ক্ষেত্র translations.txt এর মাধ্যমে অনুবাদযোগ্য নয়।

ios_universal_link_url ঐচ্ছিক

(URL) সর্বজনীন লিঙ্ক ইউআরএল যা আইওএস-এ চালু করতে হবে।

খালি থাকলে, ডিপ লিঙ্কিং iOS-এ প্রদর্শিত হয় না।

আরও তথ্যের জন্য, iOS-এ ইউনিভার্সাল লিঙ্কগুলি দেখুন।

এই ক্ষেত্র translations.txt এর মাধ্যমে অনুবাদযোগ্য নয়।

API কলে ক্ষেত্র স্থানধারক

Google নিম্নলিখিত পরামিতি সহ ticketing_deep_links.txt এ সংজ্ঞায়িত URL গুলিকে কল করে:

ক্ষেত্র নাম বিস্তারিত
service_date

(তারিখ, পুনরাবৃত্তিযোগ্য) ট্রিপের পরিষেবা দিন।

ট্রিপটি তার প্রথম স্টপ থেকে প্রস্থান করার তারিখের জন্য এই ক্ষেত্রটি ব্যবহার করুন।

এই ক্ষেত্রটি একটি JSON অ্যারে হিসাবে বিন্যাস করে।

ticketing_trip_id

( trips.txt থেকে আইডি , পুনরাবৃত্তিযোগ্য) ট্রিপের শনাক্তকারী।

এই ক্ষেত্রটি একটি JSON অ্যারে হিসাবে বিন্যাস করে।

from_ticketing_stop_time_id

(পুনরাবৃত্তিযোগ্য) stop_time শনাক্তকারী যেখানে পা শুরু হয়।

একটি নির্দিষ্ট স্টপ সময়ের জন্য, মানটি নিম্নরূপ:

  • agency_id এবং stop_time এর stop_id এর জন্য ticketing_identifiers.txtticketing_stop_id সংজ্ঞায়িত করা হয়েছে।

  • অন্যথায়, এটি stop_sequence এ ফিরে আসে।

এই ক্ষেত্রটি একটি JSON অ্যারে হিসাবে বিন্যাস করে।

to_ticketing_stop_time_id

(পুনরাবৃত্তিযোগ্য) stop_time শনাক্তকারী যেখানে পা শেষ হয়।

মানের ডেরিভেশনের ব্যাখ্যার জন্য, from_ticketing_stop_time_id দেখুন।

এই ক্ষেত্রটি একটি JSON অ্যারে হিসাবে বিন্যাস করে।

boarding_time

(ISO 8601, পুনরাবৃত্তিযোগ্য) প্রস্থানের সময়, departure_time , stop_time যেখানে পা শুরু হয়।

যাত্রী যখন গাড়িতে চড়ে তখন প্রকৃত তারিখ এবং সময়ের জন্য এই ক্ষেত্রটি ব্যবহার করুন।

এই ক্ষেত্রের সময় মান নিম্নলিখিত স্ট্রিং বিন্যাসের সাথে ISO 8601- এর সাথে সঙ্গতিপূর্ণ:

YYYY-MM-DDThh:mm:ss±hh:mm

নীচের সমস্ত সময় একই, বিভিন্ন সময় অঞ্চলে:

  • লন্ডন, যুক্তরাজ্যে: 2019-07-29T18:26:00+01:00
  • NYC-তে, US-NY: 2019-07-29T13:26:00-04:00
  • টোকিওতে, JP: 2019-07-30T02:26:00+09:00

এই ক্ষেত্রটি একটি JSON অ্যারে হিসাবে বিন্যাস করে।

arrival_time

(ISO 8601, পুনরাবৃত্তিযোগ্য) আগমনের সময়, স্টপ_টাইমে আগমনের_সময় যেখানে পা শেষ হয়।

এই ক্ষেত্রের সময় মান নিম্নলিখিত স্ট্রিং বিন্যাসের সাথে ISO 8601- এর সাথে সঙ্গতিপূর্ণ:

YYYY-MM-DDThh:mm:ss±,hh:mm

নীচের সমস্ত সময় একই, বিভিন্ন সময় অঞ্চলে:

  • লন্ডনে, ইউকে: 2019-07-29T18:46:00+01:00
  • NYC-তে, US-NY: 2019-07-29T13:46:00-04:00
  • টোকিওতে, JP: 2019-07-30T02:46:00+09:00

এই ক্ষেত্রটি একটি JSON অ্যারে হিসাবে বিন্যাস করে।

উদাহরণ

এই উদাহরণে, যাত্রীর যাত্রার পাগুলি নিম্নলিখিত:

  • পরিষেবা তারিখ 20190716 এ, ট্রিপ টিকিটিং আইডি ti1 স্টপ টাইম টিকিটিং আইডি 11 থেকে শুরু হয় টাইম টিকিটিং আইডি 12 বন্ধ করার জন্য৷ যাত্রীরা 2:00 PM UTC-এ বোর্ড করে এবং 2:50 PM UTC-এ পৌঁছায়৷
  • পরিষেবা তারিখ 20190716 এ, ট্রিপ টিকিটিং ID ti2 শুরু হয় স্টপ টাইম টিকিটিং আইডি 21 থেকে স্টপ টাইম টিকিটিং আইডি 22 পর্যন্ত৷ যাত্রীরা 3:00 PM UTC-এ বোর্ড করে এবং 3:50 PM UTC-এ পৌঁছায়৷

এই উদাহরণের জন্য, 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

stop_id , stop_name

si1 "প্যারিস গারে-ডি-লিয়ন"

si2 "লিয়ন পার্ট-ডিউ"

routes.txt

route_id , route_long_name , ticketing_deep_link_id

ri1 "TGV inOui Paris-Lyon", tdl1

trips.txt

trip_id , service_id , route_id , trip_short_name , ticketing_trip_id

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

trip_id , stop_sequence , stop_id , arrival_time , departure_time

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

stop_id , agency_id , ticketing_stop_id

si1, এজেন্সি1, 4924

si2, Agency1, 4676

ticketing_deep_links.txt

ticketing_deep_link_id , web_url , android_intent_uri , ios_universal_link_url

tdl1, https://examplepetstore.com/api/gtfs/web, https://examplepetstore.com/api/gtfs/android, https://examplepetstore.com/api/gtfs/ios

যদি অনুরোধটি 2019-07-19 তারিখে করা হয় এবং 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

গুগল ট্রানজিট টিকিটিং এক্সটেনশন বাস্তবায়ন করতে এই সুপারিশগুলি অনুসরণ করুন:

নির্দেশিকা
যখনই সম্ভব এজেন্সি বা রুটের মধ্যে গভীর লিঙ্ক শেয়ার করুন।

স্ট্যাটিক ফিডে, যখনই একাধিক এজেন্সি বা রুটের একই ডিপ লিঙ্ক ইউআরএল থাকে, তাদের অবশ্যই ticketing_deep_link_id ফিল্ডের জন্য একটি মান শেয়ার করতে হবে। এটি এজেন্সি বা রুটের মধ্যে স্থানান্তর সক্ষম করে।

ticketing_type জন্য সামঞ্জস্যপূর্ণ মান সেট করুন।

একটি নির্দিষ্ট স্টপের জন্য ticketing_type মান অবশ্যই stop_times.txt ফাইলের সমস্ত সারি জুড়ে সামঞ্জস্যপূর্ণ হতে হবে।

পিতামাতা এবং শিশু উভয় স্টপের জন্য ম্যাপ ticketing_stop_id টিকিটিং প্রয়োজন এমন সমস্ত অভিভাবক এবং শিশু স্টপের জন্য ম্যাপিং সম্পাদন করুন৷ ticketing_identifiers.txt ফাইলে, ticketing_stop_id মানগুলি অভিভাবক স্টপ এবং তার সন্তানদের মধ্যে প্রচার করে না।
ফিডে একই স্টপ ব্যবহার করে এমন প্রতিটি এজেন্সির জন্য ম্যাপ ticketing_stop_id

স্ট্যাটিক ফিডে, যদি একাধিক এজেন্সি যা টিকিট চালু করে একই স্টপ শেয়ার করে, তাহলে প্রতিটি এজেন্সির জন্য ম্যাপিং উপস্থিত থাকতে হবে।

আরও বিশদ বিবরণের জন্য, ticketing_identifiers.txt এর ক্ষেত্রের সংজ্ঞা বিভাগ দেখুন।

অ্যান্ড্রয়েড অ্যাপের একটি গভীর লিঙ্কের প্রয়োজন হলে অ্যান্ড্রয়েড অ্যাপ লিঙ্ক ব্যবহার করুন।

অংশীদার যদি একটি ডিপ লিঙ্ক থেকে একটি অ্যান্ড্রয়েড অ্যাপ খুলতে চান, তাহলে ডিপ লিঙ্কটিকে অ্যান্ড্রয়েড অ্যাপ লিঙ্ক হিসেবে সেট আপ করুন।

একটি iOS অ্যাপে একটি গভীর লিঙ্কের প্রয়োজন হলে iOS ইউনিভার্সাল লিঙ্কগুলি ব্যবহার করুন৷ অংশীদার যদি একটি ডিপ লিঙ্ক থেকে একটি iOS অ্যাপ খুলতে চায়, তাহলে ডিপ লিঙ্কটিকে একটি iOS ইউনিভার্সাল লিঙ্ক হিসেবে সেট আপ করুন।