s2-tools
Version:
A collection of geospatial tools primarily designed for WGS84, Web Mercator, and S2.
719 lines • 28.4 kB
TypeScript
import type { MultiPolygonGeometry } from '../../..';
/**
* # GBFS Station Information Schema V3.1-RC & V3.0
* List of all stations, their capacities, and locations. REQUIRED for systems utilizing docks.
*
* ## Links
* - [GBFS Specification](https://github.com/MobilityData/gbfs/blob/v3.1-RC/gbfs.md#station_informationjson)
* - [GBFS Specification](https://github.com/MobilityData/gbfs/blob/v3.0/gbfs.md#station_informationjson)
*/
export type GBFSStationInformationV3 = GBFSStationInformationV31RC | GBFSStationInformationV30;
/**
* # GBFS Station Information Schema V3.1-RC
* List of all stations, their capacities and locations. REQUIRED of systems utilizing docks.
*
* ## Links
* - [GBFS Specification](https://github.com/MobilityData/gbfs/blob/v3.1-RC/gbfs.md#station_informationjson)
*/
export declare const gbfsStationInformationSchemaV31RC: {
$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: {
stations: {
type: string;
items: {
type: string;
properties: {
station_id: {
description: string;
type: string;
};
name: {
description: string;
type: string;
items: {
type: string;
properties: {
text: {
description: string;
type: string;
};
language: {
description: string;
type: string;
pattern: string;
};
};
required: string[];
};
};
short_name: {
description: string;
type: string;
items: {
type: string;
properties: {
text: {
description: string;
type: string;
};
language: {
description: string;
type: string;
pattern: string;
};
};
required: string[];
};
};
lat: {
description: string;
type: string;
minimum: number;
maximum: number;
};
lon: {
description: string;
type: string;
minimum: number;
maximum: number;
};
address: {
description: string;
type: string;
};
cross_street: {
description: string;
type: string;
};
region_id: {
description: string;
type: string;
};
post_code: {
description: string;
type: string;
};
station_opening_hours: {
description: string;
type: string;
};
rental_methods: {
description: string;
type: string;
items: {
type: string;
enum: string[];
};
minItems: number;
};
is_virtual_station: {
description: string;
type: string;
};
station_area: {
description: string;
type: string;
required: string[];
properties: {
type: {
type: string;
enum: string[];
};
coordinates: {
type: string;
items: {
type: string;
items: {
type: string;
minItems: number;
items: {
type: string;
minItems: number;
items: {
type: string;
};
};
};
};
};
};
};
parking_type: {
description: string;
type: string;
enum: string[];
};
parking_hoop: {
description: string;
type: string;
};
contact_phone: {
description: string;
type: string;
};
capacity: {
description: string;
type: string;
minimum: number;
};
vehicle_types_capacity: {
description: string;
type: string;
items: {
type: string;
properties: {
vehicle_type_ids: {
description: string;
type: string;
items: {
type: string;
};
};
count: {
description: string;
type: string;
minimum: number;
};
};
required: string[];
};
};
vehicle_docks_capacity: {
description: string;
type: string;
items: {
type: string;
properties: {
vehicle_type_ids: {
description: string;
type: string;
items: {
type: string;
};
};
count: {
description: string;
type: string;
minimum: number;
};
};
required: string[];
};
};
is_valet_station: {
description: string;
type: string;
};
is_charging_station: {
description: string;
type: string;
};
rental_uris: {
description: string;
type: string;
properties: {
android: {
description: string;
type: string;
format: string;
};
ios: {
description: string;
type: string;
format: string;
};
web: {
description: string;
type: string;
format: string;
};
};
};
};
required: string[];
};
};
};
required: string[];
};
};
required: string[];
};
/**
* Information about a single station.
*/
export interface GBFSStationV3 {
/**
* Identifier of the station.
*/
station_id: string;
/**
* Public name of the station.
*/
name: Array<{
/**
* The translated text.
*/
text: string;
/**
* IETF BCP 47 language code.
* **Pattern**: `^[a-z]{2,3}(-[A-Z]{2})?$`
*/
language: string;
}>;
/**
* The latitude of the station.
* **Minimum**: -90
* **Maximum**: 90
*/
lat: number;
/**
* The longitude of the station.
* **Minimum**: -180
* **Maximum**: 180
*/
lon: number;
/**
* Short name or alternative identifier for the station.
*/
short_name?: Array<{
text: string;
language: string;
}>;
/**
* Address where the station is located.
*/
address?: string;
/**
* Cross street or landmark where the station is located.
*/
cross_street?: string;
/**
* Identifier of the region where the station is located.
*/
region_id?: string;
/**
* Postal code where the station is located.
*/
post_code?: string;
/**
* Hours of operation for the station in OSM opening_hours format.
*/
station_opening_hours?: string;
/**
* Payment methods accepted at the station.
* **Enum**: ['key', 'creditcard', 'paypass', 'applepay', 'androidpay', 'transitcard', 'accountnumber', 'phone']
*/
rental_methods?: Array<'key' | 'creditcard' | 'paypass' | 'applepay' | 'androidpay' | 'transitcard' | 'accountnumber' | 'phone'>;
/**
* Is this station a location with or without physical infrastructure? (added in v2.1-RC)
*/
is_virtual_station?: boolean;
/**
* A multipolygon describing the area of a virtual station. (added in v2.1-RC)
*/
station_area?: MultiPolygonGeometry;
/**
* Type of parking station. (added in v2.3)
* **Enum**: ['parking_lot', 'street_parking', 'underground_parking', 'sidewalk_parking', 'other']
*/
parking_type?: 'parking_lot' | 'street_parking' | 'underground_parking' | 'sidewalk_parking' | 'other';
/**
* Are parking hoops present at this station? (added in v2.3)
*/
parking_hoop?: boolean;
/**
* Contact phone of the station. (added in v2.3)
*/
contact_phone?: string;
/**
* Total docking points installed at the station, both available and unavailable.
* **Minimum**: 0
*/
capacity?: number;
/**
* Parking capacity for virtual stations per vehicle type.
*/
vehicle_types_capacity?: Array<{
vehicle_type_ids: string[];
count: number;
}>;
/**
* Docking capacity per vehicle type at the station.
*/
vehicle_docks_capacity?: Array<{
vehicle_type_ids: string[];
count: number;
}>;
/**
* Are valet services provided at the station? (added in v2.1-RC)
*/
is_valet_station?: boolean;
/**
* Does the station support charging of electric vehicles? (added in v2.3-RC)
*/
is_charging_station?: boolean;
/**
* Rental URIs for Android, iOS, and web.
*/
rental_uris?: {
/**
* URI for Android apps. (added in v1.1)
* **Format**: uri
*/
android?: string;
/**
* URI for iOS apps. (added in v1.1)
* **Format**: uri
*/
ios?: string;
/**
* URL for web browsers. (added in v1.1)
* **Format**: uri
*/
web?: string;
};
}
/**
* # GBFS Station Information Schema V3.1-RC
* List of all stations, their capacities, and locations. REQUIRED for systems utilizing docks.
*
* ## Links
* - [GBFS Specification](https://github.com/MobilityData/gbfs/blob/v3.1-RC/gbfs.md#station_informationjson)
*/
export interface GBFSStationInformationV31RC {
/**
* 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 (added in v1.1).
* **Const**: 3.1-RC
*/
version: '3.1-RC';
/**
* Contains station data for the system.
*/
data: {
/**
* Array of stations, each containing location, capacity, and other metadata.
*/
stations: GBFSStationV3[];
};
}
/**
* # GBFS Station Information Schema V3.0
* List of all stations, their capacities and locations. REQUIRED of systems utilizing docks.
*
* ## Links
* - [GBFS Specification](https://github.com/MobilityData/gbfs/blob/v3.0/gbfs.md#station_informationjson)
*/
export declare const gbfsStationInformationSchemaV30: {
$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: {
stations: {
type: string;
items: {
type: string;
properties: {
station_id: {
description: string;
type: string;
};
name: {
description: string;
type: string;
items: {
type: string;
properties: {
text: {
description: string;
type: string;
};
language: {
description: string;
type: string;
pattern: string;
};
};
required: string[];
};
};
short_name: {
description: string;
type: string;
items: {
type: string;
properties: {
text: {
description: string;
type: string;
};
language: {
description: string;
type: string;
pattern: string;
};
};
required: string[];
};
};
lat: {
description: string;
type: string;
minimum: number;
maximum: number;
};
lon: {
description: string;
type: string;
minimum: number;
maximum: number;
};
address: {
description: string;
type: string;
};
cross_street: {
description: string;
type: string;
};
region_id: {
description: string;
type: string;
};
post_code: {
description: string;
type: string;
};
station_opening_hours: {
description: string;
type: string;
};
rental_methods: {
description: string;
type: string;
items: {
type: string;
enum: string[];
};
minItems: number;
};
is_virtual_station: {
description: string;
type: string;
};
station_area: {
description: string;
type: string;
required: string[];
properties: {
type: {
type: string;
enum: string[];
};
coordinates: {
type: string;
items: {
type: string;
items: {
type: string;
minItems: number;
items: {
type: string;
minItems: number;
items: {
type: string;
};
};
};
};
};
};
};
parking_type: {
description: string;
type: string;
enum: string[];
};
parking_hoop: {
description: string;
type: string;
};
contact_phone: {
description: string;
type: string;
};
capacity: {
description: string;
type: string;
minimum: number;
};
vehicle_types_capacity: {
description: string;
type: string;
items: {
type: string;
properties: {
vehicle_type_ids: {
description: string;
type: string;
items: {
type: string;
};
};
count: {
description: string;
type: string;
minimum: number;
};
};
required: string[];
};
};
vehicle_docks_capacity: {
description: string;
type: string;
items: {
type: string;
properties: {
vehicle_type_ids: {
description: string;
type: string;
items: {
type: string;
};
};
count: {
description: string;
type: string;
minimum: number;
};
};
required: string[];
};
};
is_valet_station: {
description: string;
type: string;
};
is_charging_station: {
description: string;
type: string;
};
rental_uris: {
description: string;
type: string;
properties: {
android: {
description: string;
type: string;
format: string;
};
ios: {
description: string;
type: string;
format: string;
};
web: {
description: string;
type: string;
format: string;
};
};
};
};
required: string[];
};
};
};
required: string[];
};
};
required: string[];
};
/**
* # GBFS Station Information Schema V3.0
* List of all stations, their capacities, and locations. REQUIRED for systems utilizing docks.
*
* ## Links
* - [GBFS Specification](https://github.com/MobilityData/gbfs/blob/v3.0/gbfs.md#station_informationjson)
*/
export interface GBFSStationInformationV30 {
/**
* 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.
* **Const**: '3.0'
*/
version: '3.0';
/**
* Data object containing station information.
*/
data: {
/**
* List of stations with their attributes.
*/
stations: GBFSStationV3[];
};
}
//# sourceMappingURL=stationInformation.d.ts.map