UNPKG

s2-tools

Version:

A collection of geospatial tools primarily designed for WGS84, Web Mercator, and S2.

610 lines 23.7 kB
/** * # GBFS Vehicle Types Schema V3.1-RC & V3.0 * Describes the types of vehicles that the system operator has available for rent (added in v2.1-RC). * * ## Links * - [GBFS Specification](https://github.com/MobilityData/gbfs/blob/v3.1-RC/gbfs.md#vehicle_typesjson) * - [GBFS Specification](https://github.com/MobilityData/gbfs/blob/v3.0/gbfs.md#vehicle_typesjson) */ export type GBFSVehicleTypesV3 = GBFSVehicleTypesV31RC | GBFSVehicleTypesV30; /** * # GBFS Vehicle Types Schema V3.1-RC * Describes the types of vehicles that System operator has available for rent (added in v2.1-RC). * * ## Links * - [GBFS Specification](https://github.com/MobilityData/gbfs/blob/v3.1-RC/gbfs.md#vehicle_typesjson) */ export declare const gbfsVehicleTypesSchemaV31RC: { $schema: string; $id: string; description: string; type: string; properties: { last_updated: { description: string; type: string; format: string; }; ttl: { description: string; type: string; minimum: number; }; version: { description: string; type: string; const: string; }; data: { description: string; type: string; properties: { vehicle_types: { description: string; type: string; items: { type: string; properties: { vehicle_type_id: { description: string; type: string; }; form_factor: { description: string; type: string; enum: string[]; }; rider_capacity: { description: string; type: string; minimum: number; }; cargo_volume_capacity: { description: string; type: string; minimum: number; }; cargo_load_capacity: { description: string; type: string; minimum: number; }; propulsion_type: { description: string; type: string; enum: string[]; }; eco_labels: { description: string; type: string; items: { type: string; properties: { country_code: { description: string; type: string; pattern: string; }; eco_sticker: { description: string; type: string; }; }; }; required: string[]; }; max_range_meters: { description: string; type: string; minimum: number; }; name: { description: string; type: string; items: { type: string; properties: { text: { description: string; type: string; }; language: { description: string; type: string; pattern: string; }; }; required: string[]; }; }; vehicle_accessories: { description: string; type: string; items: { enum: string[]; }; }; g_CO2_km: { description: string; type: string; minimum: number; }; vehicle_image: { description: string; type: string; format: string; }; make: { description: string; type: string; items: { type: string; properties: { text: { description: string; type: string; }; language: { description: string; type: string; pattern: string; }; }; required: string[]; }; }; model: { description: string; type: string; items: { type: string; properties: { text: { description: string; type: string; }; language: { description: string; type: string; pattern: string; }; }; required: string[]; }; }; color: { description: string; type: string; }; description: { description: string; type: string; items: { type: string; properties: { text: { description: string; type: string; }; language: { description: string; type: string; pattern: string; }; }; required: string[]; }; }; wheel_count: { description: string; type: string; minimum: number; }; max_permitted_speed: { description: string; type: string; minimum: number; }; rated_power: { description: string; type: string; minimum: number; }; default_reserve_time: { description: string; type: string; minimum: number; }; return_constraint: { description: string; type: string; enum: string[]; }; vehicle_assets: { description: string; type: string; properties: { icon_url: { description: string; type: string; format: string; }; icon_url_dark: { description: string; type: string; format: string; }; icon_last_modified: { description: string; type: string; format: string; }; }; required: string[]; }; default_pricing_plan_id: { description: string; type: string; }; pricing_plan_ids: { description: string; type: string; items: { type: string; }; }; }; required: string[]; if: { properties: { propulsion_type: { enum: string[]; }; }; }; then: { required: string[]; }; }; }; }; required: string[]; }; }; required: string[]; }; /** * # GBFS Vehicle Types Schema V3.1-RC * Describes the types of vehicles that the system operator has available for rent (added in v2.1-RC). * * ## Links * - [GBFS Specification](https://github.com/MobilityData/gbfs/blob/v3.1-RC/gbfs.md#vehicle_typesjson) */ export interface GBFSVehicleTypesV31RC { /** * Last time the data in the feed was updated in RFC3339 format. * **Format**: date-time */ last_updated: string; /** * Number of seconds before the data in the feed will be updated again * (0 if the data should always be refreshed). * **Minimum**: 0 */ ttl: number; /** * GBFS version number to which the feed conforms, according to the versioning framework. * **Const**: 3.1-RC */ version: '3.1-RC'; /** * Contains the vehicle type data. */ data: { /** * Array of vehicle types in the system. */ vehicle_types: Array<{ /** * Unique identifier of a vehicle type. */ vehicle_type_id: string; /** * The vehicle's general form factor. * **Enum**: ['bicycle', 'cargo_bicycle', 'car', 'moped', 'scooter_standing', 'scooter_seated', 'other', 'scooter'] */ form_factor: 'bicycle' | 'cargo_bicycle' | 'car' | 'moped' | 'scooter_standing' | 'scooter_seated' | 'other' | 'scooter'; /** * The primary propulsion type of the vehicle. * **Enum**: ['human', 'electric_assist', 'electric', 'combustion', 'combustion_diesel', 'hybrid', 'plug_in_hybrid', 'hydrogen_fuel_cell'] */ propulsion_type: 'human' | 'electric_assist' | 'electric' | 'combustion' | 'combustion_diesel' | 'hybrid' | 'plug_in_hybrid' | 'hydrogen_fuel_cell'; /** * The number of riders (driver included) the vehicle can legally accommodate. * **Minimum**: 0 */ rider_capacity?: number; /** * Cargo volume available in the vehicle, expressed in liters. * **Minimum**: 0 */ cargo_volume_capacity?: number; /** * The capacity of the vehicle cargo space, expressed in kilograms. * **Minimum**: 0 */ cargo_load_capacity?: number; /** * Maximum distance in meters the vehicle can travel without recharging or refueling. * Required if `propulsion_type` is electric, combustion, hybrid, etc. * **Minimum**: 0 */ max_range_meters?: number; /** * Vehicle air quality certificate. */ eco_labels?: Array<{ /** * Country code following the ISO 3166-1 alpha-2 notation. * **Pattern**: `^[A-Z]{2}$` */ country_code: string; /** * Name of the eco label. */ eco_sticker: string; }>; /** * The public name of this vehicle type in various languages. */ name?: Array<{ /** * The translated text. */ text: string; /** * IETF BCP 47 language code. * **Pattern**: `^[a-z]{2,3}(-[A-Z]{2})?$` */ language: string; }>; /** * Description of accessories available in the vehicle. * **Enum**: ['air_conditioning', 'automatic', 'manual', 'convertible', 'cruise_control', 'doors_2', 'doors_3', 'doors_4', 'doors_5', 'navigation'] */ vehicle_accessories?: Array<'air_conditioning' | 'automatic' | 'manual' | 'convertible' | 'cruise_control' | 'doors_2' | 'doors_3' | 'doors_4' | 'doors_5' | 'navigation'>; /** * Maximum quantity of CO2, in grams, emitted per kilometer. * **Minimum**: 0 */ g_CO2_km?: number; /** * URL to an image that helps users identify the vehicle. * **Format**: uri */ vehicle_image?: string; /** * Manufacturer name of the vehicle. */ make?: Array<{ text: string; language: string; }>; /** * Model name of the vehicle. */ model?: Array<{ text: string; language: string; }>; /** * Color of the vehicle. */ color?: string; /** * Customer-readable description of the vehicle type outlining special features or how-tos. */ description?: Array<{ text: string; language: string; }>; /** * Number of wheels this vehicle type has. * **Minimum**: 0 */ wheel_count?: number; /** * Maximum permitted speed in kilometers per hour. * **Minimum**: 0 */ max_permitted_speed?: number; /** * Rated power of the motor for this vehicle type in watts. * **Minimum**: 0 */ rated_power?: number; /** * Maximum time in minutes a vehicle can be reserved before a rental begins. * **Minimum**: 0 */ default_reserve_time?: number; /** * Conditions for returning the vehicle at the end of the trip. * **Enum**: ['free_floating', 'roundtrip_station', 'any_station', 'hybrid'] */ return_constraint?: 'free_floating' | 'roundtrip_station' | 'any_station' | 'hybrid'; /** * Assets associated with the vehicle type. */ vehicle_assets?: { /** * URL pointing to the location of a graphic icon file for this vehicle type. * **Format**: uri */ icon_url: string; /** * URL for a dark mode version of the vehicle icon. * **Format**: uri */ icon_url_dark?: string; /** * Date of last modification for vehicle icon images. * **Format**: date */ icon_last_modified: string; }; /** * A plan ID as defined in system_pricing_plans.json. */ default_pricing_plan_id?: string; /** * Array of all pricing plan IDs for this vehicle type. */ pricing_plan_ids?: Array<string>; }>; }; } /** * # GBFS Vehicle Types Schema V3.0 * Describes the types of vehicles that System operator has available for rent (added in v2.1-RC). * * ## Links * - [GBFS Specification](https://github.com/MobilityData/gbfs/blob/v3.0/gbfs.md#vehicle_typesjson) */ export interface GBFSVehicleTypesV30 { /** * Last time the data in the feed was updated in RFC3339 format. */ last_updated: string; /** * Number of seconds before the data in the feed will be updated again (0 if the data should always be refreshed). */ ttl: number; /** * GBFS version number to which the feed conforms. */ version: '3.0'; /** * Vehicle type data. */ data: { vehicle_types: Array<{ /** * Unique identifier of a vehicle type. */ vehicle_type_id: string; /** * The vehicle's general form factor. */ form_factor: 'bicycle' | 'cargo_bicycle' | 'car' | 'moped' | 'scooter_standing' | 'scooter_seated' | 'other' | 'scooter'; /** * The primary propulsion type of the vehicle. */ propulsion_type: 'human' | 'electric_assist' | 'electric' | 'combustion' | 'combustion_diesel' | 'hybrid' | 'plug_in_hybrid' | 'hydrogen_fuel_cell'; /** * The furthest distance the vehicle can travel without recharging or refueling. */ max_range_meters?: number; /** * Public name of the vehicle type. */ name?: Array<{ text: string; language: string; }>; /** * Description of accessories available in the vehicle. */ vehicle_accessories?: Array<'air_conditioning' | 'automatic' | 'manual' | 'convertible' | 'cruise_control' | 'doors_2' | 'doors_3' | 'doors_4' | 'doors_5' | 'navigation'>; /** * Maximum CO2 emissions per kilometer, in grams. */ g_CO2_km?: number; /** * URL to an image of the vehicle. */ vehicle_image?: string; /** * Manufacturer of the vehicle. */ make?: Array<{ text: string; language: string; }>; /** * Model of the vehicle. */ model?: Array<{ text: string; language: string; }>; /** * The vehicle's color. */ color?: string; /** * Customer-readable description of the vehicle type. */ description?: Array<{ text: string; language: string; }>; /** * Number of wheels on the vehicle. */ wheel_count?: number; /** * The maximum speed permitted for the vehicle. */ max_permitted_speed?: number; /** * The rated motor power in watts. */ rated_power?: number; /** * Default reserve time for the vehicle, in minutes. */ default_reserve_time?: number; /** * Return conditions for the vehicle. */ return_constraint?: 'free_floating' | 'roundtrip_station' | 'any_station' | 'hybrid'; /** * Information about the vehicle's assets. */ vehicle_assets?: { icon_url: string; icon_url_dark?: string; icon_last_modified: string; }; /** * Default pricing plan ID for this vehicle type. */ default_pricing_plan_id?: string; /** * Array of all pricing plan IDs available for this vehicle type. */ pricing_plan_ids?: string[]; /** * Rider capacity of the vehicle. */ rider_capacity?: number; /** * Cargo volume capacity in liters. */ cargo_volume_capacity?: number; /** * Cargo load capacity in kilograms. */ cargo_load_capacity?: number; /** * Eco labels for the vehicle. */ eco_labels?: Array<{ country_code: string; eco_sticker: string; }>; }>; }; } //# sourceMappingURL=vehicleTypes.d.ts.map