aboutsummaryrefslogtreecommitdiff
path: root/.idea/gtfs-book/ch-08-fares.md
diff options
context:
space:
mode:
authorisabelle-dr2022-03-22 19:33:40 -0400
committerisabelle-dr2022-03-22 19:33:40 -0400
commit24e89c97cbbdd89348b1f02497a129ac8ac0a14f (patch)
treeac8432b0731525e889b6dfefa1401ce277af6893 /.idea/gtfs-book/ch-08-fares.md
parentab1b75da67be3e101e40e0ae3052d73c714b8ea3 (diff)
re arrange repo
Diffstat (limited to '.idea/gtfs-book/ch-08-fares.md')
-rw-r--r--.idea/gtfs-book/ch-08-fares.md115
1 files changed, 0 insertions, 115 deletions
diff --git a/.idea/gtfs-book/ch-08-fares.md b/.idea/gtfs-book/ch-08-fares.md
deleted file mode 100644
index 88bcbea..0000000
--- a/.idea/gtfs-book/ch-08-fares.md
+++ /dev/null
@@ -1,115 +0,0 @@
-## 8. Fare Definitions (fare_attributes.txt & fare_rules.txt)
-
-*These files are ***optional*** in a GTFS feed, but any rules specified
-must reference a fare attributes record.*
-
-These two files define the types of fares that exist in a system,
-including their price and transfer information. The attributes of a
-particular fare exist in `fare_attributes.txt`, which has the
-following columns.
-
-| Field | Required? | Description |
-| :----- | :-------- | :---------- |
-| `fare_id` | Required | A value that uniquely identifies a fare listed in this file. It must only appear once in this file. |
-| `price` | Required | This field specifies the cost of the fare. For instance, if a trip costs $2 USD, then this value should be either `2.00` or `2`, and the `currency_type` should be `USD`. |
-| `currency_type` | Required | This is the currency code that `price` is specified in, such as USD for United States Dollar. |
-| `payment_method` | Required | This indicates when the fare is to be paid. `0` means it can be paid on board, while `1` means it must be paid before boarding. |
-| `transfers` | Required | The number of transfers that may occur. This must either be empty (unlimited) transfers, or the number of transfers. |
-| `transfer_duration` | Optional | This is the number of seconds a transfer is valid for. |
-
-The following table shows the specification for `fare_rules.txt`,
-which defines the rules used to apply a fare to a particular trip.
-
-| Field | Required? | Description |
-| :----- | :-------- | :---------- |
-| `fare_id` | Required | This is the ID of the fare that a rule applies to as it appears in `fare_attributes.txt`. |
-| `route_id` | Optional | The ID of a route as it appears in `routes.txt` for which this rule applies. If there are several routes with the same fare attributes, there may be a row in `fare_rules.txt` for each route. |
-| `origin_id` | Optional | This value corresponds to a `zone_id` value from `stops.txt`. If specified, this means a trip must begin in the given zone in order to qualify for this fare. |
-| `destination_id` | Optional | This value corresponds to a `zone_id` value from `stops.txt`. If specified, this means a trip must begin in the given zone in order to qualify for this fare. |
-| `contains_id` | Optional | This value corresponds to a `zone_id` value from `stops.txt`. If specified, this means a trip must pass through every `contains_id` zone for the given fare (in other words, several rules may need to be checked). |
-
-Note that aside from `fare_id`, all fields are optional in this file.
-This means some very complex rules can be made (especially when
-transfers come into the calculation). The following URL has discussion
-about different rules and some complex fare examples:
-
-<https://code.google.com/p/googletransitdatafeed/wiki/FareExamples>
-
-Refer to *Calculating Fares* for discussion about the
-algorithm for calculating fares for trips both with and without
-transfers.
-
-### Sample Data
-
-The following data is taken from the TriMet GTFS feed
-(<https://openmobilitydata.org/p/trimet>). Firstly, the data from the
-`fare_attributes.txt` file.
-
-| `fare_id` | `price` | `currency` | `payment_method` | `transfers` | `transfer_duration` |
-| :-------- | :------ | :--------- | :--------------- | :---------- | :-------------------|
-| B | 2.5 | USD | 0 | | 7200 |
-| R | 2.5 | USD | 1 | | 7200 |
-| BR | 2.5 | USD | 0 | | 7200 |
-| RB | 2.5 | USD | 1 | | 7200 |
-| SC | 1 | USD | 1 | 0 | |
-| AT | 4 | USD | 1 | 0 | |
-| VT | 0 | USD | 1 | 0 | |
-
-The data from the `fare_rules.txt` file is shown in the following
-table.
-
-| `fare_id` | `route_id` | `origin_id` | `destination_id` | `contains_id` |
-| :-------- | :--------- | :---------- | :--------------- | :------------ |
-| B | | B | | B |
-| R | | R | | R |
-| BR | | B | | B |
-| BR | | B | | R |
-| RB | | R | | B |
-| RB | | R | | R |
-| SC | 193 | | | |
-| SC | 194 | | | |
-| AT | 208 | | | |
-| VT | 250 | | | |
-
-In this sample data, TriMet have named some of their fares the same as
-the zones specified in `stops.txt`. In this particular feed, bus stops
-have a `zone_id` of `B`, while rail stops have `R`.
-
-The fares in this file are as follows:
-
-* Fare `B`. If you start at a bus stop (`zone_id` value of `B`),
- you can buy your ticket on board (`payment_method` of `0`). You
- may transfer an unlimited number (empty transfers value) for 2 hours
- (`transfer_duration` of `7200`). The cost is $2.50 USD.
-* Fare `R`. If you start at a rail stop, you must pre-purchase your
- ticket. You may transfer an unlimited number of times to other rail
- services for up to 2 hours. The cost is $2.50 USD.
-
-The `BR` fare describes a trip that begins on a bus then transfers to
-a rail service (while `RB` is the opposite). This fare is not be
-matched if the passenger does not travel on both, as all `contains_id`
-values must be matched in order to apply a fare.
-
-The other fares (`SC`, `AT` and `VT`) all apply to their
-respective `route_id` values, regardless of start and finish stops.
-Tickets must be pre-purchased, and transfers are not allowed. The `VT`
-fare (which corresponds to TriMet's Vintage Trolley) is free to ride
-since it has a price of `0`.
-
-### Assigning Fares to Agencies
-
-One of the extensions available to `fare_attributes.txt` is to include
-an `agency_id` column. This is to limit a specific fare to only routes
-from the specified agency, in the case where a feed has multiple
-agencies.
-
-This is useful because there may be two agencies in a feed that define
-fares with no specific rules (in other words, the fare applies to all
-trips). If the price differs, then GTFS dictates that the cheapest fare
-is always applied. Using `agency_id` means these fares can be
-differentiated accordingly.
-
-For more information about this extension, refer to the Google Transit
-GTFS Extensions page at
-<https://support.google.com/transitpartners/answer/2450962>.
-