Fare Products
The fare products are the travel contracts the users can purchase.
Overview
There are 3 main fare products categories defined within D1 Transit:
Stored-value fare products
Count-based fare products
Time-based fare products
Stored-Value Fare Products
Stored-value fare products allow users to preload a set amount of money onto a their transit card, which can then be used to ride on the transit network.
Transit operators may offer fare capping which ensures users never pay more than a certain amount within a specified period, providing them cost savings.
Count-Based Fare Products
Count-based fare products allow users to purchase a set number of trips in advance, rather than paying for unlimited travel within a specific period (such as weekly or monthly products).
These products offer a finite number of uses that users can utilize. Typically, count-based fare products can be used until the count is exhausted, however they may have an expiration.
Time-Based Fare Products
Time-based fare products are typically available as monthly or weekly basis and allow unlimited number of trips within a predefined period.
Unlike traditional pay-per-ride tickets, time-based products are activated for a set duration:
from the moment of purchase
on a scheduled future date
or upon the first use
and remain valid for the entirety of that period.
Data Model
The following section describes how a fare product is defined within D1 Transit solution.
There are 2 notions to consider:
Product metadata: metadata linked to a product that has been purchased and is linked to the user card account.
Purchasable product metadata: metadata linked to a purchasable product, i.e. a product users may purchase.
Product / Purchasable Product common metadata
ProductId
The fare product unique identifier
ProductType
Defines the nature of the fare product, as indicated above, it can be stored-value, count-based or time-based.
ProductName
Localized product name, displayed within the digital wallet.
Fare
Fare object is composed of:
fareId: an identifier of the GTFS feed exposed by the Transit operator
fareClass: when product is associated with a certain price/category, users can purchase (e.g. business, first, standard...)
concession: student, elder, full fare...
ValidityParameters
ValidityParameters object is composed of:
numberOfTrips: number of trips a product can be used for. Typically used for count-based products.
timeLimits (start time / end time): time window within which a product is valid. Typically used for time-based products, but can be applied to count-based products too.
validityAfterTapIn: period of time for which a product is valid after the first tap-in.
validityAfterTapOut: period of time for which a product is valid after tap-out. Typically used for transfer purpose.
zoneLimits: from/to zones the product is valid for.
stationLimits: from/to stations the product is valid for.
topupLimits: limits that apply to topping up a stored-value product.
Product Specific Metadata
PurchaseDetails
PurchaseDetails object is composed of:
purchaseId: receipt number/identifier for tracking the product purchase.
purchaseTime: purchase time of the original product.
price: price of the product.
currencyCode: currency code.
repurchaseUrl: link to repurchase the same product.
refundUrl: link to refund website for that product.
Purchasable Product Specific Metadata
SalePeriod
SalePeriod object is composed of:
startDate: The earliest date time (inclusive) that this product can be purchased.
endDate: The latest date time (exclusive) that this product can be purchased.
EligibleForTopup
Flag indicating whether the product can be topped up or not.
Last updated
Was this helpful?