Package-level declarations

Types

Link copied to clipboard
@Serializable
data class AccessStatus(val doors: List<DoorState>, val windows: List<WindowState>, val overallStatus: String?, val doorLockStatus: String?)

Door lock and window status for all vehicle openings.

Link copied to clipboard
@Serializable
data class BatteryStatus(val capturedAt: Instant, val currentSoc: Int?, val remainingRange: Int?, val carType: CarType?) : CarStatus

High-voltage (traction) battery state: charge level and remaining electric range.

Link copied to clipboard
@Serializable
data class BatterySupportStatus(val batterySupport: String?)

Battery support mode status.

Link copied to clipboard
@Serializable
abstract class CarStatus

Base class for time-stamped status sections. Each subclass captures data from a specific BFF capability.

Link copied to clipboard
@Serializable
enum CarType : Enum<CarType>

Vehicle powertrain type as reported by the BFF API.

Link copied to clipboard
@Serializable
data class ChargingProfile(val id: Int?, val name: String?, val maxChargingCurrent: String?, val minSoc: Int?, val targetSoc: Int?, val autoUnlockPlugWhenCharged: String?, val preferredChargingTimes: List<PreferredChargingTime>)

A named charging profile with target SoC, current limit, and time windows.

Link copied to clipboard
@Serializable
data class ChargingProfiles(val profiles: List<ChargingProfile>, val vehiclePositionedInProfileId: Int?, val nextChargingTimerId: Int?, val nextChargingTimerTargetSocReachable: String?)

Collection of charging profiles configured for a vehicle.

Link copied to clipboard
@Serializable(with = ChargingStateSerializer::class)
sealed class ChargingState

Sealed hierarchy representing all known charging states from the BFF API. Unknown API values are captured as Unknown.

Link copied to clipboard
object ChargingStateSerializer : KSerializer<ChargingState>
Link copied to clipboard
@Serializable
data class ChargingStatus(val capturedAt: Instant, val chargingState: ChargingState?, val chargeMode: String?, val chargePower: Double?, val remainingTimeToCompleteMin: Int?, val targetSoc: Int?) : CarStatus

Current charging session state: mode, power, target SoC, and estimated time remaining.

Link copied to clipboard

Sealed hierarchy representing climate control operating states.

Link copied to clipboard
Link copied to clipboard
@Serializable
data class ClimatizationStatus(val capturedAt: Instant, val state: ClimatizationState?, val remainingTimeMin: Int?, val targetTemperature: Double?, val windowHeatingEnabled: Boolean?) : CarStatus

Climate control state: heating/cooling mode, target temperature, and window heating.

Link copied to clipboard
@Serializable
data class DoorState(val name: String, val status: String)

Per-door open/close state.

Link copied to clipboard
@Serializable
data class LightState(val name: String, val status: List<String>)

State of a single vehicle light group.

Link copied to clipboard
@Serializable
data class LvBatteryStatus(val batterySupport: String?, val voltage: Double?)

12V (low-voltage) auxiliary battery state.

Link copied to clipboard
@Serializable
data class MeasurementStatus(val mileage: Int?, val odometer: Int?, val temperatureBattery: Double?, val temperatureBatteryMin: Double?, val temperatureBatteryMax: Double?)

Odometer and battery temperature measurements. All temperatures in Celsius, distances in km.

Link copied to clipboard
@Serializable
data class ParkingPosition(val latitude: Double, val longitude: Double, val heading: Double?, val capturedAt: Instant)

Last known parking position (GPS coordinates and compass heading).

Link copied to clipboard

Sealed hierarchy representing charging plug connection states.

Link copied to clipboard
@Serializable(with = PlugLockStateSerializer::class)
sealed class PlugLockState

Sealed hierarchy representing charging plug lock states.

Link copied to clipboard
object PlugLockStateSerializer : KSerializer<PlugLockState>
Link copied to clipboard
@Serializable
data class PlugStatus(val capturedAt: Instant, val plugConnectionState: PlugConnectionState?, val plugLockState: PlugLockState?) : CarStatus

Charging plug connection and lock state.

Link copied to clipboard
@Serializable
data class PowerBudgetStatus(val dailyPowerBudgetAvailable: Boolean?, val insufficientBatteryLevelWarning: Boolean?, val dailyPowerBudgetWarning: Boolean?)

Daily power budget availability and warning flags.

Link copied to clipboard
@Serializable
data class PreferredChargingTime(val id: Int?, val enabled: Boolean?, val startTime: String?, val endTime: String?)

A preferred charging time window within a ChargingProfile.

Link copied to clipboard
@Serializable
data class ReadinessStatus(val isOnline: Boolean, val ignitionOn: Boolean, val inMotion: Boolean, val batteryPowerLevel: String?, val isActive: Boolean, val insufficientBatteryLevelWarning: Boolean?, val dailyPowerBudgetWarning: Boolean?)

Vehicle connectivity and motion readiness flags.

Link copied to clipboard
@Serializable
data class Trip(val id: Long, val tripEndTimestamp: Instant, val tripType: String, val mileage: Int?, val averageElectricConsumption: Double?, val averageFuelConsumption: Double?, val averageSpeed: Double?, val travelTimeSeconds: Int?)

Summary of a single trip with consumption and speed averages. All distances in km, speeds in km/h.

Link copied to clipboard
@Serializable
data class Vehicle(val vin: String, val role: String?, val model: String?, val nickname: String?, val brandCode: String?, val devicePlatform: String?, val enrollmentStatus: String?, val userRoleStatus: String?)

A vehicle registered under the VW We Connect account.

Link copied to clipboard
@Serializable
data class VehicleDump(val vehicle: Vehicle, val status: VehicleStatus)

A vehicle paired with its full status snapshot, useful for serialisation/export.

Link copied to clipboard
@Serializable
data class VehicleHealthInspection(val inspectionDueDays: Int?, val inspectionDueDistance: Int?, val oilServiceDueDays: Int?, val oilServiceDueDistance: Int?)

Service inspection and oil change intervals (days and km remaining).

Link copied to clipboard
@Serializable
data class VehicleHealthWarnings(val mileage: Int?, val warningLights: List<WarningLight>, val insufficientBatteryLevelWarning: Boolean?)

Active warning lights and battery-level warnings.

Link copied to clipboard
@Serializable
data class VehicleLightsStatus(val lights: List<LightState>)

Exterior lighting status.

Link copied to clipboard
@Serializable
data class VehicleStatus(val vin: String, val batteryStatus: BatteryStatus?, val chargingStatus: ChargingStatus?, val plugStatus: PlugStatus?, val climatizationStatus: ClimatizationStatus?, val parkingPosition: ParkingPosition?, val readinessStatus: ReadinessStatus?, val measurementStatus: MeasurementStatus?, val accessStatus: AccessStatus?, val vehicleLightsStatus: VehicleLightsStatus?, val lvBatteryStatus: LvBatteryStatus?, val vehicleHealthWarnings: VehicleHealthWarnings?, val vehicleHealthInspection: VehicleHealthInspection?, val batterySupportStatus: BatterySupportStatus?, val powerBudgetStatus: PowerBudgetStatus?)

Aggregated status snapshot for a single vehicle, assembled from the BFF selective status endpoint.

Link copied to clipboard
@Serializable
data class WarningLight(val text: String?, val category: String?, val priority: Int?, val iconColor: String?)

A single warning light indicator from the instrument cluster.

Link copied to clipboard
@Serializable
data class WindowState(val name: String, val status: String)

Per-window open/close state.