s2-tools
Version:
A collection of geospatial tools primarily designed for WGS84, Web Mercator, and S2.
118 lines • 3.58 kB
TypeScript
/**
*
* Describes how far in advance rider can book:
* 0 - Real-time
* 1 - Same-day (with advance notice)
* 2 - Prior day(s)
*/
export declare enum GTFSBookingType {
RealTime = 0,
SameDay = 1,
PriorDays = 2
}
/**
* # Booking Rules
*
* **Optional**
* Defines rules for booking rider-requested services. Useful when a trip or stop_time requires
* advanced scheduling (e.g., dial-a-ride, on-demand pickup).
*
* **Primary Key**: (booking_rule_id)
*/
export declare class GTFSBookingRule {
/**
* **Required**
* Identifies a booking rule (`booking_rule_id`).
*/
id: string;
/**
* **Required**
* Indicates how far in advance booking can be made.
* 0 = Real-time, 1 = Same-day, 2 = Prior-day(s)
*/
bookingType: GTFSBookingType;
/**
* **Conditionally Required**
* Minimum number of minutes before travel to make the request.
* Required for booking_type=1; forbidden otherwise.
*/
priorNoticeDurationMin?: number;
/**
* **Conditionally Forbidden**
* Maximum number of minutes before travel to make the same-day request.
* - Forbidden for booking_type=0 or booking_type=2
* - Optional for booking_type=1
*/
priorNoticeDurationMax?: number;
/**
* **Conditionally Required**
* Last day before travel to make booking request. E.g., 1 = 1 day in advance.
* Required for booking_type=2; forbidden otherwise.
*/
priorNoticeLastDay?: number;
/**
* **Conditionally Required**
* Last time on the last day before travel to make booking request, e.g. "17:00:00".
* Required if prior_notice_last_day is defined; forbidden otherwise.
*/
priorNoticeLastTime?: string;
/**
* **Conditionally Forbidden**
* Earliest day before travel to make booking request.
* - Forbidden for booking_type=0.
* - Forbidden for booking_type=1 if prior_notice_duration_max is defined.
* - Optional otherwise (mainly for booking_type=2).
*/
priorNoticeStartDay?: number;
/**
* **Conditionally Required**
* Earliest time on the earliest day before travel, e.g. "00:00:00".
* Required if prior_notice_start_day is defined; forbidden otherwise.
*/
priorNoticeStartTime?: string;
/**
* **Conditionally Forbidden**
* Service days on which last_day / start_day are counted (`calendar.service_id`).
* - Optional if booking_type=2.
* - Forbidden otherwise.
*/
priorNoticeServiceId?: string;
/**
* **Optional**
* Generic message to riders for on-demand booking instructions.
*/
message?: string;
/**
* **Optional**
* Message for on-demand pickup instructions.
*/
pickupMessage?: string;
/**
* **Optional**
* Message for on-demand drop-off instructions.
*/
dropOffMessage?: string;
/**
* **Optional**
* Phone number riders call to make the booking request.
*/
phoneNumber?: string;
/**
* **Optional**
* URL providing additional booking info.
*/
infoUrl?: string;
/**
* **Optional**
* URL to an online interface or app to make a booking request.
*/
bookingUrl?: string;
/** @param data - the parsed GTFS CSV data */
constructor(data: Record<string, string>);
}
/**
* @param input - the input string to parse from
* @returns - an array of BookingRules
*/
export declare function parseGTFSBookingRules(input: string): Record<string, GTFSBookingRule>;
//# sourceMappingURL=bookingRules.d.ts.map