s2-tools
Version:
A collection of geospatial tools primarily designed for WGS84, Web Mercator, and S2.
610 lines • 23.7 kB
TypeScript
/**
* # 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