Package-level declarations

Types

Link copied to clipboard
data class Alert(val alertId: String, val type: AlertType, val times: List<AlertTime>? = null, val stationIds: List<String>? = null, val regionIds: List<String>? = null, val url: LocalizedUrl? = null, val summary: LocalizedText, val description: LocalizedText? = null, val lastUpdated: Timestamp? = null)

An alert about changes to the system.

Link copied to clipboard
data class AlertTime(val start: Timestamp, val end: Timestamp? = null)

Time period when an alert is in effect.

Link copied to clipboard
value class AlertType(val value: String)

Type of system alert.

Link copied to clipboard
data class BrandAssets(val brandLastModified: ExtendedLocalDate, val brandTermsUrl: Url? = null, val brandImageUrl: Url, val brandImageUrlDark: Url? = null, val color: RgbColorCode? = null)

Brand assets such as images and colors used to represent the system.

Link copied to clipboard
data class CountByMultipleVehicleTypes(val vehicleTypeIds: List<String>, val count: Int)

The total number of available vehicles or docks for multiple vehicle types at a station.

Link copied to clipboard
data class CountBySingleVehicleType(val vehicleTypeId: String, val count: Int)

The total number of available vehicles of a specific type at a station.

Link copied to clipboard
data class Dataset(val systemId: String, val versions: List<VersionInfo>)

Represents a GBFS dataset published by a provider.

Link copied to clipboard

An index of gbfs.json URLs for each GBFS data set produced by a publisher. A single instance of this file should be published at a single stable URL, for example: https://example.com/gbfs/manifest.json

Link copied to clipboard
data class EcoLabel(val countryCode: CountryCode, val ecoSticker: String)

Vehicle air quality certificate for a specific country.

Link copied to clipboard
value class FeedType(val value: String)

Types of feeds that can be published in a GBFS system.

Link copied to clipboard
sealed interface GbfsFeedData

A possible value of GbfsFeedResponse.data.

Link copied to clipboard
data class GbfsFeedResponse<T : GbfsFeedData>(val lastUpdated: Timestamp, val ttl: WholeSeconds, val version: String, val data: T)

Standard GBFS feed response wrapper.

Link copied to clipboard

HTTP client for fetching GBFS v3 feeds.

Link copied to clipboard
data class GeofencingZone(val name: LocalizedText? = null, val start: Timestamp? = null, val end: Timestamp? = null, val rules: List<GeofencingZoneRule>? = null)

Properties describing travel allowances and limitations for a geofencing zone.

Link copied to clipboard
data class GeofencingZoneRule(val vehicleTypeIds: List<String>? = null, val rideStartAllowed: Boolean, val rideEndAllowed: Boolean, val rideThroughAllowed: Boolean, val maximumSpeedKph: Int? = null, val stationParking: Boolean? = null)

A rule defining restrictions for a geofencing zone.

Link copied to clipboard
data class GeofencingZones(val geofencingZones: FeatureCollection<MultiPolygon, GeofencingZone>, val globalRules: List<GeofencingZoneRule>) : GbfsFeedData

Describes geofencing zones and their associated rules and attributes.

Link copied to clipboard
value class ParkingType(val value: String)

Type of parking station.

Link copied to clipboard
data class PricingInterval(val start: Int, val rate: Double, val interval: Int, val end: Int? = null)

A pricing interval defining a rate that is charged over a specific range of distance or time.

Link copied to clipboard
data class PricingPlan(val planId: String, val url: Url? = null, val name: LocalizedText, val currency: CurrencyCode, val price: Double, val isTaxable: Boolean, val description: LocalizedText, val perKmPricing: List<PricingInterval>? = null, val perMinPricing: List<PricingInterval>? = null, val surgePricing: Boolean? = null)

A pricing plan for renting vehicles.

Link copied to clipboard
data class Region(val regionId: String, val name: LocalizedText)

A geographic or administrative region within the system.

Link copied to clipboard
data class RentalAppPlatformUris(val storeUri: Uri, val discoveryUri: Uri)

Rental app download and discovery information for a specific platform.

Link copied to clipboard
data class RentalAppUris(val android: RentalAppPlatformUris? = null, val ios: RentalAppPlatformUris? = null)

Contains rental app information for different platforms.

Link copied to clipboard
value class RentalMethod(val value: String)

Payment methods accepted at a station.

Link copied to clipboard
data class RentalUris(val android: Url? = null, val ios: Url? = null, val web: Url? = null)

Contains rental URIs for different platforms to support deep linking.

Link copied to clipboard

The gbfs.json auto-discovery file that represents a single system or geographic area in which vehicles are operated.

Link copied to clipboard
data class Station(val stationId: String, val name: LocalizedText, val shortName: LocalizedText? = null, val lat: Double, val lon: Double, val address: String? = null, val crossStreet: String? = null, val regionId: String? = null, val postalCode: String? = null, val stationOpeningHours: OsmOpeningHours? = null, val rentalMethods: List<RentalMethod>? = null, val isVirtualStation: Boolean? = null, val stationArea: MultiPolygon? = null, val parkingType: ParkingType? = null, val parkingHoop: Boolean? = null, val contactPhone: String? = null, val capacity: Int? = null, val vehicleDocksCapacity: List<CountByMultipleVehicleTypes>? = null, val vehicleTypeCapacity: List<CountByMultipleVehicleTypes>? = null, val isValetStation: Boolean? = null, val isChargingStation: Boolean? = null, val rentalUris: RentalUris? = null)

Information about a single station.

Link copied to clipboard

Information about stations in the system.

Link copied to clipboard

Describes the capacity and rental availability of a station.

Link copied to clipboard
data class StationStatusEntry(val stationId: String, val numVehiclesAvailable: Int, val vehicleTypesAvailable: List<CountBySingleVehicleType>? = null, val numVehiclesDisabled: Int? = null, val numDocksAvailable: Int? = null, val vehicleDocksAvailable: List<CountByMultipleVehicleTypes>? = null, val numDocksDisabled: Int? = null, val isInstalled: Boolean, val isRenting: Boolean, val isReturning: Boolean, val lastReported: Timestamp)

Real-time status information for a single station.

Link copied to clipboard
data class SystemAlerts(val alerts: List<Alert>) : GbfsFeedData, List<Alert>

Informs customers about changes to the system that do not fall within the normal system operations.

Link copied to clipboard
data class SystemInformation(val systemId: String, val languages: List<LanguageCode>, val name: LocalizedText, val openingHours: OsmOpeningHours, val shortName: LocalizedText? = null, val operator: LocalizedText? = null, val url: Url? = null, val purchaseUrl: Url? = null, val startDate: ExtendedLocalDate? = null, val terminationDate: ExtendedLocalDate? = null, val phoneNumber: String? = null, val email: String? = null, val feedContactEmail: String, val manifestUrl: Url? = null, val timezone: TimeZone, val licenseId: String? = null, val licenseUrl: Url? = null, val attributionOrganizationName: LocalizedText? = null, val attributionUrl: Url? = null, val brandAssets: BrandAssets? = null, val termsUrl: LocalizedUrl? = null, val termsLastUpdated: ExtendedLocalDate? = null, val privacyUrl: LocalizedUrl? = null, val privacyLastUpdated: ExtendedLocalDate? = null, val rentalApps: RentalAppUris? = null) : GbfsFeedData

Details about the vehicle share system including system operator, system location, year implemented, URL, contact info, time zone.

Link copied to clipboard

Describes pricing for the system.

Link copied to clipboard
data class SystemRegions(val regions: List<Region>) : GbfsFeedData

Describes regions for a system.

Link copied to clipboard
data class Vehicle(val vehicleId: String, val lat: Double? = null, val lon: Double? = null, val isReserved: Boolean, val isDisabled: Boolean, val rentalUris: RentalUris? = null, val vehicleTypeId: String? = null, val lastReported: Timestamp? = null, val currentRangeMeters: Double? = null, val currentFuelPercent: Double? = null, val stationId: String? = null, val homeStationId: String? = null, val pricingPlanId: String? = null, val vehicleEquipment: List<VehicleEquipment>? = null, val availableUntil: Timestamp? = null)

Represents a vehicle that is currently not part of an active rental.

Link copied to clipboard

Accessories available in the vehicle.

Link copied to clipboard
data class VehicleAssets(val iconUrl: Url, val iconUrlDark: Url? = null, val iconLastModified: ExtendedLocalDate)

Icon images and metadata for representing a vehicle type.

Link copied to clipboard

Vehicle equipment provided by the operator in addition to the accessories already provided in the vehicle.

Link copied to clipboard

The vehicle's general form factor.

Link copied to clipboard

The primary propulsion type of the vehicle.

Link copied to clipboard

The conditions for returning the vehicle at the end of the rental.

Link copied to clipboard

Describes all vehicles that are not currently in active rental.

Link copied to clipboard
data class VehicleType(val vehicleTypeId: String, val formFactor: VehicleFormFactor, val riderCapacity: Int? = null, val cargoVolumeCapacity: Int? = null, val cargoLoadCapacity: Int? = null, val propulsionType: VehiclePropulsionType, val ecoLabels: List<EcoLabel>? = null, val maxRangeMeters: Double? = null, val name: LocalizedText? = null, val vehicleAccessories: List<VehicleAccessory>? = null, val gCO2km: Int? = null, val vehicleImage: Url? = null, val make: LocalizedText? = null, val model: LocalizedText? = null, val color: String? = null, val description: LocalizedText? = null, val wheelCount: Int? = null, val maxPermittedSpeed: Int? = null, val ratedPower: Int? = null, val defaultReserveTime: WholeMinutes? = null, val returnConstraint: VehicleReturnConstraint? = null, val vehicleAssets: VehicleAssets? = null, val defaultPricingPlanId: String? = null, val pricingPlanIds: List<String>? = null)

Information about a vehicle type available in the system.

Link copied to clipboard

Describes the types of vehicles available in the system.

Link copied to clipboard
data class VersionInfo(val version: String, val url: Url)

Information about a specific version of a GBFS feed.

Link copied to clipboard

Lists all available versions of a GBFS feed.

Properties

Link copied to clipboard

Pre-configured JSON instance for parsing GBFS feeds.