Bu sayfada, GTFS Bileti spesifikasyonunun bu belgenin oluşturulması sırasında teklif aşamasında olan bir alt kümesi tanımlanmaktadır. Bu sayfa, Google'ın getirdiği bazı ek kısıtlamaları da içerir.
Koşullar
stop_times.txt
içindeki departure_time
alanı zorunludur.
Ek alan türleri
Bu bölümde, ek alan türleri ve Google'ın uzantısı olan alan türleri özetlenmektedir. Bazı alanlar URI biçiminde değerler gerektirir.
- URI: Şemayı içeren tam nitelikli bir Tekdüzen Kaynak Tanımlayıcısı (URI). URI'daki tüm özel karakterler doğru çıkış karakterlerini kullanmalıdır. Tam nitelikli URI değerlerinin nasıl oluşturulacağına ilişkin açıklama için RFC 3986 Tekdüzen Kaynak Tanımlayıcısı (URI): Genel Söz Dizimi bölümüne bakın.
Dosya uzantıları veya eklemeler
Uzantı durumuna sahip metin dosyaları, zaten mevcut olan ve genişletmeniz gereken dosyalardır. Aşağıdaki tabloda tanımladığımız yeni alanları eklemeniz gerekir.
Ekleme durumuna sahip metin dosyaları, Google Transit Ticketing Uzantıları tarafından kullanıma sunulan yeni dosyalardır. Bu dosyaları, aşağıdaki tablodan sonra belirtilen Alan tanımlarına göre oluşturmanız gerekir. Bu dosyaları feed'inize eklediğinizden emin olun.
Dosya adı | Eyalet | Tanımlar |
---|---|---|
agency.txt |
Uzantı | agency.ticketing_deep_link_id sayısını ekler. |
routes.txt |
Uzantı | routes.ticketing_deep_link_id sayısını ekler. |
trips.txt |
Uzantı | trips.trip_ticketing_id ve trips.ticketing_type eklenir. |
stop_times.txt |
Uzantı | stop_times.ticketing_type sayısını ekler. |
ticketing_identifiers.txt |
Toplama | Yeni dosya. Daha ayrıntılı bilgi için Alan tanımları bölümüne bakın. |
ticketing_deep_links.txt |
Toplama | Yeni dosya. Daha ayrıntılı bilgi için Alan tanımları bölümüne bakın. |
Alan tanımları
agency.txt
(dosya uzatıldı)
Alan adı | Varlık | Ayrıntılar |
---|---|---|
ticketing_deep_link_id |
İsteğe bağlı |
(Kimlik: |
routes.txt
(dosya uzatıldı)
Alan adı | Varlık | Ayrıntılar |
---|---|---|
ticketing_deep_link_id |
İsteğe bağlı | (Kimlik: ticketing_deep_links.txt ) Bu rota için kullanılacak derin bağlantıyı tanımlar. Varsa agency.txt içindeki alanın üzerine yazar. |
trips.txt
(dosya uzatıldı)
Alan adı | Varlık | Ayrıntılar |
---|---|---|
ticketing_trip_id |
İsteğe bağlı |
(ID) Derin bağlantıda iletilecek tanımlayıcı. Benzersiz olması gerekmez.
|
ticketing_type |
İsteğe bağlı |
(Enum) Bu gezi için derin bağlantı aracılığıyla bilet satışı yapılıp yapılmadığını belirleyin:
|
stop_times.txt
(dosya uzatıldı)
Alan adı | Varlık | Ayrıntılar |
---|---|---|
ticketing_type |
İsteğe bağlı |
(Enum) Bu durdurma zamanı için derin bağlantı aracılığıyla bilet işlemleri yapmanın mümkün olup olmadığını tanımlar.
|
ticketing_identifiers.txt
(dosya eklendi)
Bilet işlemleri için en sık karşılaşılan durum, her durağın faturalandırmayı işlemek için bir tanımlayıcıya sahip olmasıdır. Farklı ajanslar belirli bir durak için aynı tanımlayıcıyı kullanabilir. Aynı durakta birden fazla ajans hizmet verdiğinde bu eşlemeyi her ajans için tekrarlayın.
Alan adı | Varlık | Ayrıntılar |
---|---|---|
ticketing_stop_id |
Zorunlu | (ID) Bu ajans için bu durak için varsayılan bir bilet kimliği tanımlar. |
stop_id |
Zorunlu | (Kimlik: stops.txt ) Varsayılan ticketing_stop_id değerinin tanımlandığı durak. |
agency_id |
Zorunlu | (Kimlik: agency.txt ) Varsayılan ticketing_stop_id değerinin tanımlandığı durağın ajansı. |
ticketing_deep_links.txt
(dosya eklendi)
Alan adı | Varlık | Ayrıntılar |
---|---|---|
ticketing_deep_link_id |
Zorunlu | (ID) Derin bağlantı için bir kimlik tanımlar. |
web_url |
İsteğe bağlı |
(URL) Derin bağlantı için ziyaret edilecek URL. Bu alan |
android_intent_uri |
İsteğe bağlı |
(URI) Boş olması, yerel Android uygulamasına derin bağlantı oluşturamayacağınız anlamına gelir. Android'de derin bağlantılar hakkında daha fazla bilgi için Uygulama içeriğine derin bağlantılar oluşturma konusuna bakın. Bu alan |
ios_universal_link_url |
İsteğe bağlı |
(URL) iOS'te çağrılacak evrensel bağlantı URL'si. Boşsa derin bağlantı iOS'te gösterilmez. Daha fazla bilgi için iOS'ta Geçiş Bağlantıları başlıklı makaleyi inceleyin. Bu alan |
API çağrısındaki alan yer tutucuları
Google, ticketing_deep_links.txt
içinde tanımlanan URL'leri aşağıdaki parametrelerle çağırır:
Alan adı | Ayrıntılar |
---|---|
service_date |
(Tarih, tekrarlanabilir) Seyahatin hizmet günü. Bu alanı, gezinin ilk durağından ayrıldığı tarih için kullanın. Bu alan JSON dizisi olarak biçimlendirilir. |
ticketing_trip_id |
(Kimlik: Bu alan JSON dizisi olarak biçimlendirilir. |
from_ticketing_stop_time_id |
(Tekrarlanabilir) Ayağın başladığı Belirli bir durdurma zamanı için değer şudur:
Bu alan JSON dizisi olarak biçimlendirilir. |
|
(Tekrarlanabilir) Ayağın sona erdiği Değerin türetilmesiyle ilgili açıklama için Bu alan JSON dizisi olarak biçimlendirilir. |
boarding_time |
(ISO 8601, tekrarlanabilir) Ayağın başladığı
Yolcunun araca bindiği gerçek tarih ve saat için bu alanı kullanın. Bu alanın zaman değeri, aşağıdaki dize biçimiyle ISO 8601'e uygundur:
Aşağıdaki saatler farklı saat dilimlerinde aynıdır:
Bu alan JSON dizisi olarak biçimlendirilir. |
arrival_time |
(ISO 8601, tekrarlanabilir) Varış saati, ayağın sona erdiği durdurma_zamanında varış_zamanı. Bu alanın zaman değeri, aşağıdaki dize biçimiyle ISO 8601'e uygundur:
Aşağıdaki saatler farklı saat dilimlerinde aynıdır:
Bu alan JSON dizisi olarak biçimlendirilir. |
Örnekler
Bu örnekte, bir yolcunun ayakları aşağıdaki gibidir:
20190716
hizmet tarihinde seyahat bileti kimliğiti1
, bitiş zamanı bilet kimliği11
ile bitiş zamanı biletleme kimliği12
ile başlar. Yolcu 14:00'te (UTC) trene biniyor ve 14:50'de (UTC) varacak.20190716
hizmet tarihinde seyahat bileti kimliğiti2
, bitiş zamanı bilet kimliği21
ile bitiş zamanı biletleme kimliği22
ile başlar. Yolcu 15:00'te (UTC) trene biniyor ve 15:50'de (UTC) varacak.
Bu örnekte, web_url
https://examplepetstore.com
'dir.
Tüm bu bilgileri göz önünde bulundurarak, bu seyahatle ilgili feed parametreleri için aşağıdaki değerleri kullanın:
Alan adı | Ayrıntılar |
---|---|
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"] |
Aşağıda, kodlamadan sonraki son URI gösterilmiştir:
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
Farklı ticketing_stop_id
değeri örnekleri
Durakların, ticketing_identifiers.txt
alanıyla biletleme amacıyla farklı kimlikleri olabilir. Kalın olarak yazılmış değerler, dosyalardan sonra açıklanan web görüşmesinde bulunan değerlerdir.
stop.txt |
---|
|
routes.txt |
---|
|
trips.txt |
---|
ti1,everyday,ri1,"TGV INOUI 6603",FR_SNCF_6603 ti2,hergün,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,ajans1,4924 si2,ajans1,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 tarihinde istek gönderildiyse ve GTFS saatleri UTC+1 saat dilimindeyse web için şu çağrı yapılır:
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
Önerilen uygulamalar
Google Transit bilet işlemleri uzantılarını uygulamak için aşağıdaki önerileri uygulayın:
Yönergeler | |
---|---|
Mümkün olduğunda ajanslar veya rotalar arasında derin bağlantılar paylaşın. |
Statik feed'de, birden fazla ajans veya rota aynı derin bağlantı URL'sine sahip olduğunda, |
ticketing_type için tutarlı değerler ayarlayın. |
Belirli bir durağın |
Üst ve alt duraklar için ticketing_stop_id haritası. |
Bilet işlemi gerektiren tüm üst ve alt duraklar için eşleme yapın. ticketing_identifiers.txt dosyasında, ticketing_stop_id değerleri bir üst durak ile alt öğeleri arasında yayılmaz. |
Feed'de aynı durağı kullanan her ajans için ticketing_stop_id eşlemesi. |
Statik feed'de, bilet işlemleri özelliğini etkinleştiren birden çok ajans aynı durağı paylaşıyorsa ajansların her biri için eşleme bulunmalıdır. Daha ayrıntılı bilgi için |
Bir Android uygulamasına derin bağlantı gerektiğinde Android App Links'i kullanın. |
İş ortağı bir Android uygulamasını derin bağlantıdan açmak isterse derin bağlantıyı Android Uygulama Bağlantısı olarak oluşturun. |
Bir iOS uygulamasına derin bağlantı gerektiğinde iOS Geçiş Bağlantılarını kullanın. | İş ortağı, derin bağlantıdan iOS uygulaması açmak isterse derin bağlantıyı iOS Geçiş Bağlantısı olarak oluşturun. |