Fares V2¶
Fares V2 - это проект расширения GTFS, который направлен на устранение ограничений Fares V1. Этот проект расширения принимается итерациями. Приведенные ниже примеры показывают, как моделировать основные концепции, включая тарифные продукты и то, как пассажиры могут использовать свой тариф для пересадок. Более подробную информацию о проекте расширения Fares V2 можно найти здесь.
В промежуточный период производители могут реализовать Fares V2 наряду с реализацией Fares V1 в одном и том же наборе данных, поскольку между ними нет технического конфликта. Потребители будут иметь выбор, какую реализацию использовать, независимо друг от друга. После принятия и достаточного одобрения Fares V2, Fares V1 может быть отменен в будущем.
Определение тарифа на проезд¶
Существует несколько способов оплаты проезда в системе Maryland Transit Administration. Существует четыре типа обычных билетов по полный цене:
- Билет в один конец стоимостью 2,00 USD
- Дневной абонемент стоимостью 4,60 USD
- Недельный абонемент стоимостью 22 USD
- Месячный проездной стоит 77 USD
Транзитные билеты или тарифы называются в GTFS тарифными продуктами. Они могут быть описаны с помощью файла fare_products.txt. Каждая запись соответствует определенному тарифу.
fare_product_id | fare_product_name | amount | currency |
---|---|---|---|
core_local_oneway_fare | One Way Full Fare | 2.00 | USD |
core_local_1_day_fare | 1-Day Pass - Core Service | 4.60 | USD |
core_local_31_day_fare | 31-Day Pass - Core Service | 77.00 | USD |
core_local_7_day_fare | 7-Day Pass - Core Service | 22.00 | USD |
Скачать файл GTFS для местных автобусов Администрации транзитных перевозок штата Мэриленд.
Создайте правила для поездок по одному билету¶
В GTFS тарифный этап соответствует поездке, которую пассажир совершает без пересадок между различными видами транспорта, маршрутами, сетями или агентствами. В подаче Администрации транзита штата Мэриленд единый тариф позволяет пассажирам совершать поездки в пределах любой пары остановок и станций метро в core
сети автобусов BaltimoreLink, маршрутов Light RailLink и Metro SubwayLink.
Группы остановок определяют поездки внутри сети от пункта отправления до пункта назначения (или от набора пунктов отправления до набора пунктов назначения, если идентификаторы районов соответствуют сгруппированным остановкам). В приведенном ниже файле описаны правила для поездок в любую точку основной сети Администрации транзита штата Мэриленд. Каждое правило соответствует одному из обычных тарифных продуктов в примере "Определение транзитного тарифа".
leg_group_id | network_id | fare_product_id |
---|---|---|
core_local_one_way_trip | core | core_local_oneway_fare |
core_local_one_way_trip | core | core_local_1_day_fare |
core_local_one_way_trip | core | core_local_31_day_fare |
core_local_one_way_trip | core | core_local_7_day_fare |
Скачать файл GTFS для местных автобусов Администрации транзитных перевозок штата Мэриленд
Создание правил для пересадок¶
Для пассажиров, купивших билет в одну сторону для проезда на местных автобусах BaltimoreLink, Metro SubwayLink или Light RailLink, действует 90-минутная пересадка. Это означает, что они могут пересаживаться неограниченное количество раз между местными автобусами, метро и легкорельсовым транспортом в течение 90 минут.
from_leg_group_id | to_leg_group_id | duration_limit | duration_limit_type | fare_transfer_type | transfer_count |
---|---|---|---|---|---|
core_local_one_way_trip | core_local_one_way_trip | 5400 | 1 | 0 | -1 |
Приведенный выше файл представляет это в GTFS со следующими полями:
- Пересадка возможна на и с этапов, которые являются поездкой в одну сторону (
core_local_one_way_trip
). transfer_count
устанавливается в-1
, так как нет ограничения на количество разрешенных трансферов.duration_limit
установлено на5400
секунд, что эквивалентно 90 минутамduration_limit_type
установлен на1
, так как время пересадки начинается, когда велосипедист отправляется по любому маршруту в зоне действия тарифаcore_local_one_way_trip
и заканчивается, когда он отправляется по другой зоне действия тарифа.fare_transfer_type
установлен на0
, так как пассажиры оплачивают только первый тариф. Не существует платы за пересадку или второго тарифа за пересадку в течение 90 минут. Следовательно, стоимость можно смоделировать как сумму первого тарифа и суммы сборов за пересадку.transfer_count
установлен равным-1
, так как велосипедист может пересаживаться неограниченное количество раз в течение 90-минутного окнаduration_limit
.
После определения тарифа, создания соответствующего fare_leg_rule
и определения fare_transfer_rule
вы можете увидеть, как core_local_oneway_fare
стоимостью $2.00 USD появляется в планировщиках поездок. Вот пример из Transit:
Скачать файл GTFS для местных автобусов Администрации транзитных перевозок штата Мэриленд
Описать места обслуживания в одной тарифной зоне.¶
Некоторые транзитные агентства используют зональную структуру тарифов. Тарифные зоны - это разделенные географические области, в которых действуют разные цены на проезд. В системе BART в Bay Area тарифы различаются в зависимости от пункта отправления и пункта назначения (BART fare differences), и пассажирам необходимо знать правильный тариф. Зоны оплаты проезда можно описать с помощью файла stops_areas.txt, который назначает остановки из файла stops.txt в файл areas.txt.
Сначала определите район в файле areas.txt. Допустимо оставить area_name
пустым, если название района отсутствует. В таблице ниже есть три area_id
- ASHB
, GLEN
и OAKL
.
area_id | area_name |
---|---|
ASHB | |
GLEN | |
OAKL |
Затем, используя stop_id
из файла stops.txt, сгруппируйте остановки вместе в соответствующую определенную область (тарифную зону).
Затем сгруппируйте stop_id
с каждым area_id
. В примере с BART каждая область содержит только 1 stop_id
. Например, только остановка ASHB
(станция Ashby) включена в область ASHB
. Однако если область включает несколько остановок, следует указать несколько stop_id
.
area_id | stop_id |
---|---|
ASHB | ASHB |
GLEN | GLEN |
OAKL | OAKL |
В файле fare_leg_rules.txt
различные тарифные продукты могут быть определены на основе различных зон отправления и прибытия. Например, первая запись показывает:
- Зона отправления -
ASHB
- Зона прибытия -
GLEN
- Тарифный продукт для зоны отправления/прибытия -
BA:matrix:ASHB-GLEN
leg_group_id | from_area_id | to_area_id | fare_product_id |
---|---|---|---|
BA | ASHB | GLEN | BA:matrix:ASHB-GLEN |
BA | ASHB | OAKL | BA:matrix:ASHB-OAKL |
Тариф идентифицируется в файле fare_products.txt
.
fare_product_id | fare_product_name | amount | currency |
---|---|---|---|
BA:matrix:ASHB-GLEN | generated | 4.75 | USD |
BA:matrix:ASHB-OAKL | generated | 9.45 | USD |
См. региональный корм в районе залива Сан-Франциско
Опишите, какие средства оплаты проезда принимаются¶
Водители Муни Сан-Франциско могут использовать несколько различных типов носителей информации для оплаты поездки и подтверждения своего тарифа:
- Используйте карту Clipper- транзитную карту района залива.
- Используйте приложение Munimobile.
- Оплатить проезд наличными
Эти методы валидации называются fare_media
в GTFS-Fares V2 и могут быть описаны с помощью fare_media.txt
.
Ниже приведен пример фрагмента из регионального фида района залива Сан-Франциско, доступ к которому можно получить с помощью API 511 SF Bay.
Clipper
описывается как физическая транзитная карта с fare_media_type=2
. SFMTA Munimobile
описывается как мобильное приложение с fare_media_type=2
. Наличные
не имеют носителя информации о стоимости проезда, поскольку они выдаются непосредственно водителю без билета. В результате Cash
имеет тарифный_медиа_тип=0
.
Производители, которые хотят описать физический билет как тип носителя информации о тарифе, могут использовать экспериментальную опцию fare_media_type=1
, которая находится в предложении полный Fares V2.
fare_media_id | fare_media_name | fare_media_type |
---|---|---|
clipper | Clipper | 2 |
munimobile | SFMTA MuniMobile | 4 |
cash | Cash | 0 |
См. региональный корм в районе залива Сан-Франциско
Определите разницу в цене в зависимости от носителя тарифа¶
Стоимость проезда в Muni отличается в зависимости от используемого пассажиром носителя информации. В данном примере мы рассмотрим, как меняется цена взрослого местного тарифа при использовании наличных или карты Clipper. Взрослый местный проезд, оплаченный наличными, стоит 3 USD, а тот же проезд, оплаченный картой Clipper, стоит 2.50, на 50 центов меньше.
Каждая запись ниже описывает средство оплаты проезда.
fare_media_id | fare_media_name | fare_media_type |
---|---|---|
clipper | Clipper | 2 |
cash | Cash | 0 |
Приведенный ниже фрагмент файла fare_products.txt
показывает, как сумма Muni single local fare
варьируется в зависимости от носителя информации, которым пользуется пассажир.
fare_product_id | fare_product_name | amount | currency | fare_media_id |
---|---|---|---|---|
SF:local:single | Muni single local fare | 3 | USD | cash |
SF:local:single | Muni single local fare | 2.5 | USD | clipper |
В Apple Maps пассажиры могут видеть, как меняется стоимость проезда. Сравнить цены на проезд можно в инструкции "Board the Muni J Church train":
См. региональный корм в районе залива Сан-Франциско
Опишите вариант бесконтактного средства оплаты проезда¶
Экспресс Clean Air Express в северной части округа Санта-Барбара принимает бесконтактную оплату кредитной картой, Google Pay и Apple Pay.
В ленте Clean Air Express есть средство оплаты проезда tap_to_ride
с fare_media_type=3
, поскольку это вариант cEMV (бесконтактный Europay, Mastercard и Visa).
fare_media_id | fare_media_name | fare_media_type |
---|---|---|
tap_to_ride | Tap to Ride | 3 |
Продукт для разовых поездок, показанный ниже, имеет варианты оплаты cash
и с помощью носителя tap-to-ride
. Если разовая поездка оплачивается с помощью носителя tap-to-ride
, она стоит на один доллар США дешевле.
fare_product_id | fare_product_name | fare_media_id | amount | currency |
---|---|---|---|---|
single-ride | Single Ride | tap_to_ride | 6 | USD |
single-ride | Single Ride | 7 | USD |