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: Url? = null, val summary: String, val description: String? = null, val lastUpdated: EpochSeconds? = null)

An alert about changes to the system.

Link copied to clipboard
data class AlertTime(val start: EpochSeconds, val end: EpochSeconds? = 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 Bike(val bikeId: 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: EpochSeconds? = 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
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 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

Describes all vehicles that are not currently in active rental.

Link copied to clipboard
sealed interface GbfsFeedData

A possible value of GbfsFeedResponse.data.

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

Standard GBFS feed response wrapper.

Link copied to clipboard

HTTP client for fetching GBFS v2 feeds.

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

Properties describing travel allowances and limitations for a geofencing zone.

Link copied to clipboard
data class GeofencingZoneRule(val vehicleTypeId: List<String>? = null, val rideAllowed: 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>) : 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: String, val currency: CurrencyCode, val price: Double, val isTaxable: Boolean, val description: String, 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: String)

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
data class Service(val feeds: Map<FeedType, Url>) : Map<FeedType, Url>

A collection of GBFS feeds for a specific language.

Link copied to clipboard
data class Station(val stationId: String, val name: String, val shortName: String? = null, val lat: Double, val lon: Double, val address: String? = null, val crossStreet: String? = null, val regionId: String? = null, val postalCode: String? = 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 vehicleCapacity: Map<String, Int>? = null, val vehicleTypeCapacity: Map<String, Int>? = 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 numBikesAvailable: Int, val vehicleTypesAvailable: List<VehicleTypeAvailability>? = null, val numBikesDisabled: Int? = null, val numDocksAvailable: Int? = null, val vehicleDocksAvailable: List<VehicleDockAvailability>? = null, val numDocksDisabled: Int? = null, val isInstalled: Boolean, val isRenting: Boolean, val isReturning: Boolean, val lastReported: EpochSeconds)

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

Describes the operating calendar for a system.

Link copied to clipboard
data class SystemCalendarEntry(val startYear: Int? = null, val startMonth: MonthNumber, val startDay: Int, val endYear: Int? = null, val endMonth: MonthNumber, val endDay: Int)

A calendar entry defining an operating period for the system.

Link copied to clipboard

Describes hours and days of operation when vehicles are available for rental.

Link copied to clipboard
data class SystemHoursEntry(val userTypes: List<UserType>, val days: List<AbbreviatedWeekday>, val startTime: ServiceTime, val endTime: ServiceTime)

Hours of operation for specific user types and days of the week.

Link copied to clipboard
data class SystemInformation(val systemId: String, val language: LanguageCode, val name: String, val shortName: String? = null, val operator: String? = null, val url: Url? = null, val purchaseUrl: Url? = null, val startDate: ExtendedLocalDate? = null, val phoneNumber: String? = null, val email: String? = null, val feedContactEmail: String? = null, val timezone: TimeZone, val licenseUrl: Url? = null, val brandAssets: BrandAssets? = null, val termsUrl: Url? = null, val termsLastUpdated: ExtendedLocalDate? = null, val privacyUrl: Url? = 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

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

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
value class UserType(val value: String)

Type of user (member or non-member).

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
data class VehicleDockAvailability(val vehicleTypeIds: List<String>, val count: Int)

The number of docks available for specific vehicle types.

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
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 ecoLabel: List<EcoLabel>? = null, val maxRangeMeters: Double? = null, val name: String? = null, val vehicleAccessories: List<VehicleAccessory>? = null, val gCO2km: Int? = null, val vehicleImage: Url? = null, val make: String? = null, val model: String? = null, val color: String? = 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
data class VehicleTypeAvailability(val vehicleTypeId: String, val count: Int)

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

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.