export type Maybe = T | null; export type Exact = { [K in keyof T]: T[K]; }; export type MakeOptional = Omit & { [SubKey in K]?: Maybe }; export type MakeMaybe = Omit & { [SubKey in K]: Maybe }; /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { ID: string; String: string; Boolean: boolean; Int: number; Float: number; /** The date and time scalar. */ DateTime: string; /** Email address scalar, email regex with HTML sanitization. */ Email: any; /** Any JSON object or array. */ JSON: { [key: string]: number | string | boolean | null | Scalars["JSON"] }; /** The non empty string scalar. */ NonEmptyString: any; /** The `PlainID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The `PlainID` type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID. */ PlainID: any; /** * The `PlainString` scalar type represents textual data, represented as UTF-8 character sequences. * The PlainString type represents free-form human-readable text with HTML sanitization. */ PlainString: any; /** The File Upload scalar. */ Upload: any; }; export enum AccelerationUnit { /** Return the acceleration in seconds to 100 kilometers per hour. */ SECONDS_TO_100_KILOMETERS_PER_HOUR = "seconds_to_100_kilometers_per_hour", /** Return the acceleration in seconds to 60 miles per hour. */ SECONDS_TO_60_MILES_PER_HOUR = "seconds_to_60_miles_per_hour" } export enum AccessType { PUBLIC = "Public", RESTRICTED = "Restricted", PRIVATE = "Private" } /** Information about an address. */ export type Address = { /** Continent code (2 letters). */ continent?: Maybe; /** Country code (2 letters). */ country?: Maybe; /** County code (2 letters). */ county?: Maybe; /** State or province. */ state_province?: Maybe; /** Municipality. */ municipality?: Maybe; /** City. */ city?: Maybe; /** Street name. */ street?: Maybe; /** Street number. */ number?: Maybe; /** * Postal code of the location. * @deprecated In favor of `postal_code`. */ postalCode?: Maybe; /** * String composed of 3 words which represent the location of an address on the globe. More details: http://w3w.co/. * @deprecated In favor of `what_3_words`. */ what3Words?: Maybe; /** * Human-readable address of the location. * @deprecated In favor of `formatted_address`. */ formattedAddress?: Maybe>>; /** Postal code of the location. */ postal_code?: Maybe; /** String composed of 3 words which represent the location of an address on the globe. More details: http://w3w.co/. */ what_3_words?: Maybe; /** Human-readable address of the location. */ formatted_address?: Maybe>>; }; export enum AdhocAuthorisationMethod { CREDIT_CARD = "CREDIT_CARD", DEBIT_CARD = "DEBIT_CARD", OTHER = "OTHER", OTHER_APPLE_PAY = "OTHER_Apple_Pay", OTHER_AUTHENTICATION_BY_CAR = "OTHER_Authentication_by_car", OTHER_GOOGLE_PAY = "OTHER_Google_Pay", QR_CODE = "QR_CODE", SMS = "SMS" } export type AirPressure = { /** Value of the atmospheric pressure. */ value: Scalars["Float"]; /** Atmospheric pressure unit. */ type: AirPressureUnit; }; export type AirPressureInput = { /** Value of the atmospheric pressure. */ value: Scalars["Float"]; /** Atmospheric pressure unit. */ type: AirPressureUnit; }; export enum AirPressureUnit { MILLIBAR = "millibar" } export type AlternativeStationRadius = { /** Value of the alternative station radius. */ value: Scalars["Float"]; /** Preferred unit for the alternative station radius. */ type: DistanceUnit; /** Source of inputted data. */ source: TelemetryInputSource; }; export type AlternativeStationRadiusInput = { /** Value of the alternative station radius. */ value: Scalars["Float"]; /** Preferred unit for the alternative station radius. */ type: DistanceUnit; /** Source of inputted data. */ source?: Maybe; }; /** Amenities available near a station. */ export enum Amenities { PARK = "park", RESTAURANT = "restaurant", MUSEUM = "museum", COFFEE = "coffee", HOTEL = "hotel", SHOPPING = "shopping", BATHROOM = "bathroom", SUPERMARKET = "supermarket", PLAYGROUND = "playground", PHARMACY = "pharmacy", BAKERY = "bakery", CONVENIENCE_STORE = "convenience_store" } /** Amenity data. */ export type Amenity = { /** * Unique amenity ID. * @deprecated Will be removed. */ id?: Maybe; /** * ID provided by an amenity data source as the row ID. * @deprecated In favor of `external_id`. */ externalId?: Maybe; /** ID provided by an amenity data source as the row ID. */ external_id: Scalars["String"]; /** Name of the amenity. */ name: Scalars["String"]; /** Geo location coordinates. This is a GeoJSON Point. */ location: Point; /** Address of the amenity. */ address?: Maybe
; /** Type of amenity. An amenity can belong to multiple categories. */ type: Array>; /** * Computed distance between station and amenity. * @deprecated In favor of `station_distance`. */ distance?: Maybe; /** Computed distance between station and amenity. */ station_distance: Scalars["Float"]; /** * Full path URL to amenity foursquare page. * @deprecated Will be removed. */ foursquareUrl?: Maybe; /** Opening hours of the amenity. */ opening_hours?: Maybe; /** Indicates whether pets are allowed. This does not apply to assistance dogs, which may have legal access. */ pets_allowed?: Maybe; /** Accessibility options at the amenity. */ accessibility?: Maybe; /** Contact information for the amenity. */ contact?: Maybe; /** Rating of an amenity, the value will be between 0.0 and 10.0. If no rating has been given, the value will be set to null. */ rating?: Maybe; /** * Date and time when an amenity was created. * @deprecated Will be removed. */ createdAt?: Maybe; /** * Date and time when an amenity was last updated. * @deprecated In favor of `last_updated`. */ updatedAt?: Maybe; /** Date and time when an amenity was last updated. */ last_updated: Scalars["DateTime"]; }; /** Amenity data. */ export type Amenitystation_distanceArgs = { unit?: Maybe; }; /** Accessibility options at the amenity. */ export type AmenityAccessibility = { /** Type of wheelchair accessibility at the amenity. */ wheelchair?: Maybe; }; /** Contact information for the amenity. */ export type AmenityContact = { /** Phone number to contact the amenity. */ phone?: Maybe; /** Website of the amenity. */ website?: Maybe; }; /** Filter that can be applied to retrieve the amenity list. */ export type AmenityListFilter = { /** Type of amenity. An amenity can belong to multiple categories. */ type?: Maybe>; }; /** Opening and access hours of the location. */ export type AmenityOpeningHours = { /** True to represent 24 hours a day and 7 days a week. */ twentyfourseven?: Maybe; /** Regular hours, weekday-based. Only to be used if twentyfourseven=false, then this field needs to contain at least one RegularHours object. */ regular_hours?: Maybe>>; }; /** Amenity preferences for a route. */ export type AmenityPreferencesInput = { /** Desired amenities near all charge-stops along a route, with a 1 kilometer radius. */ all_charge_stops?: Maybe>; /** Scheduled charge stops, with a specified amenity and timeline. */ scheduled_charge_stops?: Maybe>; }; /** Regular hours, weekday-based. Only to be used if twentyfourseven=false, then this field needs to contain at least one RegularHours object. */ export type AmenityRegularHours = { /** Number of days in the week, from Monday (1) till Sunday (7). */ weekday?: Maybe; /** Beginning of the regular period, in local time, given in hours and minutes. Must be in 24h format with leading zeros. Example: "18:15". Hour/Minute separator: ":" Regex: ([0-1][0-9]|2[1-3]):[0-5][0-9]. */ period_begin?: Maybe; /** End of the regular period, in local time, syntax as for period_begin. Must be later than period_begin. */ period_end?: Maybe; }; /** A list of amenity types. */ export enum AmenityType { PARK = "park", RESTAURANT = "restaurant", MUSEUM = "museum", COFFEE = "coffee", HOTEL = "hotel", SHOPPING = "shopping", BATHROOM = "bathroom", SUPERMARKET = "supermarket", PLAYGROUND = "playground", PHARMACY = "pharmacy", BAKERY = "bakery", CONVENIENCE_STORE = "convenience_store" } /** Type of wheelchair accessibility at the amenity. */ export enum AmenityWheelchairAccessibilityType { /** Wheelchairs have full unrestricted access. */ YES = "yes", /** Wheelchairs have partial access (e.g some areas can be accessed and others not, areas requiring assistance by someone pushing up a steep gradient). */ LIMITED = "limited", /** Wheelchairs have no unrestricted access (e.g. stair only access). */ NO = "no", /** The amenity is designated or purpose-built for wheelchairs (e.g. bathroom designed for wheelchair access only). */ DESIGNATED = "designated" } export type AuthorizeConnectedVehicleInput = { /** Id from the connected vehicle */ id: Scalars["ID"]; /** Provider specific options. See the developer portal for more details */ options: AuthorizeConnectedVehicleOptions; }; export type AuthorizeConnectedVehicleOptions = { /** OAuth code returned as a query parameter on the OAuth callback */ code?: Maybe; }; export type AuxiliaryConsumption = { /** Value of the vehicle's auxiliary power consumption. */ value: Scalars["Float"]; /** Preferred unit for the vehicle's auxiliary power consumption. */ type: AuxiliaryConsumptionUnit; /** Source of inputted data. */ source: TelemetryInputSource; }; export type AuxiliaryConsumptionInput = { /** Value of the vehicle's auxiliary power consumption. */ value: Scalars["Float"]; /** Preferred unit for the vehicle's auxiliary power consumption. */ type: AuxiliaryConsumptionUnit; /** Source of inputted data, defaults to 'manual'. */ source?: Maybe; }; /** Auxiliary consumption units. */ export enum AuxiliaryConsumptionUnit { /** Return the auxiliary consumption in kilowatt hours. */ KILOWATT_HOUR = "kilowatt_hour" } /** The type of the battery value. */ export enum BatteryInputType { KWH = "kwh", KM = "km", MILES = "miles", PERCENTAGE = "percentage" } export type BatteryTemperatureInput = { /** Value of the temperature of the battery. */ value: Scalars["Float"]; /** Preferred unit for the temperature of the battery. */ type: TemperatureUnit; /** Source of inputted data, defaults to 'manual'. */ source?: Maybe; }; export enum CarConnectivityProvider { ENODE = "Enode" } /** Consumption of the car. */ export type CarConsumption = { /** Worst conditions are based on -10°C and use of heating. */ worst?: Maybe; /** Best conditions are based on 23°C and no use of A/C. */ best?: Maybe; }; /** Consumption of the car. */ export type CarConsumptionInput = { /** Worst conditions are based on -10°C and use of heating. */ worst?: Maybe; /** Best conditions are based on 23°C and no use of A/C. */ best?: Maybe; }; /** Charging mode used at charging stations. */ export enum ChargeMode { /** Optimizes the charging time at each station, in order to decrease the total travel time. You will only charge up until the SOC you need in order to reach the next stop. */ OPTIMIZE_TRAVEL_TIME = "OPTIMIZE_TRAVEL_TIME", /** Charge to the maximum capacity at every charging stop. The default maximum charging capacity is 80%. */ ALWAYS_TO_MAX_CHARGE = "ALWAYS_TO_MAX_CHARGE" } export type ChargeSpeed = { /** Value of the charge speed of the battery. */ value: Scalars["Float"]; /** Preferred unit for the battery's charge speed. */ type: ChargeSpeedUnit; /** Source of inputted data */ source: TelemetryInputSource; }; export type ChargeSpeedInput = { /** Value of the battery's charge speed. */ value: Scalars["Float"]; /** Preferred unit for the battery's charge speed. */ type: ChargeSpeedUnit; /** Source of inputted data, defaults to 'manual'. */ source?: Maybe; }; export enum ChargeSpeedUnit { /** Return the charge speed in kilowatt hours. */ KILOWATT_HOUR = "kilowatt_hour", /** Return the charge speed in kilometers per hour. */ KILOMETERS_PER_HOUR = "kilometers_per_hour", /** Return the charge speed in miles per hour. */ MILES_PER_HOUR = "miles_per_hour" } export type ChargeTotalInput = { /** Value of the temperature of the battery. */ value: Scalars["Float"]; /** Preferred unit for the total charge amount. */ type: StateOfChargeUnit; /** Source of inputted data, defaults to 'manual'. */ source?: Maybe; }; /** A grouped representation of EVSEs. */ export type Charger = { /** Type of a charger. */ standard?: Maybe; /** Power of a charger, in kW. */ power?: Maybe; /** Price of a charger. */ price?: Maybe; /** Charging speed. */ speed?: Maybe; /** Statuses of all the EVSEs grouped in a charger. */ status?: Maybe; /** Total number of EVSEs grouped in a charger. */ total?: Maybe; }; export enum ChargerStatus { /** The charger is free. */ FREE = "free", /** The charger is occupied/busy. */ BUSY = "busy", /** The charger is unknown. */ UNKNOWN = "unknown", /** The charger has an error. */ ERROR = "error" } /** Grouping by status of the chargers. */ export type ChargerStatuses = { /** How many are free. */ free?: Maybe; /** How many are busy. */ busy?: Maybe; /** How many are unknown. */ unknown?: Maybe; /** How many are not available. */ error?: Maybe; }; /** * Chargetrip's custom real-world range provides a carefully calculated display range for all-electric vehicle models. * Chargetrip range is based on the theoretical distance driven using only the electric engine. * Vehicles that do not have a full electric drivetrain type (all except Battery Electric Vehicles / BEV) therefore return relatively small ranges. * More information on the CT range can be found at https://chargetrip.com/blog/what-is-ct-real-range */ export type ChargetripRange = { /** * Range calculated using the worst conditions. * Worst conditions are based on -0°C, including use of heating. * More information on the CT range can be found at https://chargetrip.com/blog/what-is-ct-real-range */ worst?: Maybe; /** * Range calculated using the best conditions. * Best conditions are based on 25°C, including use of A/C. * More information on the CT range can be found at https://chargetrip.com/blog/what-is-ct-real-range */ best?: Maybe; }; /** * Chargetrip's custom real-world range provides a carefully calculated display range for all-electric vehicle models. * Chargetrip range is based on the theoretical distance driven using only the electric engine. * Vehicles that do not have a full electric drivetrain type (all except Battery Electric Vehicles / BEV) therefore return relatively small ranges. * More information on the CT range can be found at https://chargetrip.com/blog/what-is-ct-real-range */ export type ChargetripRangeworstArgs = { unit?: Maybe; }; /** * Chargetrip's custom real-world range provides a carefully calculated display range for all-electric vehicle models. * Chargetrip range is based on the theoretical distance driven using only the electric engine. * Vehicles that do not have a full electric drivetrain type (all except Battery Electric Vehicles / BEV) therefore return relatively small ranges. * More information on the CT range can be found at https://chargetrip.com/blog/what-is-ct-real-range */ export type ChargetripRangebestArgs = { unit?: Maybe; }; export type ChargingBehaviour = { /** Charging behaviour of users divided in groups, based on real-time information. */ code?: Maybe; /** Description of charging behaviour. */ description?: Maybe; }; export enum ChargingBehaviourCode { /** Mainly morning charging, and some mixed afternoon and evening charging. */ URBAN_CHARGING = "URBAN_CHARGING", /** Mainly fast charging, with some morning and afternoon charging. */ FAST_CHARGING = "FAST_CHARGING", /** Mixed behaviour between morning, afternoon, evening, overnight, and noise charging. */ MIXED_CHARGING = "MIXED_CHARGING", /** Mainly noise charging. */ NOISE_CHARGING = "NOISE_CHARGING", /** Mainly overnight charging. */ OVERNIGHT_CHARGING = "OVERNIGHT_CHARGING", /** Mainly morning charging, with some afternoon charging. */ OFFICE_CHARGING = "OFFICE_CHARGING" } export enum CongestionLevel { /** Congestion level is unknown or could not be determined. */ UNKNOWN = "unknown", /** Traffic is flowing freely with little to no delay. */ LOW = "low", /** Increased traffic volume causing minor delays. */ MEDIUM = "medium", /** Significant traffic volume causing heavy delays and potential standstills. */ HIGH = "high" } export type Connect = { /** List of connectivity providers to which the vehicle can connect. This field returns null for free users. Please contact customer success for more information. */ providers?: Maybe>; }; export type ConnectBattery = { /** Estimated range by OEM */ range?: Maybe; /** Percentage of the battery remaining */ percentage?: Maybe; /** Capacity of the battery, in kwh */ capacity?: Maybe; /** Date when the battery data was retrieved, as ISO-8601 date */ date?: Maybe; }; export type ConnectCharge = { /** Vehicle is plugged in */ is_plugged_in?: Maybe; /** Vehicle is charging */ is_charging?: Maybe; /** Battery is fully charged */ is_fully_charged?: Maybe; /** Charge limit defined by vehicle owner */ limit?: Maybe; /** Charge speed, in kwh */ charge_speed?: Maybe; /** Estimation when charging is completed, as ISO-8601 date */ fully_charged_at?: Maybe; /** Estimated minutes till charged */ minutes_till_charged?: Maybe; /** Date when the charge data was retrieved, as ISO-8601 date */ date?: Maybe; }; export type ConnectFilter = { /** List of connectivity providers to which a vehicle can connect. */ providers?: Maybe>>; }; /** Location of the vehicle */ export type ConnectLocation = { /** Feature type */ type: FeatureType; /** Geometry of the feature */ geometry: GeometryPoint; /** Properties object containing meta data about the feature point */ properties?: Maybe; }; /** Properties of a vehicle location */ export type ConnectLocationProperties = { /** Date when the location was retrieved, as ISO-8601 date */ date: Scalars["DateTime"]; }; export type ConnectOdometer = { /** Odometer value, distance driven, default in km */ distance?: Maybe; /** Date when the odometer data was retrieved, as ISO-8601 date */ date?: Maybe; }; export enum ConnectProvider { ENODE = "Enode" } export enum ConnectScope { /** Vehicle location, applicable for: Enode */ LOCATION = "location", /** Charge state, applicable for: Enode */ CHARGE_STATE = "charge_state", /** Odometer reading, applicable for: Enode */ ODOMETER = "odometer" } export type ConnectedVehicle = { /** Unique ID of the connected vehicle */ id: Scalars["ID"]; /** Unique ID of the vehicle */ vehicle_id: Scalars["ID"]; /** Status of the connected vehicle */ status: ConnectedVehicleStatus; /** URL to connect the vehicle to the connectivity provider */ authorization_url?: Maybe; /** Connectivity provider */ provider: CarConnectivityProvider; /** Scope for accessing the vehicle */ scope?: Maybe>>; /** Custom label for a connected vehicle that can be assigned by a user */ label?: Maybe; /** Vehicle identification number, unique identifier for a vehicle */ vin?: Maybe; }; export type ConnectedVehicleListFilter = { /** Status of the connected vehicle */ status?: Maybe>; }; export enum ConnectedVehicleStatus { /** Vehicle was added to the Chargetrip Connect platform but not yet authorized */ PENDING_AUTHORIZATION = "pending_authorization", /** Vehicle was authorized. Chargetrip can retrieve data on behave of the user */ AUTHORIZED = "authorized", /** Pending vehicle removal */ PENDING_REMOVAL = "pending_removal", /** Vehicle was removed and access has been revoked */ REMOVED = "removed" } /** Connector data which extends OCPI Connector. */ export type Connector = { /** Identifier of a connector within an EVSE. Two connectors may have the same ID as long as they do not belong to the same EVSE object. */ id?: Maybe; /** Standard of an installed connector. */ standard?: Maybe; /** Format (socket/cable) of an installed connector. */ format?: Maybe; /** Type of power of an installed connector. */ power_type?: Maybe; /** Maximum voltage of an connector (line to neutral for AC_3_PHASE), in volt [V]. For example: DC Chargers might vary the voltage during charging when battery almost full. */ max_voltage?: Maybe; /** Maximum amperage of a connector, in ampere [A]. */ max_amperage?: Maybe; /** * Maximum electric power that can be delivered by a connector, in watt [W]. When the maximum electric power is lower than the calculated value from voltage and amperage, this value should be set. * For example: A DC Charge Point which can deliver up to 920V and up to 400A can be limited to a maximum of 150kW. Depending on the vehicle, it may supply maximum voltage or current, but not both at the same time. * For AC Charge Points, the amount of phases used can also have influence on the maximum power. */ max_electric_power?: Maybe; /** Maximum electric power in kW. */ power?: Maybe; /** * Identifiers of the currently valid charging tariffs. Multiple tariffs are possible, but only one of each Tariff.type can be active at the same time. Tariffs with the same type are only allowed, if they are not active at the same time: start_date_time and end_date_time period not overlapping. * When preference-based smart charging is supported, one tariff for every possible ProfileType should be provided. This tells the user about the options they have at this Connector, and what the tariff is for every option. * For a "free of charge" tariff, this field should be set and point to a defined "free of charge" tariff. */ tariff_ids?: Maybe>>; /** URL to an operator’s terms and conditions. */ terms_and_conditions?: Maybe; /** Timestamp when a connector was last updated (or created). */ last_updated?: Maybe; /** Optional object where you can store custom data you need in your application. This extends the current functionalities we offer. */ properties?: Maybe; /** List of valid charging tariffs. */ tariff?: Maybe>>; /** * Charging prices. * @deprecated In favor of `prices`. */ pricing?: Maybe; /** Dynamic charging prices. */ prices?: Maybe>; /** Custom properties of a connector. These are vendor specific and will return null values on the fields that are not supported by your station database. */ custom_properties?: Maybe; }; /** Custom properties for connectors. */ export type ConnectorCustomProperties = { /** * Charging prices. * @deprecated In favor of `connector.prices`. */ pricing?: Maybe; /** Custom connector properties for OICP databases. Station databases that not follow the OICP standard return null values. */ oicp?: Maybe; }; /** Connector charging price. */ export type ConnectorPrice = { /** ID for the price. */ external_id: Scalars["String"]; /** Owner of the payment product. */ partner?: Maybe; /** ID for the owner of the payment product. */ partner_id: Scalars["String"]; /** Payment product. */ product: ConnectorPriceProduct; /** Price product elements. */ elements: Array; /** Indicates when the pricing data was last updated. The date is in ISO 8601 standard and the time zone is UTC. The update could be a price update or any other update (for example, pricing type update). */ last_updated?: Maybe; }; export type ConnectorPriceElement = { /** Connector price element components. */ components: Array; /** Connector price element restrictions. */ restrictions?: Maybe; }; export type ConnectorPriceElementComponent = { /** Type of pricing that is applicable. */ type: ConnectorPriceElementComponentType; /** Applicable price excluding VAT. */ price_excl_vat: Scalars["Float"]; /** Applicable VAT. */ vat: Scalars["Float"]; /** * Indicates the minimum amount that is billed. A * unit is billed in step-size blocks. For example, if the type is TIME and step_size is 300, then the time is billed in blocks of 5 minutes. Hence, if 6 minutes is used, then 10 minutes (2 blocks of step_size) is billed. * * Note: step_size also depends on the type. Every type (except FLAT) defines a step_size multiplier. This is the size of every 'step' and the unit. For example, PARKING_TIME has a step-size multiplier of 1 second. Therefore, the step_size of a price component is multiplied by 1 second. Thus, step_size = 300 means 300 seconds. */ step_size: Scalars["Int"]; }; /** Type of pricing that is applicable. */ export enum ConnectorPriceElementComponentType { /** Price per kWh. */ ENERGY = "energy", /** Fixed price per charging session. */ FLAT = "flat", /** Parking price per hour. This fee is applicable even if the parked car is not charging. */ PARKING_TIME = "parking_time", /** Fixed price per unit of time defined in the step size. */ TIME = "time" } export type ConnectorPriceElementRestrictions = { /** Starting time of the day for the prices. */ start_time?: Maybe; /** Ending time of the day for the prices. */ end_time?: Maybe; /** Starting date for the prices. */ start_date?: Maybe; /** Ending date for the prices. */ end_date?: Maybe; /** Minimum energy used, in kWh. */ minimum_kwh?: Maybe; /** Maximum energy used, in kWh. */ maximum_kwh?: Maybe; /** Minimum charging speed, in kW. */ minimum_power?: Maybe; /** Maximum charging speed, in kW. */ maximum_power?: Maybe; /** Sum of the minimum current (in Amperes) over all the phases. When the EV is charging with more than or equal to this value the prices are active. If the charging current is lower, this price is inactive. */ minimum_current?: Maybe; /** Sum of the maximum current (in Amperes) over all the phases. When the EV is charging with less than this value the prices are active. If the charging current is higher, this price is inactive. */ maximum_current?: Maybe; /** Minimum price based on the amount of kWh that is being delivered. */ minimum_price?: Maybe; /** Maximum price based on the amount of kWh that is being delivered. */ maximum_price?: Maybe; /** Battery percentage at which the overstay prices are active. */ overstay_battery_percentage?: Maybe< ConnectorPriceRestrictionsOverstayBatteryPercentage >; /** Time after which the overstay prices are active. */ overstay_time?: Maybe; /** Minimum duration, in seconds. */ minimum_duration?: Maybe; /** Maximum duration, in seconds. */ maximum_duration?: Maybe; /** Day(s) of the week that the prices are valid. */ day_of_week?: Maybe>; /** Contract signed between the eMSP and the customer. */ emsp_contract_date?: Maybe; /** * When this field is present, the ConnectorPriceElement describes reservation costs. * A reservation starts when the reservation is made, and ends when the driver starts charging on the reserved EVSE/Location, * or when the reservation expires. A reservation can only have: `flat` and `time` ConnectorPriceElementComponentType, * where time is for the duration of the reservation. * * When a price has both, `reservation` and `reservation_expires` ConnectorPriceElement, * where both ConnectorPriceElement have a time ConnectorPriceElementComponent, * then the time based cost of an expired reservation will be calculated based on the `reservation_expires` ConnectorPriceElement. */ reservation?: Maybe; }; /** Payment product. */ export type ConnectorPriceProduct = { /** Name of the payment product. */ name: Scalars["String"]; /** Type of the payment product. */ type: ConnectorPriceProductType; /** A brief description of the product. */ description: Scalars["String"]; /** Indicates the type of subscription. */ subscription_type: ConnectorPriceProductSubscriptionType; /** Subscription price for a month or year, excluding VAT, if applicable. */ subscription_fee_excl_vat: Scalars["Float"]; /** Three-digit currency code of the country where the charging station is located. */ currency: CurrencyUnit; }; /** Type of the payment product. */ export enum ConnectorPriceProductSubscriptionType { /** The subscription fee is applicable every month. */ MONTHLY = "monthly", /** The subscription fee is applicable every year. */ YEARLY = "yearly", /** An initial fee is applicable to purchase a RFID card or chip, but there isn't a recurring subscription fee. */ ONE_OFF = "one_off", /** The product doesn’t have a subscription option. */ NOT_APPLICABLE = "not_applicable" } /** Type of the payment product. */ export enum ConnectorPriceProductType { AD_HOC = "ad_hoc", MSP = "msp", CPO_SUBSCRIPTION = "cpo_subscription" } export type ConnectorPriceRestrictionsEmspContractDate = { /** Name of the contract signed between the eMSP and a customer. */ name?: Maybe; /** Prices are active from this date, which is based on the contract signed between the eMSP and a customer. */ from?: Maybe; /** Prices are active until this date, which is based on the contract signed between the eMSP and a customer. */ to?: Maybe; }; export type ConnectorPriceRestrictionsOverstayBatteryPercentage = { /** Battery percentage at which the overstay prices are active. */ minimum?: Maybe; /** Battery percentage at which the overstay prices are inactive. */ maximum?: Maybe; /** Unit for the time after which the prices are active. */ unit?: Maybe; }; export type ConnectorPriceRestrictionsOverstayTime = { /** Time at which the overstay prices are active. */ minimum?: Maybe; /** Time at which the overstay prices are inactive. */ maximum?: Maybe; /** Unit for the time after which the prices are active. */ unit?: Maybe; }; /** The unit of time after which the overstay restrictions are applicable. */ export enum ConnectorPriceRestrictionsOverstayTimeUnit { /** The overstay restrictions are applicable after a certain number of seconds. */ SECONDS = "seconds", /** The overstay restrictions are applicable after a certain number of minutes. */ MINUTES = "minutes", /** The overstay restrictions are applicable after a certain number of hours. */ HOURS = "hours" } /** Describes the cost associated with reserving a charging station. */ export enum ConnectorPriceRestrictionsReservationType { /** Describes costs for a reservation. */ RESERVATION = "reservation", /** Describes costs for a reservation that expires (i.e. driver does not start a charging session before expiry date of the reservation). */ RESERVATION_EXPIRES = "reservation_expires" } /** Socket or plug standard of the charging point. */ export enum ConnectorType { /** The connector type is CHAdeMO, DC. */ CHADEMO = "CHADEMO", /** Standard/domestic household, type "A", NEMA 1-15, 2 pins. */ DOMESTIC_A = "DOMESTIC_A", /** Standard/domestic household, type "B", NEMA 5-15, 3 pins. */ DOMESTIC_B = "DOMESTIC_B", /** Standard/domestic household, type "C", CEE 7/17, 2 pins. */ DOMESTIC_C = "DOMESTIC_C", /** Standard/domestic household, type "D", 3 pins. */ DOMESTIC_D = "DOMESTIC_D", /** Standard/domestic household, type "E", CEE 7/5 3 pins. */ DOMESTIC_E = "DOMESTIC_E", /** Standard/domestic household, type "F", CEE 7/4, Schuko, 3 pins. */ DOMESTIC_F = "DOMESTIC_F", /** Standard/domestic household, type "G", BS 1363, Commonwealth, 3 pins. */ DOMESTIC_G = "DOMESTIC_G", /** Standard/domestic household, type "H", SI-32, 3 pins. */ DOMESTIC_H = "DOMESTIC_H", /** Standard/domestic household, type "I", AS 3112, 3 pins. */ DOMESTIC_I = "DOMESTIC_I", /** Standard/domestic household, type "J", SEV 1011, 3 pins. */ DOMESTIC_J = "DOMESTIC_J", /** Standard/domestic household, type "K", DS 60884-2-D1, 3 pins. */ DOMESTIC_K = "DOMESTIC_K", /** Standard/domestic household, type "L", CEI 23-16-VII, 3 pins. */ DOMESTIC_L = "DOMESTIC_L", /** Standard/Domestic household, type "M", BS 546, 3 pins. */ DOMESTIC_M = "DOMESTIC_M", /** Standard/Domestic household, type "N", NBR 14136, 3 pins. */ DOMESTIC_N = "DOMESTIC_N", /** Standard/Domestic household, type "O", TIS 166-2549, 3 pins. */ DOMESTIC_O = "DOMESTIC_O", /** IEC 60309-2 Industrial connector single phase 16 amperes (usually blue). */ IEC_60309_2_SINGLE_16 = "IEC_60309_2_single_16", /** IEC 60309-2 Industrial connector three phase 16 amperes (usually red). */ IEC_60309_2_THREE_16 = "IEC_60309_2_three_16", /** IEC 60309-2 Industrial connector three phase 32 amperes (usually red). */ IEC_60309_2_THREE_32 = "IEC_60309_2_three_32", /** IEC 60309-2 Industrial connector three phase 64 amperes (usually red). */ IEC_60309_2_THREE_64 = "IEC_60309_2_three_64", /** IEC 62196 Type 1 "SAE J1772". */ IEC_62196_T1 = "IEC_62196_T1", /** Combo Type 1 based, DC. */ IEC_62196_T1_COMBO = "IEC_62196_T1_COMBO", /** IEC 62196 Type 2 "Mennekes". */ IEC_62196_T2 = "IEC_62196_T2", /** Combo Type 2 based, DC. */ IEC_62196_T2_COMBO = "IEC_62196_T2_COMBO", /** IEC 62196 Type 3A. */ IEC_62196_T3A = "IEC_62196_T3A", /** IEC 62196 Type 3C "Scame". */ IEC_62196_T3C = "IEC_62196_T3C", /** On-board bottom-up-pantograph typically for bus charging. */ PANTOGRAPH_BOTTOM_UP = "PANTOGRAPH_BOTTOM_UP", /** Off-board top-down-pantograph typically for bus charging. */ PANTOGRAPH_TOP_DOWN = "PANTOGRAPH_TOP_DOWN", /** Tesla connector "Roadster"-type (round, 4 pins). */ TESLA_R = "TESLA_R", /** Tesla connector "Model-S"-type (oval, 5 pins). */ TESLA_S = "TESLA_S", /** The connector type is GB_T (Chinese standard), DC. */ GB_T = "GB_T", /** The ChaoJi connector. The new generation charging connector, harmonized between CHAdeMO and GB/T. DC. */ CHAOJI = "CHAOJI", /** The connector type is NEMA 5-20, 3 pins. */ NEMA_5_20 = "NEMA_5_20", /** The connector type is NEMA 6-30, 3 pins. */ NEMA_6_30 = "NEMA_6_30", /** The connector type is NEMA 6-50, 3 pins. */ NEMA_6_50 = "NEMA_6_50", /** The connector type is NEMA 10-30, 3 pins. */ NEMA_10_30 = "NEMA_10_30", /** The connector type is NEMA 10-50, 3 pins. */ NEMA_10_50 = "NEMA_10_50", /** The connector type is NEMA 14-30, 3 pins, rating of 30 A. */ NEMA_14_30 = "NEMA_14_30", /** The connector type is NEMA 14-50, 3 pins, rating of 50 A. */ NEMA_14_50 = "NEMA_14_50", /** Guobiao GB/T 20234.2 AC socket/connector. */ GBT_AC = "GBT_AC", /** Guobiao GB/T 20234.3 DC connector. */ GBT_DC = "GBT_DC" } export enum ConsumptionUnit { /** Return the consumption in kilowatt hours per 100 kilometers. */ KILOWATT_HOURS_PER_100_KILOMETERS = "kilowatt_hours_per_100_kilometers", /** Return the consumption in watt hours per kilometer. */ WATT_HOURS_PER_KILOMETER = "watt_hours_per_kilometer", /** Return the consumption in kilometers per kilowatt hour. */ KILOMETERS_PER_KILOWATT_HOUR = "kilometers_per_kilowatt_hour", /** Return the consumption in kilowatt hours per 100 miles. */ KILOWATT_HOURS_PER_100_MILES = "kilowatt_hours_per_100_miles", /** Return the consumption in watt hours per mile. */ WATT_HOURS_PER_MILE = "watt_hours_per_mile", /** Return the consumption in miles per kilowatt hour. */ MILES_PER_KILOWATT_HOUR = "miles_per_kilowatt_hour" } /** The complete contact information. */ export type Contact = { /** The phone number in international format. */ phone?: Maybe; /** The email address. */ email?: Maybe; /** The absolute URL of the website. */ website?: Maybe; /** The absolute URL of the facebook profile page. */ facebook?: Maybe; /** The absolute URL of the twitter profile page. */ twitter?: Maybe; /** Optional object where you can store custom data you need in your application. This extends the current functionalities we offer. */ properties?: Maybe; }; /** ISO-3166 alpha-2 country codes. */ export enum CountryCodeAlpha2 { AA = "AA", AD = "AD", AE = "AE", AF = "AF", AG = "AG", AI = "AI", AL = "AL", AM = "AM", AN = "AN", AO = "AO", AQ = "AQ", AR = "AR", AS = "AS", AT = "AT", AU = "AU", AW = "AW", AX = "AX", AZ = "AZ", BA = "BA", BB = "BB", BD = "BD", BE = "BE", BF = "BF", BG = "BG", BH = "BH", BI = "BI", BJ = "BJ", BL = "BL", BM = "BM", BN = "BN", BO = "BO", BQ = "BQ", BR = "BR", BS = "BS", BT = "BT", BV = "BV", BW = "BW", BY = "BY", BZ = "BZ", CA = "CA", CC = "CC", CD = "CD", CF = "CF", CG = "CG", CH = "CH", CI = "CI", CK = "CK", CL = "CL", CM = "CM", CN = "CN", CO = "CO", CR = "CR", CS = "CS", CU = "CU", CV = "CV", CW = "CW", CX = "CX", CY = "CY", CZ = "CZ", DE = "DE", DJ = "DJ", DK = "DK", DM = "DM", DO = "DO", DZ = "DZ", EC = "EC", EE = "EE", EG = "EG", EH = "EH", ER = "ER", ES = "ES", ET = "ET", FI = "FI", FJ = "FJ", FK = "FK", FM = "FM", FO = "FO", FR = "FR", GA = "GA", GB = "GB", GD = "GD", GE = "GE", GF = "GF", GG = "GG", GH = "GH", GI = "GI", GL = "GL", GM = "GM", GN = "GN", GP = "GP", GQ = "GQ", GR = "GR", GS = "GS", GT = "GT", GU = "GU", GW = "GW", GY = "GY", HK = "HK", HM = "HM", HN = "HN", HR = "HR", HT = "HT", HU = "HU", ID = "ID", IE = "IE", IL = "IL", IM = "IM", IN = "IN", IO = "IO", IQ = "IQ", IR = "IR", IS = "IS", IT = "IT", JE = "JE", JM = "JM", JO = "JO", JP = "JP", KE = "KE", KG = "KG", KH = "KH", KI = "KI", KM = "KM", KN = "KN", KP = "KP", KR = "KR", KW = "KW", KY = "KY", KZ = "KZ", LA = "LA", LB = "LB", LC = "LC", LI = "LI", LK = "LK", LR = "LR", LS = "LS", LT = "LT", LU = "LU", LV = "LV", LY = "LY", MA = "MA", MC = "MC", MD = "MD", ME = "ME", MF = "MF", MG = "MG", MH = "MH", MK = "MK", ML = "ML", MM = "MM", MN = "MN", MO = "MO", MP = "MP", MQ = "MQ", MR = "MR", MS = "MS", MT = "MT", MU = "MU", MV = "MV", MW = "MW", MX = "MX", MY = "MY", MZ = "MZ", NA = "NA", NC = "NC", NE = "NE", NF = "NF", NG = "NG", NI = "NI", NL = "NL", NO = "NO", NP = "NP", NR = "NR", NU = "NU", NZ = "NZ", OM = "OM", PA = "PA", PE = "PE", PF = "PF", PG = "PG", PH = "PH", PK = "PK", PL = "PL", PM = "PM", PN = "PN", PR = "PR", PS = "PS", PT = "PT", PW = "PW", PY = "PY", QA = "QA", RE = "RE", RKS = "RKS", RO = "RO", RS = "RS", RU = "RU", RW = "RW", SA = "SA", SB = "SB", SC = "SC", SD = "SD", SE = "SE", SG = "SG", SH = "SH", SI = "SI", SJ = "SJ", SK = "SK", SL = "SL", SM = "SM", SN = "SN", SO = "SO", SR = "SR", SS = "SS", ST = "ST", SV = "SV", SX = "SX", SY = "SY", SZ = "SZ", TC = "TC", TD = "TD", TF = "TF", TG = "TG", TH = "TH", TJ = "TJ", TK = "TK", TL = "TL", TM = "TM", TN = "TN", TO = "TO", TR = "TR", TT = "TT", TV = "TV", TW = "TW", TZ = "TZ", UA = "UA", UG = "UG", UM = "UM", US = "US", UY = "UY", UZ = "UZ", VA = "VA", VC = "VC", VE = "VE", VG = "VG", VI = "VI", VN = "VN", VU = "VU", WF = "WF", WS = "WS", XK = "XK", YE = "YE", YT = "YT", ZA = "ZA", ZM = "ZM", ZW = "ZW" } export type CreateConnectedVehicleInput = { /** Id from the vehicle */ vehicle_id: Scalars["ID"]; /** Connectivity provider used to retrieve data from the vehicle */ provider: CarConnectivityProvider; /** Label for a connected vehicle */ label?: Maybe; /** Provider specific options. See the developer portal for more details */ options: CreateConnectedVehicleOptions; }; export type CreateConnectedVehicleOptions = { /** Redirect uri */ redirect_uri?: Maybe; /** Scope */ scope?: Maybe>; }; export type CreateRoute = { /** Vehicle used on a route. */ vehicle: RouteVehicle; /** Origin of a route. */ origin: RouteOriginFeaturePoint; /** Destination of a route. */ destination: RouteDestinationFeaturePoint; /** Via points of a route. */ via?: Maybe>; /** Operator preferences for a route. When provided, prefers routes that use higher order operators. */ operators?: Maybe; /** * Season of a route. * @deprecated In favor of `weather`. */ season?: Maybe; /** Alternative stations along a route within a specified radius of 500 to 5000 meters, or the equivalent in another unit. */ alternative_station_radius?: Maybe; /** [BETA] Number of alternative routes to request. */ alternative_routes?: Maybe; /** Route departure time. Used to calculate the expected arrival time and, if set in the past, to apply historical weather data. */ departure_time: Scalars["DateTime"]; /** [BETA] List of route features to avoid in a route. This is a best-effort preference; depending on the available routes, some features may not be fully avoidable. */ avoid?: Maybe>; /** [BETA] Configuration options for the route's driving conditions. Includes factors to adjust average speed, set a maximum speed, and define a base driving style. If not specified, no adjustments are applied. */ driving_preferences?: Maybe; /** Weather configuration for the route. Defined by a preset or custom weather conditions. */ weather?: Maybe; /** Charging stations preferences for route calculation. */ station_preferences?: Maybe; /** [BETA] Indicates whether current traffic conditions were considered during route calculation. This feature is disabled by default and requires explicit enablement for your project. Please contact Chargetrip support for more information. */ traffic_aware?: Maybe; }; /** Input for the create route mutation. */ export type CreateRouteInput = { /** Vehicle specific input. */ vehicle: RouteVehicleInput; /** Origin of a route. */ origin: RouteOriginFeaturePointInput; /** Destination of a route. */ destination: RouteDestinationFeaturePointInput; /** Optional via points of a route. */ via?: Maybe>; /** Operator preferences and restrictions for route calculation. If not specified, excludes operators per project settings, but applies no operator ranking. */ operators?: Maybe; /** Optional flag to specify the season. */ season?: Maybe; /** Alternative stations along a route within a specified radius of 500 to 5000 meters, or the equivalent in another unit. */ alternative_station_radius?: Maybe; /** [BETA] Additional alternative routes to calculate. Performed on a best-effort basis, it may return fewer than requested, or even none. Set to 0 to create only the recommended route. */ alternative_routes?: Maybe; /** Route departure time. Used to calculate the expected arrival time and, if set in the past, to apply historical weather data. */ departure_time?: Maybe; /** [BETA] Optional list of route features to avoid in a route. This is a best-effort preference; depending on the available routes, some features may not be fully avoidable. */ avoid?: Maybe>; /** Weather configuration for the route. Defined by a preset or custom weather conditions. */ weather?: Maybe; /** Charging stations preferences for route calculation. */ station_preferences?: Maybe; /** [BETA] Configuration options for the route's driving conditions. Includes factors to adjust average speed, set a maximum speed, and define a base driving style. If not specified, no adjustments are applied. */ driving_preferences?: Maybe; /** [BETA] Route should consider current traffic conditions. This feature is disabled by default and requires explicit enablement for your project. Please contact Chargetrip support for more information. */ traffic_aware?: Maybe; }; /** Currency in the ISO 4217 format. */ export enum Currency { AED = "AED", AFN = "AFN", ALL = "ALL", AMD = "AMD", ANG = "ANG", AOA = "AOA", ARS = "ARS", AUD = "AUD", AWG = "AWG", AZN = "AZN", BAM = "BAM", BBD = "BBD", BDT = "BDT", BGN = "BGN", BHD = "BHD", BIF = "BIF", BMD = "BMD", BND = "BND", BOB = "BOB", BRL = "BRL", BSD = "BSD", BTN = "BTN", BWP = "BWP", BYN = "BYN", BYR = "BYR", BZD = "BZD", CAD = "CAD", CDF = "CDF", CHF = "CHF", CLF = "CLF", CLP = "CLP", CNY = "CNY", COP = "COP", CRC = "CRC", CUC = "CUC", CUP = "CUP", CVE = "CVE", CZK = "CZK", DJF = "DJF", DKK = "DKK", DOP = "DOP", DZD = "DZD", EGP = "EGP", ERN = "ERN", ETB = "ETB", EUR = "EUR", FJD = "FJD", FKP = "FKP", GBP = "GBP", GEL = "GEL", GGP = "GGP", GHS = "GHS", GIP = "GIP", GMD = "GMD", GNF = "GNF", GTQ = "GTQ", GYD = "GYD", HKD = "HKD", HNL = "HNL", HRK = "HRK", HTG = "HTG", HUF = "HUF", IDR = "IDR", ILS = "ILS", IMP = "IMP", INR = "INR", IQD = "IQD", IRR = "IRR", ISK = "ISK", JEP = "JEP", JMD = "JMD", JOD = "JOD", JPY = "JPY", KES = "KES", KGS = "KGS", KHR = "KHR", KMF = "KMF", KPW = "KPW", KRW = "KRW", KWD = "KWD", KYD = "KYD", KZT = "KZT", LAK = "LAK", LBP = "LBP", LKR = "LKR", LRD = "LRD", LSL = "LSL", LTL = "LTL", LVL = "LVL", LYD = "LYD", MAD = "MAD", MDL = "MDL", MGA = "MGA", MKD = "MKD", MMK = "MMK", MNT = "MNT", MOP = "MOP", MRO = "MRO", MUR = "MUR", MVR = "MVR", MWK = "MWK", MXN = "MXN", MYR = "MYR", MZN = "MZN", NAD = "NAD", NGN = "NGN", NIO = "NIO", NOK = "NOK", NPR = "NPR", NZD = "NZD", OMR = "OMR", PAB = "PAB", PEN = "PEN", PGK = "PGK", PHP = "PHP", PKR = "PKR", PLN = "PLN", PYG = "PYG", QAR = "QAR", RON = "RON", RSD = "RSD", RUB = "RUB", RWF = "RWF", SAR = "SAR", SBD = "SBD", SCR = "SCR", SDG = "SDG", SEK = "SEK", SGD = "SGD", SHP = "SHP", SLL = "SLL", SOS = "SOS", SRD = "SRD", STD = "STD", SVC = "SVC", SYP = "SYP", SZL = "SZL", THB = "THB", TJS = "TJS", TMT = "TMT", TND = "TND", TOP = "TOP", TRY = "TRY", TTD = "TTD", TWD = "TWD", TZS = "TZS", UAH = "UAH", UGX = "UGX", USD = "USD", UYU = "UYU", UZS = "UZS", VEF = "VEF", VND = "VND", VUV = "VUV", WST = "WST", XAF = "XAF", XAG = "XAG", XAU = "XAU", XCD = "XCD", XDR = "XDR", XOF = "XOF", XPF = "XPF", YER = "YER", ZAR = "ZAR", ZMK = "ZMK", ZMW = "ZMW", ZWL = "ZWL", XPT = "XPT", XPD = "XPD", BTC = "BTC", ETH = "ETH", BNB = "BNB", XRP = "XRP", SOL = "SOL", DOT = "DOT", AVAX = "AVAX", MATIC = "MATIC", LTC = "LTC", ADA = "ADA" } /** Currency according to the ISO 4217 standard. */ export enum CurrencyUnit { /** Return the currency in EUR. */ EUR = "EUR", /** Return the currency in USD. */ USD = "USD", /** Return the currency in GBP. */ GBP = "GBP", AED = "AED", AFN = "AFN", ALL = "ALL", AMD = "AMD", ANG = "ANG", AOA = "AOA", ARS = "ARS", AUD = "AUD", AWG = "AWG", AZN = "AZN", BAM = "BAM", BBD = "BBD", BDT = "BDT", BGN = "BGN", BIF = "BIF", BMD = "BMD", BND = "BND", BOB = "BOB", BRL = "BRL", BSD = "BSD", BWP = "BWP", BYN = "BYN", BZD = "BZD", CAD = "CAD", CDF = "CDF", CHF = "CHF", CLP = "CLP", CNY = "CNY", COP = "COP", CRC = "CRC", CVE = "CVE", CZK = "CZK", DJF = "DJF", DKK = "DKK", DOP = "DOP", DZD = "DZD", EGP = "EGP", ETB = "ETB", FJD = "FJD", FKP = "FKP", GEL = "GEL", GIP = "GIP", GMD = "GMD", GNF = "GNF", GTQ = "GTQ", GYD = "GYD", HKD = "HKD", HNL = "HNL", HTG = "HTG", HUF = "HUF", IDR = "IDR", ILS = "ILS", INR = "INR", ISK = "ISK", JMD = "JMD", JPY = "JPY", KES = "KES", KGS = "KGS", KHR = "KHR", KMF = "KMF", KRW = "KRW", KYD = "KYD", KZT = "KZT", LAK = "LAK", LBP = "LBP", LKR = "LKR", LRD = "LRD", LSL = "LSL", MAD = "MAD", MDL = "MDL", MGA = "MGA", MKD = "MKD", MMK = "MMK", MNT = "MNT", MOP = "MOP", MUR = "MUR", MVR = "MVR", MWK = "MWK", MXN = "MXN", MYR = "MYR", MZN = "MZN", NAD = "NAD", NGN = "NGN", NIO = "NIO", NOK = "NOK", NPR = "NPR", NZD = "NZD", PAB = "PAB", PEN = "PEN", PGK = "PGK", PHP = "PHP", PKR = "PKR", PLN = "PLN", PYG = "PYG", QAR = "QAR", RON = "RON", RSD = "RSD", RUB = "RUB", RWF = "RWF", SAR = "SAR", SBD = "SBD", SCR = "SCR", SEK = "SEK", SGD = "SGD", SHP = "SHP", SLE = "SLE", SOS = "SOS", SRD = "SRD", STD = "STD", SZL = "SZL", THB = "THB", TJS = "TJS", TOP = "TOP", TRY = "TRY", TTD = "TTD", TWD = "TWD", TZS = "TZS", UAH = "UAH", UGX = "UGX", UYU = "UYU", UZS = "UZS", VND = "VND", VUV = "VUV", WST = "WST", XAF = "XAF", XCD = "XCD", XOF = "XOF", XPF = "XPF", YER = "YER", ZAR = "ZAR", ZMW = "ZMW" } /** Represents a day of the week. */ export enum DayOfWeek { MONDAY = "monday", TUESDAY = "tuesday", WEDNESDAY = "wednesday", THURSDAY = "thursday", FRIDAY = "friday", SATURDAY = "saturday", SUNDAY = "sunday" } export enum DimensionUnit { /** Return the dimension in meters. */ METER = "meter", /** Return the dimension in feet. */ FOOT = "foot", /** Return the dimension in kilometers. */ KILOMETER = "kilometer", /** Return the dimension in miles. */ MILE = "mile" } export type DistanceInput = { /** Value of the distance. */ value: Scalars["Float"]; /** Unit of distance. */ unit: DistanceUnit; }; export enum DistanceUnit { /** Distance in meters. */ METER = "meter", /** Distance in feet. */ FOOT = "foot", /** Distance in kilometers. */ KILOMETER = "kilometer", /** Distance in miles. */ MILE = "mile" } /** EVSE data which extends OCPI EVSE. */ export type EVSE = { /** * Uniquely identifies an EVSE within the CPOs platform (and suboperator platforms). For example a database ID or the actual "EVSE ID". This field can never be changed, modified or renamed. This is the 'technical' identification of the EVSE, not to be used as 'human readable' identification, use the field evse_id for that. * This field is named uid instead of id, because id could be confused with evse_id which is an eMI3 defined field. */ uid?: Maybe; /** Compliant with the following specification for EVSE ID from "eMI3 standard version V1.0" (http://emi3group.com/documents-links/) "Part 2: business objects." Optional because: if an evse_id is to be re-used in the real world, the evse_id can be removed from an EVSE object if the status is set to REMOVED. */ evse_id?: Maybe; /** Indicates the current status of an EVSE. */ status?: Maybe; /** Indicates a planned status update of a nEVSE. */ status_schedule?: Maybe>>; /** List of functionalities that an EVSE is capable of. */ capabilities?: Maybe>>; /** List of available connectors on an EVSE. */ connectors?: Maybe>>; /** Level on which a Charge Point is located (in garage buildings) in the locally displayed numbering scheme. */ floor_level?: Maybe; /** Coordinates of a EVSE. */ coordinates?: Maybe; /** A number/string printed on the outside of an EVSE for visual identification. */ physical_reference?: Maybe; /** Restrictions that apply to a parking spot. */ parking_restrictions?: Maybe>>; /** Links to images related to an EVSE such as photos or logos. */ images?: Maybe>>; /** Timestamp when this EVSE or one of its Connectors was last updated (or created). */ last_updated?: Maybe; /** Indicates if parking is free or paid. */ parking_cost?: Maybe; /** Unique ID of the location in the system of the CPO. */ cpo_external_id?: Maybe; /** Optional object where you can store custom data you need in your application. This extends the current functionalities we offer. */ properties?: Maybe; /** Custom properties of an EVSE. */ custom_properties?: Maybe; }; export type ElectricityGenerationMethod = { /** Fraction of total electricity production. */ fraction: Scalars["Float"]; /** Emissions per kWh of the generation method. */ intensity: Scalars["Float"]; }; export type ElectricityGenerationMethodintensityArgs = { unit?: Maybe; }; export type ElevationInput = { /** Value of the elevation. */ value: Scalars["Float"]; /** Preferred unit for the elevation. */ type: DistanceUnit; /** Source of inputted data, defaults to 'manual'. */ source?: Maybe; }; export enum ElevationUnit { /** Return the elevation in meters. */ METER = "meter", /** Return the elevation in feet. */ FOOT = "foot" } export enum EmissionRateUnit { /** Return the emission rate in grams per kilometer. */ GRAMS_PER_KILOMETER = "grams_per_kilometer", /** Return the emission rate in ounces per mile. */ OUNCES_PER_MILE = "ounces_per_mile" } export enum EmissionUnit { /** Return the emissions in grams. */ GRAM = "gram", /** Return the emissions in ounces. */ OUNCE = "ounce" } export type EmissionsFactor = { /** The name of the area for which the emissions factor was calculated. */ name: Scalars["String"]; /** The type of area for which the emissions factor was calculated. */ type: EmissionsFactorType; /** The base regional emissions factor in CO2e/kWh. */ value: Scalars["Float"]; }; export type EmissionsFactorvalueArgs = { unit?: Maybe; }; /** Emissions factor type. */ export enum EmissionsFactorType { COUNTRY = "country", SUBREGION = "subregion", REGION = "region" } /** Custom EVSE properties for OICP databases such as the global Hubject database. Station databases that not follow the OICP standard return null values. */ export type EvseCustomProperties = { /** OICP standard custom properties. */ oicp?: Maybe; }; /** A GeoJSON Feature. */ export type FeatureLineString = { /** Feature type. */ type: FeatureType; /** Geometry of the feature. */ geometry: LineString; }; /** A GeoJSON Feature. */ export type FeatureMultiPolygon = { /** Feature type. */ type: FeatureType; /** Geometry of the feature. */ geometry: MultiPolygon; /** Properties of the MultiPolygon Feature. */ properties?: Maybe; }; /** A GeoJSON Feature. */ export type FeatureMultiPolygonPoint = { /** Feature type. */ type: FeatureType; /** Geometry of the feature. */ geometry: Point; /** Optional object where you can store custom data you need in your application. */ properties?: Maybe; }; /** A GeoJSON Feature. */ export type FeaturePoint = { /** Feature ID. */ id?: Maybe; /** Feature type. */ type: FeatureType; /** Geometry of the feature. */ geometry: Point; /** Optional object where you can store custom data you need in your application. This extends the current functionalities we offer. */ properties?: Maybe; }; /** A GeoJSON Feature input. */ export type FeaturePointInput = { /** The feature ID. */ id?: Maybe; /** Feature type. */ type: FeatureType; /** Geometry of the feature. */ geometry: PointInput; /** Optional object where you can store custom data you need in your application. This extends the current functionalities we offer. */ properties?: Maybe; }; /** A GeoJSON Feature input. */ export type FeaturePointPolygonInput = { /** Feature type. */ type: FeatureType; /** Geometry of the feature. */ geometry: PointInput; /** Optional object where you can store custom data you need in your application. */ properties?: Maybe; }; /** Properties for Feature input. */ export type FeaturePointPolygonProperties = { /** Name of the location. */ name?: Maybe; }; /** Properties for Feature input. */ export type FeaturePointPolygonPropertiesInput = { /** Name of the location. */ name?: Maybe; }; /** GeoJSON Feature type. */ export enum FeatureType { FEATURE = "Feature" } export type FluidEndOfLifeEmissions = { /** Total fluid end of life emissions. */ total: Scalars["Float"]; /** Wiper fluid end of life emissions. */ wiper: Scalars["Float"]; /** Brake fluid end of life emissions. */ brake: Scalars["Float"]; /** Powertrain coolant fluid end of life emissions. */ powertrain_coolant: Scalars["Float"]; /** Transmission fluid end of life emissions. */ transmission: Scalars["Float"]; /** Motor oil end of life emissions. */ motor_oil?: Maybe; }; export type FluidEndOfLifeEmissionstotalArgs = { unit?: Maybe; }; export type FluidEndOfLifeEmissionswiperArgs = { unit?: Maybe; }; export type FluidEndOfLifeEmissionsbrakeArgs = { unit?: Maybe; }; export type FluidEndOfLifeEmissionspowertrain_coolantArgs = { unit?: Maybe; }; export type FluidEndOfLifeEmissionstransmissionArgs = { unit?: Maybe; }; export type FluidEndOfLifeEmissionsmotor_oilArgs = { unit?: Maybe; }; export type FluidMaintenanceEmissions = { /** Total fluid maintenance emissions. */ total: RouteOperationalMaintenanceEmissionsField; /** Wiper fluid maintenance emissions. */ wiper: RouteOperationalMaintenanceEmissionsField; /** Brake fluid maintenance emissions. */ brake: RouteOperationalMaintenanceEmissionsField; /** Powertrain coolant fluid maintenance emissions. */ powertrain_coolant: RouteOperationalMaintenanceEmissionsField; /** Transmission fluid maintenance emissions. */ transmission: RouteOperationalMaintenanceEmissionsField; /** Motor oil maintenance emissions. */ motor_oil?: Maybe; }; export enum FuelConsumptionUnit { /** Return the fuel consumption in liters per 100 kilometers. */ LITERS_PER_100_KILOMETERS = "liters_per_100_kilometers", /** Return the fuel consumption in miles per gallon. */ MILES_PER_GALLON = "miles_per_gallon" } export enum FuelUnit { /** Return the fuel consumption in liters. */ LITER = "liter", /** Return the fuel consumption in US gallon. */ GALLON = "gallon" } /** Geometry point with GPS coordinates */ export type GeometryPoint = { type: PointType; coordinates: Array; }; /** Mode of heat pump. */ export enum HeatPumpMode { /** Default to the vehicle configuration. */ DEFAULT = "default", /** Vehicle has it installed. */ INSTALLED = "installed", /** Vehicle doesn't have it installed. */ NONE = "none" } /** Allowed N (EU) types of heavy vehicles. */ export enum HeavyVehiclesEUType { /** Only N1 type of heavy vehicles can be parked at the charging station. N1 vehicles have a maximum mass not exceeding 3.5 tonnes (7,700 lbs). */ N1 = "N1", /** Only N2 type of heavy vehicles can be parked at the charging station. N2 vehicles have a maximum mass exceeding 3.5 tonnes but not exceeding 12 tonnes (26,000 lbs). */ N2 = "N2", /** Only N3 type of heavy vehicles can be parked at the charging station. N3 vehicles have a maximum mass exceeding 12 tonnes (26,000 lbs). */ N3 = "N3", /** N3 type of heavy vehicles having O4 type of trailers can be parked at the charging station. N3 vehicles have a maximum mass exceeding 12 tonnes (26,000 lbs) and O4 trailers have a maximum mass exceeding 10 tonnes (22000 lbs). */ N3_O4 = "N3_O4" } /** List of facilities in the location. */ export enum HeavyVehiclesFacility { /** Truck parking. */ TRUCK_PARKING = "TRUCK_PARKING", /** Truck wash. */ TRUCK_WASH = "TRUCK_WASH", /** Truck repair. */ TRUCK_REPAIR = "TRUCK_REPAIR", /** Truck dealership. */ TRUCK_DEALERSHIP = "TRUCK_DEALERSHIP", /** Secure truck parking. */ SECURE_TRUCK_PARKING = "SECURE_TRUCK_PARKING" } export type Isoline = { /** Isoline id. */ id: Scalars["ID"]; /** Isoline status. */ status: IsolineStatus; /** Distance from the origin to the furthest reachable point within the isoline. Represents the longest drivable distance, not a straight-line or vehicle range. */ maximum_distance?: Maybe; /** Shape of the isoline consisting in a list of multipolygons. */ polygons?: Maybe>>; /** List of the ferries uniting islands formed by the isoline. */ ferries?: Maybe>>; /** The inputted request data for the isoline used to compute it. */ request_input?: Maybe; }; export type Isolinemaximum_distanceArgs = { unit?: Maybe; }; export type IsolineCabin = { /** Flag which indicate if the vehicle cabin was preconditioned for the desired temperature. */ is_preconditioned?: Maybe; /** Desired temperature inside the cabin. Default is 20 degrees Celsius or 68 degrees Fahrenheit. */ desired_temperature?: Maybe; }; export type IsolineCabindesired_temperatureArgs = { unit?: Maybe; }; /** Information about the cabin of the vehicle. */ export type IsolineCabinInput = { /** Flag which indicate if the vehicle cabin was preconditioned for the desired temperature. */ is_preconditioned?: Maybe; /** Desired temperature inside the cabin. Default is 20 degrees Celsius or 68 degrees Fahrenheit. */ desired_temperature?: Maybe; }; export enum IsolineFerryConnectionsType { /** Ferry connections should not be included. */ NONE = "none", /** Ferry connections should be taken into account but only one level deep. For example: from the European mainland to England and no other connecting ferries departing from England. */ SINGLE = "single" } export type IsolineInput = { /** Vehicle id. */ vehicle_id: Scalars["ID"]; /** Origin point of the request. */ origin: FeaturePointPolygonInput; /** Numbers of polygons to be generated (maximum: 20). */ polygon_count?: Maybe; /** Vehicle should be able to return to the origin point from any point. */ round_trip?: Maybe; /** Number of occupants. */ occupants?: Maybe; /** Cumulated weight of the occupants. */ total_occupant_weight?: Maybe; /** Cargo weight. */ total_cargo_weight?: Maybe; /** Climate is on. */ climate_control?: Maybe; /** Vehicle Heat Pump configuration. */ heat_pump?: Maybe; /** Vehicle cabin configuration. */ cabin?: Maybe; /** Weather configuration for the isoline. Defined by a preset or custom weather conditions. If not specified, defaults to real-time weather data. */ weather?: Maybe; /** Season to be taken into account when generating the isoline. If not specified, defaults to real-time weather data. */ season?: Maybe; /** Polygons precision quality. */ quality?: Maybe; /** Include ferry connections. Single and multiple ferry connections increase the calculation time and the number of polygons. */ ferry_connections?: Maybe; /** Battery state of charge. Default is usable battery kwh of the inputted vehicle. */ state_of_charge?: Maybe; /** Minimum final battery state of charge. Default is 0 */ final_state_of_charge?: Maybe; /** [BETA] User-defined maximum speed used for the isoline. */ maximum_speed?: Maybe; }; /** Granularity of the isoline. */ export enum IsolineQuality { /** High polygons precisions. */ HIGH = "high", /** Low polygons precisions. */ LOW = "low" } export type IsolineRequestInput = { /** Vehicle id. */ vehicle_id: Scalars["ID"]; /** Origin point of the request. */ origin: FeaturePoint; /** Numbers of polygons that were generated. */ polygon_count?: Maybe; /** Vehicle should be able to return to the origin point from any point. */ round_trip?: Maybe; /** Number of occupants. */ occupants?: Maybe; /** Cumulated weight of the occupants. */ total_occupant_weight?: Maybe; /** Cargo weight. */ total_cargo_weight?: Maybe; /** Climate is on. */ climate_control?: Maybe; /** Vehicle Heat Pump configuration. */ heat_pump?: Maybe; /** Vehicle cabin configuration. */ cabin?: Maybe; /** * Season taken into account when isoline was generated. * @deprecated In favor of weather. */ season?: Maybe; /** Weather configuration for the isoline. Defined by a preset or custom weather conditions. */ weather?: Maybe; /** Polygons precision quality. */ quality?: Maybe; /** Ferry connections. */ ferry_connections?: Maybe; /** Battery state of charge. */ state_of_charge: Scalars["Float"]; /** Minimum final battery state of charge. */ final_state_of_charge: Scalars["Float"]; /** [BETA] Maximum speed to consider when generating the isoline. In the segments where legal speed is lower than this value, the legal speed will be used instead. */ maximum_speed?: Maybe; }; export type IsolineRequestInputtotal_occupant_weightArgs = { unit?: Maybe; }; export type IsolineRequestInputtotal_cargo_weightArgs = { unit?: Maybe; }; export type IsolineRequestInputstate_of_chargeArgs = { unit?: Maybe; }; export type IsolineRequestInputfinal_state_of_chargeArgs = { unit?: Maybe; }; /** Status of the isoline label. */ export enum IsolineStatus { /** Isoline label has been successfully generated. */ DONE = "done", /** Isoline label is under processing. */ PENDING = "pending", /** There was an error while generating the isoline label. */ ERROR = "error" } export type IsolineWeather = { /** Weather configuration applied to the isoline. */ type: WeatherType; /** [BETA] Custom weather conditions applied to the isoline. Only present when 'type' is set to 'CUSTOM'. */ custom?: Maybe; }; export type IsolineWeatherCustomConditions = { /** Average ambient temperature estimated along the isoline. */ temperature: Temperature; /** Atmospheric pressure along the isoline. */ air_pressure: AirPressure; /** Solar irradiance along the isoline. */ solar_irradiance: SolarIrradiance; }; export type IsolineWeatherCustomConditionsInput = { /** Average ambient temperature estimated within the isoline. */ temperature: TemperatureInput; /** Atmospheric pressure within the isoline. */ air_pressure: AirPressureInput; /** Solar irradiance within the isoline. */ solar_irradiance: SolarIrradianceInput; }; export type IsolineWeatherInput = { /** Weather configuration applied within the isoline. */ type?: Maybe; /** [BETA] Custom weather conditions to apply within the isoline. Required only when 'type' is 'CUSTOM'. Must be omitted for other weather types. */ custom?: Maybe; }; /** Types of a leg. */ export enum LegType { /** This leg ends at a charging station and the vehicle must recharge. */ STATION = "station", /** This leg ends at a via charging station and the vehicle must recharge. */ STATIONVIA = "stationVia", /** This leg ends at a scheduled charging station and the vehicle must recharge. */ STATIONAMENITY = "stationAmenity", /** This leg ends at a via location. */ VIA = "via", /** This leg ends at the destination, and is the last leg of the route. */ FINAL = "final", /** This leg ends at the destination which is a charging station, and is the last leg of the route. */ STATIONFINAL = "stationFinal" } /** A GeoJSON LineString. */ export type LineString = { /** LineString type. */ type: LineStringType; /** List of coordinates arrays with longitude as first value and latitude as second one. */ coordinates: Array>>; }; /** GeoJSON LineString type. */ export enum LineStringType { LINESTRING = "LineString" } export type MaximumSpeed = { /** Numeric value of the user-defined maximum speed. */ value: Scalars["Int"]; /** Unit in which speed is measured. */ type: SpeedUnit; }; export type MaximumSpeedInput = { /** Numeric value of the user-defined maximum speed. */ value: Scalars["Int"]; /** Unit in which speed is measured. */ type: SpeedUnit; }; export enum MeasurementUnit { /** Return the measurement in millimeters. */ MILLIMETER = "millimeter", /** Return the measurement in inches. */ INCH = "inch" } /** A GeoJSON Polygon. */ export type MultiPolygon = { /** MultiPolygon type. */ type: MultiPolygonType; /** List of coordinates representing a polygon. */ coordinates: Array< Maybe>>>>> >; }; /** GeoJSON MultiPolygon type. */ export enum MultiPolygonType { MULTIPOLYGON = "MultiPolygon" } export type Mutation = { /** [BETA] Create a connected vehicle for a given vehicle id and a connectivity provider */ createConnectedVehicle?: Maybe; /** [BETA] Authorize a connected vehicle */ authorizeConnectedVehicle?: Maybe; /** [BETA] Update a connected vehicle */ updateConnectedVehicle?: Maybe; /** [BETA] Remove a connected vehicle and revoke access */ removeConnectedVehicle?: Maybe; /** Create a consumption based isoline. */ createIsoline?: Maybe; /** [BETA] Start a new navigation session on top of an existing route */ startNavigation?: Maybe; /** [BETA] Update the navigation session */ updateNavigation?: Maybe; /** [BETA] Recalculate the current navigation route */ recalculateNavigation?: Maybe; /** [BETA] End a navigation session */ finishNavigation?: Maybe; /** * Add a new review. * If the `x-token` header is send for a valid user, the review will belong to it, otherwise will be added for an anonymouse user */ addReview: Review; /** * Remove a review added by an authenticated user. * The `x-token` header is mandatory in order to authorize the user who wants to remove a review. * In case it is not sent, an error will occur. * In case the review was not found or belongs to another user an error will occur. * This is a premium feature, contact Chargetrip for more information. */ deleteUserReview: Review; /** * Create a new route from the route input. * @deprecated In favor of `createRoute`. */ newRoute?: Maybe; /** Create a new route from the route input. */ createRoute: Scalars["ID"]; }; export type MutationcreateConnectedVehicleArgs = { input?: Maybe; }; export type MutationauthorizeConnectedVehicleArgs = { input?: Maybe; }; export type MutationupdateConnectedVehicleArgs = { input: UpdateConnectedVehicleInput; }; export type MutationremoveConnectedVehicleArgs = { input: RemoveConnectedVehicleInput; }; export type MutationcreateIsolineArgs = { input: IsolineInput; }; export type MutationstartNavigationArgs = { input: NavigationStartInput; }; export type MutationupdateNavigationArgs = { input: NavigationUpdateInput; }; export type MutationrecalculateNavigationArgs = { input: NavigationRecalculateInput; }; export type MutationfinishNavigationArgs = { input: NavigationFinishInput; }; export type MutationaddReviewArgs = { review: ReviewAdd; }; export type MutationdeleteUserReviewArgs = { id: Scalars["ID"]; }; export type MutationnewRouteArgs = { input?: Maybe; }; export type MutationcreateRouteArgs = { input: CreateRouteInput; }; /** Navigation session data. */ export type Navigation = { /** ID of the navigation session. */ id: Scalars["ID"]; /** Navigation session details overview. */ overview: NavigationOverview; /** The status of the navigation session vehicle. The status can be driving, charging or parked. */ vehicle_status: NavigationVehicleStatus; /** The status of a navigation session. The status can be active, finished or error. */ status: NavigationStatus; /** Navigation meta information. */ meta?: Maybe; }; /** Navigation session alternative station type. */ export type NavigationAlternativeStation = { /** Coordinates of a station. */ location: Point; /** ID of the station. */ station_id: Scalars["ID"]; /** ID of the EVSE that was selected in a route. */ evse_id?: Maybe; /** ID of the connector that was selected in a route. */ connector_id: Scalars["ID"]; /** Station operator. */ operator?: Maybe; }; /** Represents the most recent completed meaningful change to the navigation session. */ export type NavigationChange = { /** Timestamp when the change was finalized. */ created_at: Scalars["DateTime"]; /** What kind of change occurred. */ type: NavigationChangeType; /** Where the change originated from. */ source: NavigationChangeSource; }; export enum NavigationChangeSource { /** Triggered by an explicit client action (e.g. a recalculateNavigation call). */ CLIENT = "client", /** Triggered by backend domain changes (e.g. station availability, background recalculation). */ SERVER = "server" } export enum NavigationChangeType { /** Navigation session has just started. */ STARTED = "started", /** The route has been modified or recalculated. */ ROUTE_UPDATED = "route_updated", /** Next station availability has changed. */ NEXT_STATION_AVAILABILITY_UPDATED = "next_station_availability_updated" } /** Input for the navigation finish. */ export type NavigationFinishInput = { /** ID of the navigation session. */ id: Scalars["ID"]; /** Current coordinates. */ current_location: PointInput; }; /** Navigation route leg section details. */ export type NavigationLegSection = { /** Section type. */ type: RouteDetailsLegSectionType; /** Origin point. */ origin: RouteDetailsLegSectionFeaturePoint; /** Destination point. */ destination: RouteDetailsLegSectionFeaturePoint; /** Aggregation of tags over the current section. */ tags: Array; /** Polyline containing encoded coordinates. */ polyline: Scalars["String"]; /** Total duration of a section, in seconds. The value will be 0 for walking sections. */ duration: Scalars["Float"]; }; /** Navigation route leg section details. */ export type NavigationLegSectionpolylineArgs = { decimals?: Maybe; }; export type NavigationLiveRouteRequest = { /** Vehicle used on a route. */ vehicle: NavigationRouteVehicle; /** Origin of a route. */ origin: RouteOriginFeaturePoint; /** Destination of a route. */ destination: RouteDestinationFeaturePoint; /** Via points of a route. */ via?: Maybe>; /** Operator preferences for a route. When provided, prefers routes that use higher order operators. */ operators?: Maybe; /** Alternative stations along a route within a specified radius of 500 to 5000 meters, or the equivalent in another unit. */ alternative_station_radius?: Maybe; /** [BETA] List of route features to avoid in a route. This is a best-effort preference; depending on the available routes, some features may not be fully avoidable. */ avoid?: Maybe>; /** [BETA] Configuration options for the route's driving conditions. Includes factors to adjust average speed, set a maximum speed, and define a base driving style. If not specified, no adjustments are applied. */ driving_preferences?: Maybe; /** Charging stations preferences for route calculation. */ station_preferences?: Maybe; }; /** Navigation meta information. */ export type NavigationMeta = { /** Creation time of the navigation session. */ created_at: Scalars["DateTime"]; /** Last updated time of the navigation session. */ updated_at: Scalars["DateTime"]; }; /** Navigation session overview details. */ export type NavigationOverview = { /** State of charge at the last known location. */ state_of_charge: Scalars["Float"]; /** Last known location. */ last_known_location: Point; /** Next stop details. Can be a charging or a location stop. */ next_stop: NavigationStop; /** Continuously updated route legs. */ legs: Array>; /** Continuously updated durations of the route. */ durations: RouteDetailsDurations; /** Navigation route instructions. */ instructions: Array>; /** Continuously updated route request input. */ live_route_request: NavigationLiveRouteRequest; /** Polyline containing encoded coordinates. */ polyline: Scalars["String"]; /** Telemetry data. */ telemetry?: Maybe; }; /** Navigation session overview details. */ export type NavigationOverviewstate_of_chargeArgs = { unit?: Maybe; }; /** Navigation session overview details. */ export type NavigationOverviewpolylineArgs = { decimals?: Maybe; }; export type NavigationPropertiesStation = { /** ID of the station. When provided and valid, the coordinates of this station will be used. */ station_id?: Maybe; /** External ID of the station. When provided and valid, the coordinates of this station will be used. */ external_station_id?: Maybe; /** Duration to stay at the station, in seconds. Includes charging time and charging penalty. When not provided, the duration is optimized based on the vehicle’s charging needs and selected charging mode. */ stop_duration?: Maybe; }; export type NavigationPropertiesStationInput = { /** ID of the station. When provided and valid, the coordinates of this station will be used. */ station_id?: Maybe; /** External ID of the station. When provided and valid, the coordinates of this station will be used. */ external_station_id?: Maybe; /** Duration to stay at the station, in seconds. Includes charging time and charging penalty. When not provided, the duration is optimized based on the vehicle’s charging needs and selected charging mode. */ stop_duration?: Maybe; }; export type NavigationPropertiesVehicle = { /** Number of occupants present in the vehicle. */ occupants: Scalars["Int"]; /** Combined weight of the occupants. This can only be used in combination with occupants. */ total_occupant_weight: TotalOccupantWeight; /** Weight of the cargo. */ total_cargo_weight?: Maybe; }; export type NavigationPropertiesVehicleInput = { /** Number of occupants present in the vehicle. */ occupants?: Maybe; /** Combined weight of the occupants. This can only be used in combination with occupants. */ total_occupant_weight?: Maybe; /** Weight of the cargo. */ total_cargo_weight?: Maybe; }; export type NavigationPropertiesViaLocation = { /** Name that should overwrite the name that is automatically assigned to this location (for example: address or station name). */ name?: Maybe; /** Duration to stay at this point, in seconds. */ stop_duration?: Maybe; }; export type NavigationPropertiesViaLocationInput = { /** Name that should overwrite the name that is automatically assigned to this location (for example: address or station name). */ name?: Maybe; /** Duration to stay at this point, in seconds. */ stop_duration?: Maybe; }; /** Input for the navigation recalculate. */ export type NavigationRecalculateInput = { /** ID of the navigation session. */ id: Scalars["ID"]; /** State of charge at origin. */ state_of_charge?: Maybe; /** Origin location of a new route. */ current_location: PointInput; /** Via points of a new route. If this field is not sent, the original via points will be used. */ via?: Maybe>; /** Telemetry data input. */ telemetry?: Maybe; }; /** Navigation route leg details. */ export type NavigationRouteLeg = { /** Distance from the start to the end of a leg. */ distance: Scalars["Float"]; /** Aggregation of all durations of a route leg. */ durations: RouteDetailsDurations; /** Origin point location. */ origin: RouteDetailsLegFeaturePoint; /** Destination point location. */ destination: RouteDetailsLegFeaturePoint; /** Range at the start of a leg. The ranges in kilometers and miles are estimates, calculated based on the Chargetrip range, current route conditions, weather scenario (current or seasonal), and the route input at the time of planning. For HEVs and PHEVs this field will return null. */ range_at_origin?: Maybe; /** Range available at the end of a leg. The ranges in kilometers and miles are estimates, calculated based on the Chargetrip range, current route conditions, weather scenario (current or seasonal), and the route input at the time of planning. For HEVs and PHEVs this field will return null. */ range_at_destination?: Maybe; /** Range after charging on the leg. The ranges in kilometers and miles are estimates, calculated based on the Chargetrip range, current route conditions, weather scenario (current or seasonal), and the route input at the time of planning. For HEVs and PHEVs this field will return null. */ range_after_charge?: Maybe; /** Type of a leg. */ type: RouteDetailsLegType; /** Information about the station at the destination of a leg. */ station?: Maybe; /** Road sections of a leg - divided by means of transportation. */ sections: Array; /** Aggregation of tags over the current leg. Tags are further subdivided over individual sections and maneuvers. */ tags: Array; }; /** Navigation route leg details. */ export type NavigationRouteLegdistanceArgs = { unit?: Maybe; }; /** Navigation route leg details. */ export type NavigationRouteLegrange_at_originArgs = { unit?: Maybe; }; /** Navigation route leg details. */ export type NavigationRouteLegrange_at_destinationArgs = { unit?: Maybe; }; /** Navigation route leg details. */ export type NavigationRouteLegrange_after_chargeArgs = { unit?: Maybe; }; export type NavigationRouteVehicle = { /** ID of the vehicle. */ id: Scalars["ID"]; /** EV battery specific configuration. */ battery: RouteVehicleBattery; /** Charging configuration. */ charging: RouteVehicleCharging; /** Flag indicating if climate control is on. */ climate: Scalars["Boolean"]; /** Vehicle Heat Pump configuration. */ heat_pump: HeatPumpMode; /** Vehicle cabin configuration used for the route calculation. Applied only if vehicle.climate is set to true. */ cabin: RouteVehicleCabin; }; /** Input for the navigation start. */ export type NavigationStartInput = { /** ID of the route of the navigation session. */ route_id: Scalars["ID"]; /** Current coordinates. */ current_location: PointInput; }; /** Navigation session station type. */ export type NavigationStation = { /** ID of the station. */ station_id: Scalars["ID"]; /** ID of the EVSE that was selected in a route. */ evse_id?: Maybe; /** ID of the connector that was selected in a route. */ connector_id: Scalars["ID"]; /** Station operator. */ operator?: Maybe; }; /** Navigation session station operator. */ export type NavigationStationOperator = { /** Unique operator ID. */ id?: Maybe; }; /** Status of navigation session. */ export enum NavigationStatus { /** Navigation session is live and currently tracking. */ ACTIVE = "active", /** Navigation session is completed (either manually or automatically 48 hours after the last update). */ FINISHED = "finished", /** Failed to update navigation session due to route error or not found. */ ERROR = "error" } /** Next stop details. Can be a charging or a location stop. */ export type NavigationStop = { /** Estimated arrival state of charge at next stop. For HEVs and PHEVs this field will return null. */ arrival_state_of_charge: Scalars["Float"]; /** Estimated arrival time at the next stop. */ arrival_time: Scalars["DateTime"]; /** Coordinates of the next stop. */ location: Point; /** Next stop's station to charge. Only present if the next stop is a station. */ station?: Maybe; /** A set of alternative charging stations to next station. Only present if next stop is a station. */ alternative_stations?: Maybe>; }; /** Next stop details. Can be a charging or a location stop. */ export type NavigationStoparrival_state_of_chargeArgs = { unit?: Maybe; }; /** The navigation session subscription data */ export type NavigationSubscription = { /** ID of the navigation session. */ id: Scalars["ID"]; /** The status of the navigation session vehicle. The status can be driving, charging or parked. */ vehicle_status: NavigationVehicleStatus; /** The status of the navigation session. The status can be active, finished or error. */ status: NavigationStatus; /** Navigation meta information. */ meta?: Maybe; /** Information about the latest completed change. */ last_change: NavigationChange; }; /** Input for the navigation update. */ export type NavigationUpdateInput = { /** ID of the navigation session. */ id: Scalars["ID"]; /** A list of locations that were collected since the last update. */ location_data: Array; }; /** Input for the navigation update locations. */ export type NavigationUpdateLocationsInput = { /** Location coordinates [longitude, latitude]. */ coordinates: Array; /** Current route leg index corresponding to a location. */ route_leg: Scalars["Int"]; /** UNIX timestamp at location, in seconds. */ timestamp: Scalars["Int"]; /** Telemetry data input. */ telemetry?: Maybe; }; /** Status of navigation session vehicle. */ export enum NavigationVehicleStatus { /** Vehicle is driving. */ DRIVING = "driving", /** Vehicle is charging. */ CHARGING = "charging", /** Vehicle is parked. */ PARKED = "parked" } export type NavigationViaFeaturePoint = { /** ID of the feature. */ id?: Maybe; /** Feature type. */ type: FeatureType; /** Geometry of the feature. */ geometry: Point; /** Additional feature properties for via. If a `station.id` or `station.external_id` are provided, it will be treated as a charging stop. If omitted or `location.name` is provided, the stop is treated as a non-charging stop location. */ properties?: Maybe; }; export type NavigationViaFeaturePointInput = { /** ID of the feature. */ id?: Maybe; /** Feature type. */ type: FeatureType; /** Geometry of the feature. */ geometry: PointInput; /** Additional feature properties for via. If a `station.id` or `station.external_id` are provided, it will be treated as a charging stop. If omitted or `location.name` is provided, the stop is treated as a non-charging stop location. */ properties?: Maybe; }; export type NavigationViaProperties = { /** Location data of the via point. */ location?: Maybe; /** Vehicle data of the via point. */ vehicle?: Maybe; /** Station data of the via point. */ station?: Maybe; }; export type NavigationViaPropertiesInput = { /** Location data of the via point. */ location?: Maybe; /** Vehicle data of the via point. */ vehicle?: Maybe; /** Specifies a charging station at the via. If a known station is provided, it will be used as charging stop. Any configured operator preferences are ignored for this stop. */ station?: Maybe; }; /** This class defines an additional geo location that is relevant for the Charge Point. The geodetic system to be used is WGS 84. */ export type OCPIAdditionalGeoLocation = { /** Latitude of the point in decimal degree. Example: 50.770774. Decimal separator: "." Regex: -?[0-9]{1,2}\.[0-9]{5,7} */ latitude?: Maybe; /** Longitude of the point in decimal degree. Example: -126.104965. Decimal separator: "." Regex: -?[0-9]{1,3}\.[0-9]{5,7} */ longitude?: Maybe; /** Name of the point in local language or as written at the location. For example the street name of a parking lot entrance or it’s number. */ name?: Maybe; }; /** The capabilities of an EVSE. */ export enum OCPICapability { /** The EVSE supports charging profiles. */ CHARGING_PROFILE_CAPABLE = "CHARGING_PROFILE_CAPABLE", /** The EVSE supports charging preferences. */ CHARGING_PREFERENCES_CAPABLE = "CHARGING_PREFERENCES_CAPABLE", /** EVSE has a payment terminal that supports chip cards. */ CHIP_CARD_SUPPORT = "CHIP_CARD_SUPPORT", /** EVSE has a payment terminal that supports contactless cards. */ CONTACTLESS_CARD_SUPPORT = "CONTACTLESS_CARD_SUPPORT", /** EVSE has a payment terminal that makes it possible to pay for charging using a credit card. */ CREDIT_CARD_PAYABLE = "CREDIT_CARD_PAYABLE", /** EVSE has a payment terminal that makes it possible to pay for charging using a debit card. */ DEBIT_CARD_PAYABLE = "DEBIT_CARD_PAYABLE", /** EVSE has a payment terminal with a pin-code entry device. */ PED_TERMINAL = "PED_TERMINAL", /** The EVSE can remotely be started/stopped. */ REMOTE_START_STOP_CAPABLE = "REMOTE_START_STOP_CAPABLE", /** The EVSE can be reserved. */ RESERVABLE = "RESERVABLE", /** Charging at this EVSE can be authorized with an RFID token. */ RFID_READER = "RFID_READER", /** This EVSE supports token groups, two or more tokens work as one, so that a session can be started with one token and stopped with another (handy when a card and key-fob are given to the EV-driver). */ TOKEN_GROUP_CAPABLE = "TOKEN_GROUP_CAPABLE", /** Connectors have a mechanical lock that can be requested by the eMSP to be unlocked. */ UNLOCK_CAPABLE = "UNLOCK_CAPABLE", /** When a StartSession is sent to this EVSE, the MSP is required to add the optional connector_id field in the StartSession object. */ START_SESSION_CONNECTOR_REQUIRED = "START_SESSION_CONNECTOR_REQUIRED" } /** The format of the connector, whether it is a socket or a plug. */ export enum OCPIConnectorFormat { /** The connector is a socket; the EV user needs to bring a fitting plug. */ SOCKET = "SOCKET", /** The connector is an attached cable; the EV users car needs to have a fitting inlet. */ CABLE = "CABLE" } /** Socket or plug standard of the charging point. */ export enum OCPIConnectorType { /** The connector type is CHAdeMO, DC */ CHADEMO = "CHADEMO", /** Standard/domestic household, type "A", NEMA 1-15, 2 pins */ DOMESTIC_A = "DOMESTIC_A", /** Standard/domestic household, type "B", NEMA 5-15, 3 pins */ DOMESTIC_B = "DOMESTIC_B", /** Standard/domestic household, type "C", CEE 7/17, 2 pins */ DOMESTIC_C = "DOMESTIC_C", /** Standard/domestic household, type "D", 3 pins */ DOMESTIC_D = "DOMESTIC_D", /** Standard/domestic household, type "E", CEE 7/5 3 pins */ DOMESTIC_E = "DOMESTIC_E", /** Standard/domestic household, type "F", CEE 7/4, Schuko, 3 pins */ DOMESTIC_F = "DOMESTIC_F", /** Standard/domestic household, type "G", BS 1363, Commonwealth, 3 pins */ DOMESTIC_G = "DOMESTIC_G", /** Standard/domestic household, type "H", SI-32, 3 pins */ DOMESTIC_H = "DOMESTIC_H", /** Standard/domestic household, type "I", AS 3112, 3 pins */ DOMESTIC_I = "DOMESTIC_I", /** Standard/domestic household, type "J", SEV 1011, 3 pins */ DOMESTIC_J = "DOMESTIC_J", /** Standard/domestic household, type "K", DS 60884-2-D1, 3 pins */ DOMESTIC_K = "DOMESTIC_K", /** Standard/domestic household, type "L", CEI 23-16-VII, 3 pins */ DOMESTIC_L = "DOMESTIC_L", /** Standard/Domestic household, type "M", BS 546, 3 pins */ DOMESTIC_M = "DOMESTIC_M", /** Standard/Domestic household, type "N", NBR 14136, 3 pins */ DOMESTIC_N = "DOMESTIC_N", /** Standard/Domestic household, type "O", TIS 166-2549, 3 pins */ DOMESTIC_O = "DOMESTIC_O", /** IEC 60309-2 Industrial connector single phase 16 amperes (usually blue) */ IEC_60309_2_SINGLE_16 = "IEC_60309_2_single_16", /** IEC 60309-2 Industrial connector three phase 16 amperes (usually red) */ IEC_60309_2_THREE_16 = "IEC_60309_2_three_16", /** IEC 60309-2 Industrial connector three phase 32 amperes (usually red) */ IEC_60309_2_THREE_32 = "IEC_60309_2_three_32", /** IEC 60309-2 Industrial connector three phase 64 amperes (usually red) */ IEC_60309_2_THREE_64 = "IEC_60309_2_three_64", /** IEC 62196 Type 1 "SAE J1772" */ IEC_62196_T1 = "IEC_62196_T1", /** Combo Type 1 based, DC */ IEC_62196_T1_COMBO = "IEC_62196_T1_COMBO", /** IEC 62196 Type 2 "Mennekes" */ IEC_62196_T2 = "IEC_62196_T2", /** Combo Type 2 based, DC */ IEC_62196_T2_COMBO = "IEC_62196_T2_COMBO", /** IEC 62196 Type 3A */ IEC_62196_T3A = "IEC_62196_T3A", /** IEC 62196 Type 3C "Scame" */ IEC_62196_T3C = "IEC_62196_T3C", /** On-board bottom-up-pantograph typically for bus charging */ PANTOGRAPH_BOTTOM_UP = "PANTOGRAPH_BOTTOM_UP", /** Off-board top-down-pantograph typically for bus charging */ PANTOGRAPH_TOP_DOWN = "PANTOGRAPH_TOP_DOWN", /** Tesla connector "Roadster"-type (round, 4 pins) */ TESLA_R = "TESLA_R", /** Tesla connector "Model-S"-type (oval, 5 pins) */ TESLA_S = "TESLA_S", /** The connector type is GB_T (Chinese standard), DC */ GB_T = "GB_T", /** The ChaoJi connector. The new generation charging connector, harmonized between CHAdeMO and GB/T. DC. */ CHAOJI = "CHAOJI", /** The connector type is NEMA 5-20, 3 pins */ NEMA_5_20 = "NEMA_5_20", /** The connector type is NEMA 6-30, 3 pins */ NEMA_6_30 = "NEMA_6_30", /** The connector type is NEMA 6-50, 3 pins */ NEMA_6_50 = "NEMA_6_50", /** The connector type is NEMA 10-30, 3 pins */ NEMA_10_30 = "NEMA_10_30", /** The connector type is NEMA 10-50, 3 pins */ NEMA_10_50 = "NEMA_10_50", /** The connector type is NEMA 14-30, 3 pins, rating of 30 A */ NEMA_14_30 = "NEMA_14_30", /** The connector type is NEMA 14-50, 3 pins, rating of 50 A */ NEMA_14_50 = "NEMA_14_50", /** Guobiao GB/T 20234.2 AC socket/connector. */ GBT_AC = "GBT_AC", /** Guobiao GB/T 20234.3 DC connector. */ GBT_DC = "GBT_DC" } export enum OCPIDayOfWeek { MONDAY = "MONDAY", TUESDAY = "TUESDAY", WEDNESDAY = "WEDNESDAY", THURSDAY = "THURSDAY", FRIDAY = "FRIDAY", SATURDAY = "SATURDAY", SUNDAY = "SUNDAY" } export type OCPIDisplayText = { /** Language Code ISO 639-1 */ language?: Maybe; /** Text to be displayed to an end user. No markup, html etc. allowed. */ text?: Maybe; }; /** This type is used to specify the energy mix and environmental impact of the supplied energy at a location or in a tariff. */ export type OCPIEnergyMix = { /** True if the power is 100% from regenerative sources */ is_green_energy?: Maybe; /** Key-value pairs (enum + percentage) of energy sources of this location’s tariff. */ energy_sources?: Maybe>>; /** Key-value pairs (enum + percentage) of nuclear waste and CO2 exhaust of this location’s tariff. */ environ_impact?: Maybe>>; /** Name of the energy supplier, delivering the energy for this location or tariff.* */ supplier_name?: Maybe; /** Name of the energy suppliers product/tariff plan used at this location.* */ energy_product_name?: Maybe; }; export type OCPIEnergySource = { /** The type of energy source. */ source?: Maybe; /** Percentage of this source (0-100) in the mix. */ percentage?: Maybe; }; /** Categories of energy sources. */ export enum OCPIEnergySourceCategory { /** Nuclear power sources. */ NUCLEAR = "NUCLEAR", /** All kinds of fossil power sources. */ GENERAL_FOSSIL = "GENERAL_FOSSIL", /** Fossil power from coal. */ COAL = "COAL", /** Fossil power from gas. */ GAS = "GAS", /** All kinds of regenerative power sources. */ GENERAL_GREEN = "GENERAL_GREEN", /** Regenerative power from PV. */ SOLAR = "SOLAR", /** Regenerative power from wind turbines. */ WIND = "WIND", /** Regenerative power from water turbines. */ WATER = "WATER" } /** Amount of waste produced/emitted per kWh. */ export type OCPIEnvironmentalImpact = { /** The environmental impact category of this value. */ category?: Maybe; /** Amount of this portion in g/kWh. */ amount?: Maybe; }; /** Categories of environmental impact values. */ export enum OCPIEnvironmentalImpactCategory { /** Produced nuclear waste in g/kWh. */ NUCLEAR_WASTE = "NUCLEAR_WASTE", /** Exhausted carbon dioxide in g/kWh. */ CARBON_DIOXIDE = "CARBON_DIOXIDE" } /** Specifies one exceptional period for opening or access hours. */ export type OCPIExceptionalPeriod = { /** Begin of the exception. In UTC, time_zone field can be used to convert to local time. */ period_begin?: Maybe; /** End of the exception. In UTC, time_zone field can be used to convert to local time. */ period_end?: Maybe; }; export enum OCPIFacility { /** A hotel. */ HOTEL = "HOTEL", /** A restaurant. */ RESTAURANT = "RESTAURANT", /** A cafe. */ CAFE = "CAFE", /** A mall or shopping center. */ MALL = "MALL", /** A supermarket. */ SUPERMARKET = "SUPERMARKET", /** Sport facilities: gym, field etc. */ SPORT = "SPORT", /** A recreation area. */ RECREATION_AREA = "RECREATION_AREA", /** Located in, or close to, a park, nature reserve etc. */ NATURE = "NATURE", /** A museum. */ MUSEUM = "MUSEUM", /** A bike/e-bike/e-scooter sharing location. */ BIKE_SHARING = "BIKE_SHARING", /** A bus stop. */ BUS_STOP = "BUS_STOP", /** A taxi stand. */ TAXI_STAND = "TAXI_STAND", /** A tram stop/station. */ TRAM_STOP = "TRAM_STOP", /** A metro station. */ METRO_STATION = "METRO_STATION", /** A train station. */ TRAIN_STATION = "TRAIN_STATION", /** An airport. */ AIRPORT = "AIRPORT", /** A parking lot. */ PARKING_LOT = "PARKING_LOT", /** A carpool parking. */ CARPOOL_PARKING = "CARPOOL_PARKING", /** A Fuel station. */ FUEL_STATION = "FUEL_STATION", /** Wifi or other type of internet available. */ WIFI = "WIFI" } /** This class defines the geo location of the Charge Point. The geodetic system to be used is WGS 84. */ export type OCPIGeoLocation = { /** Latitude of the point in decimal degree. Example: 50.770774. Decimal separator: "." Regex: -?[0-9]{1,2}\.[0-9]{5,7} */ latitude?: Maybe; /** Longitude of the point in decimal degree. Example: -126.104965. Decimal separator: "." Regex: -?[0-9]{1,3}\.[0-9]{5,7} */ longitude?: Maybe; }; /** Opening and access hours of the location. */ export type OCPIHours = { /** True to represent 24 hours a day and 7 days a week, except the given exceptions. */ twentyfourseven?: Maybe; /** Regular hours, weekday-based. Only to be used if twentyfourseven=false, then this field needs to contain at least one RegularHours object. */ regular_hours?: Maybe>>; /** Exceptions for specified calendar dates, time-range based. Periods the station is operating/accessible. Additional to regular_hours. May overlap regular rules. */ exceptional_openings?: Maybe>>; /** Exceptions for specified calendar dates, time-range based. Periods the station is not operating/accessible. Overwriting regular_hours and exceptional_openings. Should not overlap exceptional_openings. */ exceptional_closings?: Maybe>>; }; export type OCPIImage = { /** URL from where the image data can be fetched through a web browser. */ url?: Maybe; /** URL from where a thumbnail of the image can be fetched through a webbrowser. */ thumbnail?: Maybe; /** Category of an image */ category?: Maybe; /** Image type: gif, jpeg, png, svg */ type?: Maybe; /** Width of the full scale image */ width?: Maybe; /** Height of the full scale image */ height?: Maybe; }; /** The category of an image to obtain the correct usage in a user presentation. The category has to be set accordingly to the image content in order to guarantee the right usage. */ export enum OCPIImageCategory { /** Photo of the physical device that contains one or more EVSEs. */ CHARGER = "CHARGER", /** Location entrance photo. Should show the car entrance to the location from street side. */ ENTRANCE = "ENTRANCE", /** Location overview photo. */ LOCATION = "LOCATION", /** Logo of an associated roaming network to be displayed with the EVSE for example in lists, maps and detailed information views. */ NETWORK = "NETWORK", /** Logo of the charge point operator, for example a municipality, to be displayed in the EVSEs detailed information view or in lists and maps, if no network logo is present. */ OPERATOR = "OPERATOR", /** Other */ OTHER = "OTHER", /** Logo of the charge point owner, for example a local store, to be displayed in the EVSEs detailed information view. */ OWNER = "OWNER" } /** This value, if provided, represents the restriction to the parking spot for different purposes. */ export enum OCPIParkingRestriction { /** Reserved parking spot for electric vehicles. */ EV_ONLY = "EV_ONLY", /** Parking is only allowed while plugged in (charging). */ PLUGGED = "PLUGGED", /** Reserved parking spot for disabled people with valid ID. */ DISABLED = "DISABLED", /** Parking spot for customers/guests only, for example in case of a hotel or shop. */ CUSTOMERS = "CUSTOMERS", /** Parking spot only suitable for (electric) motorcycles or scooters. */ MOTORCYCLES = "MOTORCYCLES" } /** Reflects the general type of the charge point’s location. May be used for user information. */ export enum OCPIParkingType { /** Location on a parking facility/rest area along a motorway, freeway, interstate, highway etc. */ ALONG_MOTORWAY = "ALONG_MOTORWAY", /** Multistorey car park. */ PARKING_GARAGE = "PARKING_GARAGE", /** A cleared area that is intended for parking vehicles, i.e. at supermarkets, bars, etc. */ PARKING_LOT = "PARKING_LOT", /** Location is on the driveway of a house/building. */ ON_DRIVEWAY = "ON_DRIVEWAY", /** Parking in public space along a street. */ ON_STREET = "ON_STREET", /** Multistorey car park, mainly underground. */ UNDERGROUND_GARAGE = "UNDERGROUND_GARAGE" } export enum OCPIPowerType { /** AC single phase. */ AC_1_PHASE = "AC_1_PHASE", /** AC three phase. */ AC_3_PHASE = "AC_3_PHASE", /** AC two phases, only two of the three available phases connected. */ AC_2_PHASE = "AC_2_PHASE", /** AC two phases using split phase system. */ AC_2_PHASE_SPLIT = "AC_2_PHASE_SPLIT", /** Direct Current. */ DC = "DC" } export type OCPIPrice = { /** Price/Cost excluding VAT. */ excl_vat?: Maybe; /** Price/Cost including VAT. */ incl_vat?: Maybe; }; export type OCPIPriceComponent = { /** Type of tariff dimension. */ type?: Maybe; /** Price per unit (excl. VAT) for this tariff dimension. */ price?: Maybe; /** Applicable VAT percentage for this tariff dimension. If omitted, no VAT is applicable. Not providing a VAT is different from 0% VAT, which would be a value of 0.0 here. */ vat?: Maybe; /** Minimum amount to be billed. This unit will be billed in this step_size blocks. For example: if type is TIME and step_size has a value of 300, then time will be billed in blocks of 5 minutes. If 6 minutes were used, 10 minutes (2 blocks of step_size) will be billed. */ step_size?: Maybe; }; /** Regular recurring operation or access hours. */ export type OCPIRegularHours = { /** Number of days in the week, from Monday (1) till Sunday (7) */ weekday?: Maybe; /** Begin of the regular period, in local time, given in hours and minutes. Must be in 24h format with leading zeros. Example: "18:15". Hour/Minute separator: ":" Regex: ([0-1][0-9]|2[1-3]):[0-5][0-9]. */ period_begin?: Maybe; /** End of the regular period, in local time, syntax as for period_begin. Must be later than period_begin. */ period_end?: Maybe; }; export enum OCPIReservationRestrictionType { /** Used in TariffElements to describe costs for a reservation. */ RESERVATION = "RESERVATION", /** Used in TariffElements to describe costs for a reservation that expires (i.e. driver does not start a charging session before expiry_date of the reservation). */ RESERVATION_EXPIRES = "RESERVATION_EXPIRES" } /** The status of an EVSE. */ export enum OCPIStatus { /** The EVSE/Connector is able to start a new charging session. */ AVAILABLE = "AVAILABLE", /** The EVSE/Connector is not accessible because of a physical barrier, i.e. a car. */ BLOCKED = "BLOCKED", /** The EVSE/Connector is in use. */ CHARGING = "CHARGING", /** The EVSE/Connector is not yet active or it is no longer available (deleted). */ INOPERATIVE = "INOPERATIVE", /** The EVSE/Connector is currently out of order. */ OUTOFORDER = "OUTOFORDER", /** The EVSE/Connector is planned, will be operating soon. */ PLANNED = "PLANNED", /** The EVSE/Connector was discontinued/removed. */ REMOVED = "REMOVED", /** The EVSE/Connector is reserved for a particular EV driver and is unavailable for other drivers. */ RESERVED = "RESERVED", /** No status information available (also used when offline). */ UNKNOWN = "UNKNOWN" } /** This type is used to schedule status periods in the future. The eMSP can provide this information to the EV user for trip planning purposes. A period MAY have no end. Example: "This station will be running as of tomorrow. Today it is still planned and under construction. */ export type OCPIStatusSchedule = { /** Begin of the scheduled period. */ period_begin?: Maybe; /** End of the scheduled period, if known. */ period_end?: Maybe; /** Status value during the scheduled period. */ status?: Maybe; }; export type OCPITariff = { /** ISO-3166 alpha-2 country code of the CPO that owns this tariff */ country_code?: Maybe; /** CPO ID of the CPO that owns this tariff (following the ISO-15118 standard) */ party_id?: Maybe; /** Uniquely identifies the tariff within the CPO’s platform (and suboperator platforms) */ id?: Maybe; /** ISO-4217 code of the currency of this tariff. */ currency?: Maybe; /** Defines the type of the tariff. This allows for distinction in case of given charging preferences. When omitted, this tariff is valid for all sessions */ type?: Maybe; /** List of alternative tariff information texts, in multiple languages */ tariff_alt_text?: Maybe>>; /** URL to a web page that contains an explanation of the tariff information in human readable form */ tariff_alt_url?: Maybe; /** When this field is set, a charging session with this tariff will cost at least the amount shown. This is different from a FLAT fee (start tariff, transaction fee), as a FLAT fee is a fixed amount that must be paid for any charging session. A minimum price indicates that when the cost of a charging session is lower than this amount, the cost of the session will be equal to this amount */ min_price?: Maybe; /** When this field is set, a charging session with this tariff will NOT cost more than this amount */ max_price?: Maybe; /** List of tariff elements */ elements?: Maybe>>; /** Time when this tariff becomes active, in UTC, time_zone field of the Location can be used to convert to local time. Typically used for a new tariff that is already given with the location, before it becomes active */ start_date_time?: Maybe; /** Time after which this tariff is no longer valid, in UTC, time_zone field if the location can be used to convert to local time. Typically used when this tariff is going to be replaced with a different tariff in the near future */ end_date_time?: Maybe; /** Details about the energy supplied with this tariff */ energy_mix?: Maybe; /** Timestamp when this tariff was last updated (or created) */ last_updated?: Maybe; }; export enum OCPITariffDimensionType { /** Defined in kWh, step_size multiplier: 1 Wh */ ENERGY = "ENERGY", /** Flat fee without unit for step_size */ FLAT = "FLAT", /** Time not charging: defined in hours, step_size multiplier: 1 second */ PARKING_TIME = "PARKING_TIME", /** Time charging: defined in hours, step_size multiplier: 1 second Can also be used in combination with a RESERVATION restriction to describe the price of the reservation time. */ TIME = "TIME" } export type OCPITariffElement = { /** List of price components that describe the pricing of a tariff. */ price_components?: Maybe>>; /** Restrictions that describe the applicability of a tariff. */ restrictions?: Maybe>>; }; export type OCPITariffRestrictions = { /** Start time of day in local time, the time zone is defined in the time_zone field of the Location, for example 13:30, valid from this time of the day. Must be in 24h format with leading zeros. Hour/Minute separator: ":" Regex: ([0-1][0-9]|2[1-3]):[0-5][0-9] */ start_time?: Maybe; /** End time of day in local time, the time zone is defined in the time_zone field of the Location, for example 19:45, valid until this time of the day. Same syntax as start_time. */ end_time?: Maybe; /** Start date in local time, the time zone is defined in the time_zone field of the Location, for example: 2015-12-24, valid from this day. Regex: ([12][0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]) */ start_date?: Maybe; /** End date in local time, the time zone is defined in the time_zone field of the Location, for example: 2015-12-27, valid until this day (exclusive). Same syntax as start_date */ end_date?: Maybe; /** Minimum consumed energy in kWh, for example 20, valid from this amount of energy being used */ min_kwh?: Maybe; /** Maximum consumed energy in kWh, for example 50, valid until this amount of energy being used */ max_kwh?: Maybe; /** Sum of the minimum current in over all phases, for example 5. When the EV is charging with more than the defined amount of current, this tariff element is/becomes active. If the charging current is or becomes lower, this tariff element is not or no longer valid and becomes inactive. This does not describe the minimum current over the entire charging session. This restriction can make a tariff element become active when the charging current is above the defined value, but the tariff element MUST no longer be active when the charging current drops below the defined value */ min_current?: Maybe; /** Sum of the maximum current in over all phases, for example 20. When the EV is charging with less than the defined amount of current, this tariff element becomes/is active. If the charging current is or becomes higher, this tariff element is not or no longer valid and becomes inactive. This describes NOT the maximum current over the entire Charging Session. This restriction can make a tariff element become active when the charging current is below this value, but the tariff element MUST no longer be active when the charging current raises above the defined value */ max_current?: Maybe; /** Minimum power in kW, for example 5. When the EV is charging with more than the defined amount of power, this tariff element is/becomes active. If the charging power is or becomes lower, this tariff element is not or no longer valid and becomes inactive. This does not describe the minimum power over the entire charging session. This restriction can make a tariff element become active when the charging power is above this value, but the TariffElement MUST no longer be active when the charging power drops below the defined value */ min_power?: Maybe; /** Maximum power in kW, for example 20. When the EV is charging with less than the defined amount of power, this tariff element becomes/is active. If the charging power is or becomes higher, this tariff element is not or no longer valid and becomes inactive. This does not describe the maximum power over the entire charging session. This restriction can make a tariff element become active when the charging power is below this value, but the TariffElement MUST no longer be active when the charging power raises above the defined value */ max_power?: Maybe; /** Minimum duration in seconds the charging session MUST last (inclusive). When the duration of a charging session is longer than the defined value, this TariffElement is or becomes active. Before that moment, this tariff element is not yet active */ min_duration?: Maybe; /** Maximum duration in seconds the charging session MUST last (exclusive). When the duration of a charging session is shorter than the defined value, this tariff element is or becomes active. After that moment, this tariff element is no longer active */ max_duration?: Maybe; /** Which day(s) of the week this tariff element is active. */ day_of_week?: Maybe; /** When this field is present, the tariff element describes reservation costs. A reservation starts when the reservation is made, and ends when the drivers starts charging on the reserved EVSE/Location, or when the reservation expires. A reservation can only have: FLAT and TIME TariffDimensions, where TIME is for the duration of the reservation */ reservation?: Maybe; }; export enum OCPITariffType { /** Used to describe that a tariff is valid when ad-hoc payment is used at the charge point (for example: Debit or Credit card payment terminal) */ AD_HOC_PAYMENT = "AD_HOC_PAYMENT", /** Used to describe that a tariff is valid when charging preference: CHEAP is set for the session */ PROFILE_CHEAP = "PROFILE_CHEAP", /** Used to describe that a tariff is valid when charging preference: FAST is set for the session */ PROFILE_FAST = "PROFILE_FAST", /** Used to describe that a tariff is valid when charging preference: GREEN is set for the session */ PROFILE_GREEN = "PROFILE_GREEN", /** Used to describe that a tariff is valid when using an RFID, without any charging preference, or when charging preference: REGULAR is set for the session */ REGULAR = "REGULAR" } /** List of charging modes that are supported. */ export enum OICPChargingModes { MODE_1 = "mode_1", MODE_2 = "mode_2", MODE_3 = "mode_3", MODE_4 = "mode_4", CHADEMO = "chademo" } /** Custom connector properties for OICP databases. Station databases that not follow the OICP standard return null values. */ export type OICPConnectorCustomProperties = { /** Returns whether the connector is able to deliver different power outputs. */ dynamic_power_level?: Maybe; /** List of charging modes that are supported as specified by IEC 61851-1. */ charging_modes?: Maybe>; }; /** List of authentication modes that are supported. */ export enum OICPEvseAuthenticationMode { NFC_RFID_CLASSIC = "nfc_rfid_classic", NFC_RFID_DESFIRE = "nfc_rfid_desfire", PNC = "pnc", REMOTE = "remote", DIRECT_PAYMENT = "direct_payment", NO_AUTHENTICATION_REQUIRED = "no_authentication_required" } /** Custom EVSE properties for OICP databases such as the global Hubject database. Station databases that not follow the OICP standard return null values. */ export type OICPEvseCustomProperties = { /** List of authentication modes that are supported. */ authentication_modes: Array; /** Returns a value if the EVSE has a limited capacity (e.g. built-in battery). Values are in kWh. */ max_capacity?: Maybe; /** List of payment options that are supported. */ payment_options: Array; /** List of value added services that are supported. */ value_added_services: Array; /** List of additional info by locale. */ additional_info?: Maybe>; /** When the value is set to false this station does not support remote start and stop by Hubject. */ is_hubject_compatible: Scalars["Boolean"]; /** Name of the charging point manufacturer. */ hardware_manufacturer?: Maybe; }; export type OICPEvseCustomPropertiesAdditionalInfo = { /** The language in which the additional info text is provided. */ lang?: Maybe; /** Additional info text value. */ value?: Maybe; }; /** List of payment options that are supported. */ export enum OICPPaymentOptions { NO_PAYMENT = "no_payment", DIRECT = "direct", CONTRACT = "contract" } /** Custom station properties for OICP databases such as the global Hubject database. Station databases that not follow the OICP standard return null values. */ export type OICPStationCustomProperties = { /** Returns whether the station is a parking facility. */ parking_facility?: Maybe; /** Returns an identifier for the precise parking spot. Eg. 36 or 12-1. */ parking_spot?: Maybe; /** Returns information on how the charging station provides metering law data. */ calibration_law_data_availability: Scalars["String"]; /** Identification of the corresponding clearing house in the event that roaming between different clearing houses must be processed in the future. */ clearinghouse_id?: Maybe; }; /** List of value added services that are supported. */ export enum OICPValueAddedServices { RESERVATION = "reservation", DYNAMIC_PRICING = "dynamic_pricing", PARKING_SENSORS = "parking_sensors", MAXIMUM_POWER_CHARGING = "maximum_power_charging", PREDICTIVE_CHARGE_POINT_USAGE = "predictive_charge_point_usage", CHARGING_PLANS = "charging_plans", ROOF_PROVIDED = "roof_provided", NONE = "none" } export type Odometer = { /** Value of the vehicle's odometer. */ value: Scalars["Float"]; /** Preferred unit for the vehicle's odometer. */ type: DistanceUnit; /** Source of inputted data. */ source: TelemetryInputSource; }; export type OdometerInput = { /** Value of the vehicle's odometer. */ value: Scalars["Float"]; /** Preferred unit for the vehicle's odometer. */ type: DistanceUnit; /** Source of inputted data, defaults to 'manual'. */ source?: Maybe; }; /** Operator data which extends OCPI BusinessDetails. */ export type Operator = { /** Unique operator ID. */ id?: Maybe; /** External ID of an operator provided by the operator data source. */ external_id?: Maybe; /** Name of an operator. */ name?: Maybe; /** Link to an operator’s website. */ website?: Maybe; /** Image link to an operator’s logo. */ logo?: Maybe; /** * ISO-3166 alpha-2 country code an operator is active in. * @deprecated In favor of `countries`. */ country?: Maybe; /** ISO-3166 alpha-2 country codes an operator is active in. */ countries?: Maybe>; /** Contact information. */ contact?: Maybe; /** * Ranking level on which the operator is placed or null in case the operator is not on any ranking level. Default operator preference applied to routes created through newRoute mutation if no operator preference is specified in the request. * @deprecated In favor of `ranking_levels`. */ ranking?: Maybe; /** * Flag which indicates if the operator is in the excluded list. Default operator preference applied to routes created through newRoute mutation if no operator preference is specified in the request. * @deprecated In favor of `excluded_countries`. */ excluded?: Maybe; /** Ranking configuration for the operator. An operator can be ranked on different levels in different countries. Default operator preference applied to routes created through createRoute mutation if no operator preference is specified in the request. */ ranking_levels?: Maybe; /** List of countries where the operator is excluded. Default operator preference applied to routes created through createRoute mutation if no operator preference is specified in the request. */ excluded_countries?: Maybe>; /** List of countries where the operator is avoided. Default operator preference applied to routes created through createRoute mutation if no operator preference is specified in the request. */ avoided_countries?: Maybe>; }; /** Criteria to filter operators in the operator list query. */ export type OperatorListFilter = { /** ISO-3166 alpha-2 country codes an operator is active in. */ countries?: Maybe>; /** List of ranking level(s) to be retrieved. Valid values are 1 to 10. Default operator preference applied to routes created through newRoute mutation if no operator preference is specified in the request. */ ranking?: Maybe>; /** Only retrieve operators that are in the excluded list. Default operator preference applied to routes created through newRoute mutation if no operator preference is specified in the request. */ excluded?: Maybe; /** List of ranking level(s) to be retrieved. An operator can be ranked on different levels in different countries. Default operator preference applied to routes created through createRoute mutation if no operator preference is specified in the request. */ ranking_levels?: Maybe; /** List of countries where the operator is excluded. Default operator preference applied to routes created through createRoute mutation if no operator preference is specified in the request. */ excluded_countries?: Maybe>; }; /** Query parameters to filter operators in the operator list query. */ export type OperatorListQuery = { /** Unique operator ID. */ id?: Maybe; /** External ID of an operator provided by an operator data source. */ external_id?: Maybe; /** Exact name. */ name?: Maybe; /** Exact country code. */ country?: Maybe; }; export enum OperatorPreferenceType { /** Operators that have been set as preferred or required. */ RANKED = "ranked", /** Operators that have not been set as neither preferred or required or avoided nor excluded. */ UNRANKED = "unranked", /** Operators that have been set to be avoided. */ AVOIDED = "avoided", /** Operators that have been set to be excluded. */ EXCLUDED = "excluded" } /** Operator ranking level. */ export enum OperatorRankingLevel { LOW = "low", MEDIUM = "medium", HIGH = "high" } /** Ranking configuration for the operator. An operator can be ranked on different levels in different countries. Default operator preference applied to routes created through createRoute mutation if no operator preference is specified in the request. */ export type OperatorRankingLevels = { /** Low level for operators ranking. */ low?: Maybe>; /** Medium level for operators ranking. */ medium?: Maybe>; /** High level for operators ranking. */ high?: Maybe>; }; /** Filter operators by ranking levels. */ export type OperatorRankingLevelsFilter = { /** Low level for operators ranking. */ low?: Maybe>; /** Medium level for operators ranking. */ medium?: Maybe>; /** High level for operators ranking. */ high?: Maybe>; }; export type OutsideTempInput = { /** Value of the outside temperature. */ value: Scalars["Float"]; /** Preferred unit for the outside temperature. */ type: TemperatureUnit; /** Source of inputted data, defaults to 'manual'. */ source?: Maybe; }; export type OutsideTemperature = { /** Value of the temperature. */ value: Scalars["Float"]; /** Preferred unit for the outside temperature. */ type: TemperatureUnit; /** Source of inputted data. */ source: TelemetryInputSource; }; export type OutsideTemperatureInput = { /** Value of the outside temperature. */ value: Scalars["Float"]; /** Preferred unit for the outside temperature. */ type: TemperatureUnit; /** Source of inputted data. */ source?: Maybe; }; /** Information about the list page. */ export type PageInfo = { /** Flag that indicates if it has a next page. */ has_next_page: Scalars["Boolean"]; /** Flag that indicates if it has a previous page. */ has_previous_page: Scalars["Boolean"]; /** Cursor of the first connection of the page. If the page is empty, this is null. */ start_cursor?: Maybe; /** Cursor of the last connection of the page. If the page is empty, this is null. */ end_cursor?: Maybe; }; export enum ParkingCost { /** Parking is free. */ FREE = "free", /** Parking includes a fee. */ PAID = "paid" } export type PathSegment = { /** Elevation (altitude) in meters. */ elevation?: Maybe; /** Average speed, in km/h, for this route path segment. */ averageSpeed?: Maybe; /** Consumption, in kWh, of a route path segment. */ consumption?: Maybe; /** Consumption, in kWh per km, of a route path segment. */ consumptionPerKm?: Maybe; /** Distance, in meters, of a route path segment. */ distance?: Maybe; /** Duration, in seconds, of a route path segment. */ duration?: Maybe; /** State of charge, in kWh, of a route path segment. */ stateOfCharge?: Maybe; }; /** A GeoJSON Point. */ export type Point = { /** Point type. */ type: PointType; /** The coordinates array with longitude as first value and latitude as second one. */ coordinates: Array; }; /** A GeoJSON Point input. */ export type PointInput = { /** Point type. */ type: PointType; /** Coordinates [longitude, latitude]. */ coordinates: Array; }; /** GeoJSON Point type. */ export enum PointType { POINT = "Point" } /** Polygon properties. */ export type PolygonProperties = { /** Index of the feature inside the list. */ index?: Maybe; }; /** Number of decimals for a polyline. */ export enum PolylineInputDecimals { FIVE = "five", SIX = "six" } export type PowerInput = { /** Value of the positive or negative power. When negative the vehicle is charging. */ value: Scalars["Float"]; /** Preferred unit for the power. */ type: PowerUnit; /** Source of inputted data, defaults to 'manual'. */ source?: Maybe; }; export enum PowerSupported { /** Power is supported. */ AVAILABLE = "available", /** Power is not supported. */ NOT_AVAILABLE = "not_available", /** Power is announced, but not yet supported. */ ANNOUNCED = "announced" } export enum PowerUnit { /** Return the power in kilowatts. */ KILOWATT = "kilowatt", /** Return the power in horsepower. */ HORSEPOWER = "horsepower" } export enum PressureUnit { /** Return the pressure in bar. */ BAR = "bar", /** Return the pressure in pounds per square inch. */ POUNDS_PER_SQUARE_INCH = "pounds_per_square_inch" } export type Pricing = { /** Unique ID of a price. */ id?: Maybe; /** Price details. */ price_list?: Maybe>>; }; export type PricingList = { /** (MSP) Mobility Service Provider. */ partner?: Maybe; /** Product details. */ product?: Maybe; /** Price product elements. */ elements?: Maybe>>; }; export type PricingListElement = { /** Price element type. */ type?: Maybe; /** Price of the element type without VAT. */ price_excl_vat?: Maybe; /** VAT percentage to apply. */ vat?: Maybe; }; export enum PricingListElementType { /** Price per kWh. */ ENERGY = "ENERGY", /** Starting price, fixed fee per charge session. */ FLAT = "FLAT", /** Fixed price per hour. */ TIME = "TIME", /** Parking price per hour. */ PARKING_TIME = "PARKING_TIME" } export type PricingListProduct = { /** Name of the payment card or subscription. If name is 'Adhoc price' the price is the CPO price. */ name?: Maybe; /** Description of the product. */ description?: Maybe; /** Subscription type. */ subscription_type?: Maybe; /** Subscription fee without VAT. */ subscription_fee_excl_vat?: Maybe; /** Currency. */ currency?: Maybe; }; export type Query = { /** Get a full list of amenities around a station. */ amenityList?: Maybe>>; /** [BETA] Get a connected vehicles by id */ connectedVehicle?: Maybe; /** [BETA] Get the connected vehicles for the current user */ connectedVehicleList?: Maybe>>; /** [BETA] Retrieve live vehicle data by connected vehicle id */ connectedVehicleData?: Maybe; /** Get an isoline by ID. */ isoline?: Maybe; /** [BETA] Get a navigation session by ID */ navigation?: Maybe; /** Get a full list of operators. */ operatorList?: Maybe>>; /** Get information about an operator by its ID. */ operator?: Maybe; /** Get all reviews of a station by the station ID. */ reviewList?: Maybe>; /** * Get all reviews of stations that were added by an authenticated user. * The `x-token` header is mandatory in order to authorize the user who wants to retrieve all the reviews added by him/her. * This is a premium feature, contact Chargetrip for more information. */ userReviewList?: Maybe>; /** * Get emissions for a route. * @deprecated In favor of `getRouteEmissions`. */ routeEmissions: RouteEmissions; /** * Get a route by ID. * @deprecated In favor of `getRoute`. */ route?: Maybe; /** * Get a route path segment by ID. * @deprecated In favor of `RouteDetails.path_plot`. */ routePath?: Maybe; /** Get emissions for a route. */ getRouteEmissions: RouteDetailsEmissions; /** Get a route by ID. */ getRoute: RouteResponse; /** [BETA] Search for stations with amenities within a specific time window and distance of a previously calculated route. */ getRouteStationsWithAmenities: RouteStationsWithAmenitiesConnection; /** Get information about a station by its ID. */ station?: Maybe; /** Get a full list of stations. */ stationList?: Maybe>>; /** Search for stations around a GeoJSON point with a specific distance in meters. */ stationAround?: Maybe>>; /** Get information about a tariff by the tariff ID. */ tariff?: Maybe; /** Get the full list of tariffs. */ tariffList?: Maybe>>; /** Get information about a vehicle by its ID. */ vehicle?: Maybe; /** Vehicle premium data provides even more information about your vehicle: tire pressure, prices, drivetrain data, and more. Please contact us for access to premium data. */ vehiclePremium?: Maybe; /** Get a full list of vehicles. */ vehicleList?: Maybe>>; /** [BETA] Get a full list of vehicle makes. */ vehicleMakes: VehicleMakesConnection; /** [BETA] Get a full list of vehicle make models. */ vehicleModels: VehicleModelsConnection; }; export type QueryamenityListArgs = { stationId: Scalars["ID"]; filter?: Maybe; size?: Maybe; page?: Maybe; }; export type QueryconnectedVehicleArgs = { id: Scalars["ID"]; }; export type QueryconnectedVehicleListArgs = { filter?: Maybe; size?: Maybe; page?: Maybe; }; export type QueryconnectedVehicleDataArgs = { id: Scalars["ID"]; }; export type QueryisolineArgs = { id: Scalars["ID"]; }; export type QuerynavigationArgs = { id: Scalars["ID"]; }; export type QueryoperatorListArgs = { query?: Maybe; search?: Maybe; filter?: Maybe; size?: Maybe; page?: Maybe; }; export type QueryoperatorArgs = { id: Scalars["ID"]; }; export type QueryreviewListArgs = { stationId: Scalars["ID"]; size?: Maybe; page?: Maybe; }; export type QueryuserReviewListArgs = { size?: Maybe; page?: Maybe; }; export type QueryrouteEmissionsArgs = { route_id: Scalars["ID"]; route_alternative_id?: Maybe; }; export type QueryrouteArgs = { id: Scalars["ID"]; }; export type QueryroutePathArgs = { id: Scalars["ID"]; location: PointInput; alternativeId?: Maybe; }; export type QuerygetRouteEmissionsArgs = { route_id: Scalars["ID"]; route_details_id: Scalars["ID"]; }; export type QuerygetRouteArgs = { id: Scalars["ID"]; }; export type QuerygetRouteStationsWithAmenitiesArgs = { route_id: Scalars["ID"]; route_details_id: Scalars["ID"]; time_window: RouteTimeWindow; amenity_types: Array; filter?: Maybe; first?: Maybe; after?: Maybe; }; export type QuerystationArgs = { id?: Maybe; evse_id?: Maybe; }; export type QuerystationListArgs = { query?: Maybe; filter?: Maybe; search?: Maybe; size?: Maybe; page?: Maybe; }; export type QuerystationAroundArgs = { query?: Maybe; filter?: Maybe; search?: Maybe; size?: Maybe; page?: Maybe; }; export type QuerytariffArgs = { id: Scalars["ID"]; }; export type QuerytariffListArgs = { size?: Maybe; page?: Maybe; }; export type QueryvehicleArgs = { id: Scalars["ID"]; country?: Maybe; }; export type QueryvehiclePremiumArgs = { id: Scalars["ID"]; country?: Maybe; }; export type QueryvehicleListArgs = { search?: Maybe; filter?: Maybe; country?: Maybe; size?: Maybe; page?: Maybe; }; export type QueryvehicleMakesArgs = { country?: Maybe; }; export type QueryvehicleModelsArgs = { filter?: Maybe; country?: Maybe; first?: Maybe; after?: Maybe; }; export type RemoveConnectedVehicleInput = { /** Id from the connected vehicle */ id: Scalars["ID"]; }; /** EV specific data for a route request. */ export type RequestEv = { /** Internal ID of a Vehicle. */ id?: Maybe; /** EV battery specific data. */ battery?: Maybe; /** Supported plugs for an EV. */ plugs?: Maybe>>; /** Supported adapters of plugs for an EV. */ adapters?: Maybe>>; /** Minimum desired power of chargers. */ minPower?: Maybe; /** Climate is on. */ climate?: Maybe; /** Vehicle Heat Pump configuration. */ heatPump?: Maybe; /** Vehicle cabin configuration. */ cabin?: Maybe; /** Cargo weight, in kg. */ cargo?: Maybe; /** * Number of passengers on board. * @deprecated In favor of `occupants`. */ numberOfPassengers?: Maybe; /** Number of occupants. */ occupants?: Maybe; /** Consumption specific to an EV or inputted by a request. */ consumption?: Maybe; }; export type RequestEvBattery = { /** Usable capacity of the battery used to compute the route. If this in not filled in, value as the vehicle battery.usable_kwh. */ capacity?: Maybe; /** Usable capacity of a battery, in kWh. This value is computed from the provided capacity value. */ capacityKwh?: Maybe; /** Current amount of energy in a battery. If this is not filled in, we assume the battery is full and it will be equal to the battery.usable_kwh. */ stateOfCharge?: Maybe; /** Current amount of energy in a battery, in kWh. This value is computed from the provided state of charge. */ stateOfChargeKwh?: Maybe; /** Desired final amount of energy in a battery. If this is not filled in, it will be set to 20% of the vehicle battery.usable_kwh. */ finalStateOfCharge?: Maybe; /** Desired final amount of energy in a battery, in kWh. This value is computed from the provided final state of charge. */ finalStateOfChargeKwh?: Maybe; }; export type RequestEvBatteryInput = { /** Usable capacity of a battery used to compute a route. We recommend you stay between 50% and 150%. If this in not filled in, we assume it is the same value as the vehicle battery.usable_kwh. */ capacity?: Maybe; /** Current amount of energy in a battery. If this is not filled in, we assume the battery is full and we fill it in with vehicle battery.usable_kwh. */ stateOfCharge?: Maybe; /** Desired final amount of energy in a battery. The value should be between 0 and 80% of the vehicle battery.usable_kwh If this is not filled in, we assume it is 20% of the vehicle battery.usable_kwh. */ finalStateOfCharge?: Maybe; }; export type RequestEvBatteryInputValue = { /** Value of a desired final amount of energy in a battery. */ value: Scalars["Float"]; /** Type of a desired final amount of energy in a battery. */ type: BatteryInputType; }; export type RequestEvBatteryValue = { /** Value of the desired final amount of energy in a battery. */ value: Scalars["Float"]; /** Type of the desired final amount of energy in a battery. */ type: BatteryInputType; }; /** Vehicle cabin configuration. */ export type RequestEvCabin = { /** Flag which indicate if the vehicle cabin was preconditioned for the desired temperature. */ isPreconditioned?: Maybe; /** Desired cabin temperature. Default is 20 degrees Celsius or 68 degrees Fahrenheit. */ desiredTemperature?: Maybe; }; /** Vehicle cabin configuration. */ export type RequestEvCabindesiredTemperatureArgs = { unit?: Maybe; }; /** Vehicle cabin configuration. */ export type RequestEvCabinInput = { /** Flag which indicate if the vehicle cabin was preconditioned for the desired temperature. */ isPreconditioned?: Maybe; /** Desired cabin temperature. Default is 20 degrees Celsius or 68 degrees Fahrenheit. */ desiredTemperature?: Maybe; }; export type RequestEvConsumption = { /** The amount of energy, in kWh, used by the auxiliary systems of the vehicle in an hour, like media box, etc */ auxiliary?: Maybe; /** * Consumption, in kWh, of the auxiliaries. * @deprecated In favor of `auxiliary` */ aux?: Maybe; /** * Consumption, in kWh, of the battery management system. * @deprecated In favor of `auxiliary` */ bms?: Maybe; /** * Consumption, in kWh, of the vehicle in idle mode. * @deprecated In favor of `auxiliary` */ idle?: Maybe; }; export type RequestEvConsumptionInput = { /** Amount of energy, in kWh, used by the auxiliary systems of the vehicle in an hour, like media box, etc. */ auxiliary?: Maybe; /** Consumption, in kWh, of the auxiliaries. */ aux?: Maybe; /** Consumption, in kWh, of the battery management system. */ bms?: Maybe; /** Consumption, in kWh, of the vehicle in idle mode. */ idle?: Maybe; }; export type RequestEvInput = { /** Internal ID of a Vehicle. */ id: Scalars["ID"]; /** The EV battery specific data. */ battery?: Maybe; /** Supported plugs of an EV. */ plugs?: Maybe>>; /** Supported adapters of plugs of an EV. */ adapters?: Maybe>>; /** Minimum desired power of chargers. */ minPower?: Maybe; /** Flag which indicates if the climate is on. */ climate?: Maybe; /** Vehicle Heat Pump configuration. */ heatPump?: Maybe; /** Vehicle cabin configuration. */ cabin?: Maybe; /** Number of passengers on board. */ numberOfPassengers?: Maybe; /** Number of occupants. */ occupants?: Maybe; /** Cargo weight, in kg. */ cargo?: Maybe; /** Consumption specific to the EV or inputted by the request. */ consumption?: Maybe; /** Consumption, in kWh, of the auxiliaries. */ auxConsumption?: Maybe; /** Consumption, in kWh, of the battery management system. */ bmsConsumption?: Maybe; }; export type RequestEvPlug = { /** Type of the plug. */ standard?: Maybe; /** Maximum charging speed for a plug. */ chargingPower?: Maybe; }; export type RequestEvPlugInput = { /** Type of a plug. */ standard: ConnectorType; /** Maximum charging speed for this plug. */ chargingPower: Scalars["Float"]; }; export type RequestInput = { /** EV specific data for a route request. */ ev: RequestEvInput; /** Route request data. */ routeRequest: RequestRouteInput; /** Telemetry data used to overwrite routing parameters. */ telemetry?: Maybe; }; export type RequestRoute = { /** * Requested amenities near the stations, within a 1 kilometer radius. * @deprecated In favor of `amenity_preferences`. */ amenities?: Maybe>>; /** Amenity preferences for a route. */ amenity_preferences?: Maybe; /** * Requested operators. * @deprecated In favor of `operators`. */ operatorIds?: Maybe>>; /** * Preferred operators are required. In case there are no preferred operators the route cannot be calculated. * @deprecated In favor of `operators`. */ operatorRequired?: Maybe; /** * Encourage the route to use preferred operators. In case there are no preferred operators the route can still be calculated. * @deprecated In favor of `operators`. */ operatorPrefer?: Maybe; /** Operator prioritization for a route. */ operators?: Maybe; /** Season. */ season?: Maybe; /** Percentage for the minimum limit of the battery capacity before a recharge. The value should be between 0 and 60. When omitted, the project configuration is used. */ safeRiskMargin?: Maybe; /** Origin of a route. */ origin?: Maybe; /** Destination of a route. */ destination?: Maybe; /** Locations where a route will stop. */ via?: Maybe>>; /** Radius in meters for alternative stations along a route (min 500 - max 5000). */ stationsAlongRouteRadius?: Maybe; /** * Flag indicating wether the turn-by-turn navigation instructions should be prepared. Disclaimer: The functionality is under active development and the final API is a subject to change. Not ready for production. * @deprecated All routes will have turn-by-turn instructions prepared. Boolean will be ignored. */ instructions?: Maybe; /** Mode that indicates if we optimize the charging time or always charge to the maximum capacity. */ chargeMode?: Maybe; }; export type RequestRouteInput = { /** A list of desired amenities near the stations, with a 1 kilometer radius. */ amenities?: Maybe>>; /** Amenity preferences for a route. */ amenity_preferences?: Maybe; /** A list of requested operators. */ operatorIds?: Maybe>>; /** Flag which indicates if the operators are required. */ operatorRequired?: Maybe; /** Flag which indicates if the preferred operators should be loaded. */ operatorPrefer?: Maybe; /** Operator prioritization for a route. */ operators?: Maybe; /** Optional flag to specify the season. */ season?: Maybe; /** Percentage for a minimum limit of a battery capacity before a recharge. The value should be between 0 and 60. When omitted, the project configuration is used. */ safeRiskMargin?: Maybe; /** Mode that indicates if we optimize the charging time or always charge to the maximum capacity. */ chargeMode?: Maybe; /** Origin of a route. */ origin: FeaturePointInput; /** Destination of a route. */ destination: FeaturePointInput; /** An optional list of locations where we should stop. */ via?: Maybe>>; /** Alternative stations along a route within a specified radius in meters (minimum 500, maximum 5000). */ stationsAlongRouteRadius?: Maybe; /** Flag to enable turn-by-turn instructions. */ instructions?: Maybe; }; export type RequestUser = { /** ID of the user. */ id?: Maybe; }; /** Review model. */ export type Review = { /** ID of a review. */ id: Scalars["ID"]; /** Station for which a review was provided. */ station?: Maybe; /** User who added a review. If a review was added by an anonymous user, this will be null. */ user?: Maybe; /** Rating of a review. */ rating?: Maybe; /** Message of a review. */ message?: Maybe; /** Locale of a message. */ locale?: Maybe; /** Vehicle that was provided/selected by a user. */ ev?: Maybe; /** Plug type that was provided/selected by a user. */ plugType?: Maybe; /** Optional object where you can store custom data you need in your application. This extends the current functionalities we offer. */ properties?: Maybe; /** Boolean tags for a station review. */ tags?: Maybe; /** Date and time when a review was created. */ createdAt?: Maybe; /** Date and time when a review was updated. */ updatedAt?: Maybe; }; /** Form input to add a new review. */ export type ReviewAdd = { /** Station ID for which a review is provided. */ stationId: Scalars["String"]; /** Rating of a review. */ rating: Scalars["Int"]; /** Review message. */ message?: Maybe; /** Locale of a message. */ locale?: Maybe; /** ID of the vehicle that was provided/selected by a user. */ ev?: Maybe; /** Plug type that was provided/selected by a user. */ plugType?: Maybe; /** Optional object where you can store custom data you need in your application. This extends the current functionalities we offer. */ properties?: Maybe; /** Boolean tags for a station review. */ tags?: Maybe; }; /** Form input for edit an existing review. */ export type ReviewEdit = { /** Rating of a review. */ rating: Scalars["Int"]; /** Review message. */ message?: Maybe; /** Locale of a message. */ locale?: Maybe; /** Optional object where you can store custom data you need in your application. This extends the current functionalities we offer. */ properties?: Maybe; /** Boolean tags for a station review. */ tags?: Maybe; }; /** Statistical information for reviews of a station. */ export type ReviewStats = { /** Average of all reviews. */ rating?: Maybe; /** 'Total number of reviews. */ count?: Maybe; }; /** Boolean tags for the station review. */ export type ReviewTags = { /** Flag which indicates if the station was working when the review was added. */ working?: Maybe; /** Flag which indicates if the user recommended the station when the review was added. */ recommended?: Maybe; }; /** Boolean tags for a station review. */ export type ReviewTagsInput = { /** Flag which indicates if a station was working when the review was added. */ working?: Maybe; /** Flag which indicates if a user recommended a station when the review was added. */ recommended?: Maybe; }; /** Special format for the user of a review. */ export type ReviewUser = { /** User full name. If a review was added by an anonymous user, this will be null. */ name?: Maybe; }; export type Route = { /** Recommended route. */ route?: Maybe; /** Available alternatives. */ alternatives?: Maybe>>; /** EV specific data for a route request. */ ev?: Maybe; /** Route telemetry data. */ telemetry?: Maybe; /** @deprecated You will receive null values. */ user?: Maybe; /** Route request data. */ routeRequest?: Maybe; /** Application who requested a route. */ app?: Maybe; /** Route status. */ status?: Maybe; }; export type RouteAlternative = { /** ID of a route alternative. */ id?: Maybe; /** Type of alternative route. */ type?: Maybe; /** Number of charging stops required for this route. */ charges?: Maybe; /** Number of available charges along a route. */ chargesAvailable?: Maybe; /** Number of occupied charges along a route. */ chargesOccupied?: Maybe; /** Number of unknown charges along a route. */ chargesUnknown?: Maybe; /** Number of out of order charges along a route. */ chargesOutOfOrder?: Maybe; /** Total distance of a route in meters. */ distance?: Maybe; /** Total duration of a route, including charge time, in seconds. */ duration?: Maybe; /** Total energy used for a route in kWh. */ consumption?: Maybe; /** Total time required to charge for an entire route, in seconds. */ chargeTime?: Maybe; /** * Amenity ranking for an alternative. * @deprecated Will be removed. */ amenityRanking?: Maybe; /** Display value that indicates the range, in meters, available at the beginning of the trip. This range is calculated using the Chargetrip range, the conditions at the time of planning the route, weather scenario (current or seasonal) and the route input. */ rangeStart?: Maybe; /** Total energy in a battery at the beginning of a trip, in kWh. */ rangeStartKwh?: Maybe; /** Total energy in a battery at the beginning of a trip, in percentage. */ rangeStartPercentage?: Maybe; /** Display value that indicates the range, in meters, available at the end of the trip. This range is calculated using the Chargetrip range, the conditions at the time of planning the route, weather scenario (current or seasonal) and the route input. Please note: In case of a non BEV where the range end is negative, the value will be 0. */ rangeEnd?: Maybe; /** Remaining range, energy in kWh, at the end of a trip. In the case of a non BEV where the range end is negative, the value will be 0. */ rangeEndKwh?: Maybe; /** Remaining range, energy in percentage, at the end of a trip. */ rangeEndPercentage?: Maybe; /** Text information about a route direction. */ via?: Maybe; /** Polyline containing encoded coordinates. */ polyline?: Maybe; /** Path elevation, distance, duration, consumption and speed values, grouped into 100 segments. */ pathPlot?: Maybe>>; /** * Elevation values. Each elevationPlot has a hundred points, independent of the length of a route. * @deprecated In favor of `pathPlot`. */ elevationPlot?: Maybe>>; /** Total number of meters which are going up on a route. */ elevationUp?: Maybe; /** Total number of meters which are going down on a route. */ elevationDown?: Maybe; /** Highest value from the elevation array. */ elevationMax?: Maybe; /** Money and CO2 saving information. */ saving?: Maybe; /** Legs of the route. */ legs?: Maybe>>; /** List of raw turn-by-turn navigation instructions. */ instructions?: Maybe>>; /** Alternative stations along a route within specified radius in meters. Only if it was provided at newRoute mutation. */ stationsAlongRoute?: Maybe>>; /** Tags of a route alternative. Values: road, highway, toll, ferry, etc. */ tags?: Maybe>>; }; export type RouteAlternativepolylineArgs = { decimals?: Maybe; }; export type RouteAlternativeSaving = { /** Total amount of CO2, in grams, which would be used with a gasoline vehicle. */ co2?: Maybe; /** Money saved by a user driving this route with the electric vehicle. */ money?: Maybe; /** Currency. */ currency?: Maybe; /** Average gas price with which the calculation was made. */ averageGasPrice?: Maybe; /** Average energy price with which the calculation was made. */ averageEnergyPrice?: Maybe; }; /** Types of an alternative route. */ export enum RouteAlternativeType { /** Fastest route between origin and destination. */ FASTEST = "fastest", /** Best matching route based on operator and amenities preferences. */ BESTMATCHING = "bestMatching", /** An alternative to the fastest route. */ ALTERNATIVE = "alternative" } export type RouteAmenityFilter = { /** Maximum distance from the station to the amenity. The value must be between 0 and 1 000 meters. If not specified, defaults to 250 meters. */ maximum_distance_from_station?: Maybe; }; /** Amenity preferences for a route. */ export type RouteAmenityPreferences = { /** Desired amenities near all charge-stops along a route, with a 1 kilometer radius. */ all_charge_stops?: Maybe>; /** Scheduled charge stops, with a specified amenity and timeline. */ scheduled_charge_stops?: Maybe>; }; export type RouteApp = { /** ID of the app who requested a route. */ id?: Maybe; }; /** Types of route features that can be avoided in routing. */ export enum RouteAvoid { TOLL_ROAD = "toll_road", FERRY = "ferry" } export type RouteDestinationFeaturePoint = { /** ID of the feature. */ id?: Maybe; /** Feature type. */ type: FeatureType; /** Geometry of the feature. */ geometry?: Maybe; /** Additional feature properties. */ properties?: Maybe; }; export type RouteDestinationFeaturePointInput = { /** ID of the feature. */ id?: Maybe; /** Feature type. */ type: FeatureType; /** Geometry of the feature. */ geometry?: Maybe; /** Additional feature properties. */ properties?: Maybe; }; export type RouteDestinationProperties = { /** Data about the destination location. */ location?: Maybe; /** Data about the destination station. */ station?: Maybe; }; export type RouteDestinationPropertiesInput = { /** Data about the destination location. */ location?: Maybe; /** Specifies a charging station at the destination. If a known station is provided, it will be used as charging stop. Any configured operator preferences are ignored for this stop. */ station?: Maybe; }; export type RouteDetails = { /** ID of a route computation. */ id: Scalars["ID"]; /** Total distance of a route. */ distance: Scalars["Float"]; /** Aggregation of all durations of a route. */ durations: RouteDetailsDurations; /** Total energy used for a route in kilowatt hours. For HEVs and PHEVs this field will return null. */ consumption?: Maybe; /** Range available at the start of a trip. The ranges in kilometers and miles are estimates, calculated based on the Chargetrip range, current route conditions, weather scenario (current or seasonal), and the route input at the time of planning. For HEVs and PHEVs this field will return null. */ range_at_origin?: Maybe; /** Range available at the end of a trip. Note: The ranges in kilometers and miles are estimates, calculated based on the Chargetrip range, current route conditions, weather scenario (current or seasonal), and the route input at the time of planning. For HEVs and PHEVs this field will return null. */ range_at_destination?: Maybe; /** Polyline containing encoded coordinates. */ polyline: Scalars["String"]; /** Path elevation, distance, duration, consumption and speed values, grouped into 100 segments. */ path_plot: Array; /** Details about elevation on a route. */ elevation: RouteDetailsElevation; /** Money saving information. */ savings?: Maybe; /** Legs of a route. */ legs: Array; /** * Alternative stations along a route within a specified radius. * * Includes stations from preferred/required/avoided operators but excludes stations from excluded operators. * This list is only populated if `alternative_station_radius` was specified in the `createRoute` mutation. */ alternative_stations: Array; /** Aggregation of tags over the current RouteDetails. Tags are available on legs and further subdivided over individual sections and maneuvers. */ tags: Array; /** Number of charging stops required for this route. */ charges: Scalars["Int"]; /** [BETA] Warnings that certain conditions specified in a route mutation are not respected. */ warnings?: Maybe>; /** [BETA] Traffic conditions along the route. Only returns data if `traffic_aware` is set to true in the `createRoute` mutation. */ traffic?: Maybe; }; export type RouteDetailsdistanceArgs = { unit?: Maybe; }; export type RouteDetailsrange_at_originArgs = { unit?: Maybe; }; export type RouteDetailsrange_at_destinationArgs = { unit?: Maybe; }; export type RouteDetailspolylineArgs = { decimals?: Maybe; }; export type RouteDetailsAlternativeStation = { /** ID of a station. */ id: Scalars["ID"]; /** GeoJSON location of a station. */ location: Point; /** Speed of a station. A station along a route can be either fast or turbo. */ speed: StationSpeedType; /** Status of a station. */ status: ChargerStatus; /** The value indicates the operator's ranking based on the station's location, in accordance with the list of countries from the configuration or request. */ operator_ranking?: Maybe; /** ID of the station's operator. */ operator_id?: Maybe; }; export type RouteDetailsDurations = { /** Total duration, in seconds. */ total: Scalars["Int"]; /** Total charging duration, in seconds. */ charging: Scalars["Int"]; /** Total driving duration, in seconds. Takes into account traffic congestion when `traffic_aware` is set to true in the `createRoute` mutation. */ driving: Scalars["Int"]; /** Total duration stopped at a location via or at a station via, excluding charging time and charging penalty, in seconds. */ stopover: Scalars["Int"]; /** Total ferry duration, in seconds. */ ferry: Scalars["Int"]; }; export type RouteDetailsElevation = { /** Total value driving uphill on a route. */ up: Scalars["Float"]; /** Total value driving downhill on a route. */ down: Scalars["Float"]; /** Maximum elevation on a route. */ maximum: Scalars["Float"]; /** Minimum elevation on a route. */ minimum: Scalars["Float"]; }; export type RouteDetailsElevationupArgs = { unit?: Maybe; }; export type RouteDetailsElevationdownArgs = { unit?: Maybe; }; export type RouteDetailsElevationmaximumArgs = { unit?: Maybe; }; export type RouteDetailsElevationminimumArgs = { unit?: Maybe; }; export type RouteDetailsEmissions = { /** ID of the route for which we retrieve the emissions profile. */ route_id: Scalars["ID"]; route_alternative_id: Scalars["ID"]; /** Emissions profile for the vehicle used in route. */ route_vehicle: RouteVehicleEmissions; internal_combustion_vehicle: RouteInternalCombustionVehicleEmissions; /** Estimated GHG emissions saved by a user driving this route with the electric vehicle in grams of CO2e. */ co2e_saved: Scalars["Float"]; }; export type RouteDetailsEmissionsinternal_combustion_vehicleArgs = { fuel_type?: Maybe; }; export type RouteDetailsEmissionsco2e_savedArgs = { unit?: Maybe; }; /** Leg of a route detail. */ export type RouteDetailsLeg = { /** Distance from the start to the end of a leg. */ distance: Scalars["Float"]; /** Aggregation of all durations of a route leg. */ durations: RouteDetailsDurations; /** Total energy used in a leg in kilowatt hours. For HEVs and PHEVs this field will return null. */ consumption?: Maybe; /** Origin point location. */ origin: RouteDetailsLegFeaturePoint; /** Destination point location. */ destination: RouteDetailsLegFeaturePoint; /** Range at the start of a leg. The ranges in kilometers and miles are estimates, calculated based on the Chargetrip range, current route conditions, weather scenario (current or seasonal), and the route input at the time of planning. For HEVs and PHEVs this field will return null. */ range_at_origin?: Maybe; /** Range available at the end of a leg. The ranges in kilometers and miles are estimates, calculated based on the Chargetrip range, current route conditions, weather scenario (current or seasonal), and the route input at the time of planning. For HEVs and PHEVs this field will return null. */ range_at_destination?: Maybe; /** Range after charging on the leg. The ranges in kilometers and miles are estimates, calculated based on the Chargetrip range, current route conditions, weather scenario (current or seasonal), and the route input at the time of planning. For HEVs and PHEVs this field will return null. */ range_after_charge?: Maybe; /** Type of a leg. */ type: RouteDetailsLegType; /** Information about the station at the destination of a leg. */ station?: Maybe; /** Polyline containing encoded coordinates. */ polyline: Scalars["String"]; /** Aggregation of tags over the current leg. Tags are further subdivided over individual sections and maneuvers. */ tags: Array; /** Maneuvers of a leg - used to generate turn-by-turn instructions. */ maneuvers: Array; /** Road sections of a leg - divided by means of transportation. */ sections: Array; /** [BETA] Warnings that certain conditions specified in a route mutation are not respected. */ warnings?: Maybe>; /** [BETA] Traffic conditions along the leg. Only returns data if `traffic_aware` is set to true in the `createRoute` mutation. */ traffic?: Maybe; }; /** Leg of a route detail. */ export type RouteDetailsLegdistanceArgs = { unit?: Maybe; }; /** Leg of a route detail. */ export type RouteDetailsLegrange_at_originArgs = { unit?: Maybe; }; /** Leg of a route detail. */ export type RouteDetailsLegrange_at_destinationArgs = { unit?: Maybe; }; /** Leg of a route detail. */ export type RouteDetailsLegrange_after_chargeArgs = { unit?: Maybe; }; /** Leg of a route detail. */ export type RouteDetailsLegpolylineArgs = { decimals?: Maybe; }; export type RouteDetailsLegFeaturePoint = { /** ID of the feature. */ id?: Maybe; /** Feature type. */ type: FeatureType; /** Geometry of the feature. */ geometry: Point; /** Properties of the feature. */ properties?: Maybe; }; export type RouteDetailsLegFeatureProperties = { /** Name of the location. */ name?: Maybe; /** ID of the station. */ station_id?: Maybe; /** External ID of the station. */ external_station_id?: Maybe; /** Temperature at the location. */ temperature?: Maybe; /** Air pressure at the location. */ air_pressure?: Maybe; /** Solar irradiance at the location. */ solar_irradiance?: Maybe; /** * Duration, in seconds, of time spent at this location. * @deprecated In favor of `legs.durations`. */ duration?: Maybe; /** Number of occupants present in the vehicle. */ occupants?: Maybe; /** Value of the combined weight of the occupants. */ total_occupant_weight?: Maybe; /** Value of the current weight of the cargo. */ total_cargo_weight?: Maybe; }; export type RouteDetailsLegFeaturePropertiestemperatureArgs = { unit?: Maybe; }; export type RouteDetailsLegFeaturePropertiestotal_occupant_weightArgs = { unit?: Maybe; }; export type RouteDetailsLegFeaturePropertiestotal_cargo_weightArgs = { unit?: Maybe; }; export type RouteDetailsLegManeuverPoints = { /** Number of polyline points which are included in this instruction. */ size: Scalars["Int"]; /** Interval of points included in this instruction, represented as an array with two values: the first is the index of the polyline where the interval starts, and the second is where it ends. */ interval: Array; }; /** Type of a maneuver indicating the main action. */ export enum RouteDetailsLegManeuverType { UNKNOWN = "UNKNOWN", U_TURN_UNKNOWN = "U_TURN_UNKNOWN", U_TURN_LEFT = "U_TURN_LEFT", KEEP_LEFT = "KEEP_LEFT", LEAVE_ROUNDABOUT = "LEAVE_ROUNDABOUT", TURN_SHARP_LEFT = "TURN_SHARP_LEFT", TURN_LEFT = "TURN_LEFT", TURN_SLIGHT_LEFT = "TURN_SLIGHT_LEFT", CONTINUE_ON_STREET = "CONTINUE_ON_STREET", TURN_SLIGHT_RIGHT = "TURN_SLIGHT_RIGHT", TURN_RIGHT = "TURN_RIGHT", TURN_SHARP_RIGHT = "TURN_SHARP_RIGHT", FINISH = "FINISH", REACHED_VIA = "REACHED_VIA", REACHED_CHARGING_STATION = "REACHED_CHARGING_STATION", USE_ROUNDABOUT = "USE_ROUNDABOUT", KEEP_RIGHT = "KEEP_RIGHT", U_TURN_RIGHT = "U_TURN_RIGHT", PT_START_TRIP = "PT_START_TRIP", PT_TRANSFER = "PT_TRANSFER", PT_END_TRIP = "PT_END_TRIP", IGNORE = "IGNORE" } export type RouteDetailsLegSection = { /** Section type. */ type: RouteDetailsLegSectionType; /** Origin point. */ origin: RouteDetailsLegSectionFeaturePoint; /** Destination point. */ destination: RouteDetailsLegSectionFeaturePoint; /** Aggregation of tags over the current section. */ tags: Array; /** Polyline containing encoded coordinates. */ polyline: Scalars["String"]; /** Distance from the start to the end of a section. */ distance: Scalars["Float"]; /** Total duration of a section, in seconds. The value will be 0 for walking sections. */ duration: Scalars["Float"]; /** Total energy used in a section in kilowatt-hours. The value will be 0 for walking sections. */ consumption?: Maybe; /** [BETA] Information regarding traffic conditions along the leg's section. Available for routes created with traffic_aware set to true. */ traffic?: Maybe; }; export type RouteDetailsLegSectionpolylineArgs = { decimals?: Maybe; }; export type RouteDetailsLegSectiondistanceArgs = { unit?: Maybe; }; export type RouteDetailsLegSectionFeaturePoint = { /** ID of the feature. */ id?: Maybe; /** Feature type. */ type: FeatureType; /** Geometry of the feature. */ geometry: Point; /** Properties of the feature. */ properties: RouteDetailsLegSectionFeaturePointProperties; }; export type RouteDetailsLegSectionFeaturePointProperties = { /** Number of occupants present in the vehicle. */ occupants: Scalars["Int"]; /** Value of the combined weight of the occupants. */ total_occupant_weight?: Maybe; /** Value of the current weight of the cargo. */ total_cargo_weight?: Maybe; }; export type RouteDetailsLegSectionFeaturePointPropertiestotal_occupant_weightArgs = { unit?: Maybe; }; export type RouteDetailsLegSectionFeaturePointPropertiestotal_cargo_weightArgs = { unit?: Maybe; }; export type RouteDetailsLegSectionTraffic = { /** [BETA] Traffic congestion intervals mapped to the polyline indices of the leg's section. */ congestions: Array; }; /** Type of a route details leg section. */ export enum RouteDetailsLegSectionType { DRIVING = "driving", FERRY = "ferry", WALKING = "walking" } export type RouteDetailsLegStation = { /** ID of a station. */ station_id: Scalars["ID"]; /** ID of the EVSE that was selected in a route. */ evse_id?: Maybe; /** ID of the connector that was selected in a route. */ connector_id: Scalars["ID"]; }; export type RouteDetailsLegTraffic = { /** [BETA] Traffic congestion intervals mapped to the polyline indices of the leg. */ congestions: Array; }; /** Type of a leg. */ export enum RouteDetailsLegType { /** This leg ends at a charging station and the vehicle must recharge. */ STATION = "station", /** This leg ends at a via charging station and the vehicle must recharge. */ STATION_VIA = "station_via", /** This leg ends at the destination which is a charging station, and is the last leg of the route. */ STATION_FINAL = "station_final", /** This leg ends at a scheduled charging station and the vehicle must recharge. */ STATION_AMENITY = "station_amenity", /** This leg ends at a via location. */ VIA = "via", /** This leg ends at the destination, and is the last leg of the route. */ FINAL = "final" } export type RouteDetailsLegWarning = { /** The code of the warning. */ code: RouteDetailsLegWarningCode; }; /** Types of warnings that can be encountered in a route leg. */ export enum RouteDetailsLegWarningCode { /** The via location cannot be reached by vehicle. */ VIA_NOT_VEHICLE_ACCESSIBLE = "via_not_vehicle_accessible", /** The leg could not use stations from the preferred operator(s). */ OPERATORS_PREFERRED_NOT_AVAILABLE = "operators_preferred_not_available", /** Vehicle's load may exceed the maximum supported weight of the vehicle. */ MAXIMUM_WEIGHT_EXCEEDED = "maximum_weight_exceeded", /** The leg includes sections requested to be avoided. */ SEGMENT_UNAVOIDABLE = "segment_unavoidable", /** The charging station used in the leg has limited opening hours. */ STATION_LIMITED_OPEN_HOURS = "station_limited_open_hours", /** The leg's charging station has unknown open hours. */ STATION_UNKNOWN_OPEN_HOURS = "station_unknown_open_hours", /** The leg's charging station is closed at the estimated time of arrival. */ STATION_CLOSED = "station_closed", /** The leg's charging station is closing within 45 minutes of the estimated time of arrival. */ STATION_CLOSING_SOON = "station_closing_soon", /** The specified stop duration at the via charging station is insufficient to start a charging session. */ VIA_INSUFFICIENT_CHARGING_TIME = "via_insufficient_charging_time", /** The selected via station does not have compatible connectors that meet the minimum power threshold. The route still includes this charging stop, but charging will be slower than requested. */ VIA_STATION_BELOW_MINIMUM_POWER = "via_station_below_minimum_power", /** The charging station at the destination does not have any connectors compatible with the selected vehicle. */ DESTINATION_CHARGER_INCOMPATIBLE = "destination_charger_incompatible", /** The charging station at the destination is restricted to heavy-duty trucks. */ DESTINATION_STATION_TRUCK_ONLY = "destination_station_truck_only" } export type RouteDetailsManeuver = { /** Type of instruction. */ type: RouteDetailsLegManeuverType; /** Location of the maneuver. */ location: RouteDetailsLegSectionFeaturePoint; /** Name of the street associated with the instruction. */ name?: Maybe; /** Distance, in meters, of a route instruction. */ distance: Scalars["Float"]; /** Duration, in seconds, of a route instruction. */ duration: Scalars["Int"]; /** Information about the points on a polyline. */ points: RouteDetailsLegManeuverPoints; /** Exit number on a roundabout. This field exists only on sign `USE_ROUNDABOUT` (6), otherwise this value is null. */ exit_number?: Maybe; /** Curvature angle between the roundabout and the exit of the roundabout. This field exists only on sign USE_ROUNDABOUT (6), otherwise this value is `null`. */ turn_angle?: Maybe; /** Aggregation of tags over the current maneuver. */ tags: Array; }; export type RouteDetailsManeuverdistanceArgs = { unit?: Maybe; }; export type RouteDetailsPathSegment = { /** Elevation value of a route path segment. */ elevation: Scalars["Float"]; /** Average speed of a route path segment. This value is determined using legal maximum speed and, if provided, the user defined maximum speed. */ average_speed: Scalars["Float"]; /** Consumption, in kilowatt hours, of a route path segment. For HEVs and PHEVs this field will return null. */ consumption?: Maybe; /** Distance of a route path segment. */ distance: Scalars["Float"]; /** Duration, in seconds, of a route path segment. */ duration: Scalars["Float"]; /** State of charge, in kilowatt hours, of a route path segment. For HEVs and PHEVs this field will return null. */ state_of_charge?: Maybe; /** * Maximum vehicle speed of a route path segment. * @deprecated Will be removed. */ maximum_speed: Scalars["Float"]; }; export type RouteDetailsPathSegmentelevationArgs = { unit?: Maybe; }; export type RouteDetailsPathSegmentaverage_speedArgs = { unit?: Maybe; }; export type RouteDetailsPathSegmentdistanceArgs = { unit?: Maybe; }; export type RouteDetailsPathSegmentstate_of_chargeArgs = { unit?: Maybe; }; export type RouteDetailsPathSegmentmaximum_speedArgs = { unit?: Maybe; }; /** Money saving information. */ export type RouteDetailsSavings = { /** Money saved by a user driving this route with an electric vehicle. */ money?: Maybe; /** Average gas price with which the calculation was made. */ average_gas_price: Scalars["Float"]; /** Average energy price with which the calculation was made. */ average_energy_price: Scalars["Float"]; }; /** Money saving information. */ export type RouteDetailsSavingsmoneyArgs = { currency?: Maybe; }; /** Money saving information. */ export type RouteDetailsSavingsaverage_gas_priceArgs = { currency?: Maybe; }; /** Money saving information. */ export type RouteDetailsSavingsaverage_energy_priceArgs = { currency?: Maybe; }; /** Tags of a route. */ export enum RouteDetailsTag { ROAD = "road", HIGHWAY = "highway", TOLL = "toll", FERRY = "ferry", WALKING = "walking", CROSSBORDER = "crossborder" } export type RouteDetailsTraffic = { /** [BETA] Additional driving duration, in seconds, caused by traffic congestion compared to free-flow conditions. This value is already included in route total and driving durations. */ delay: Scalars["Int"]; /** [BETA] Traffic congestion intervals mapped to the polyline indices of the leg. */ congestions: Array>; }; export type RouteDrivingPreferences = { /** [BETA] Factor to adjust the route's calculated average speed. Accepts values between 0.80 and 1.20. 1.0 is neutral. Values below 1.0 reduce speed (e.g. 0.95 is -5%), values above increase it. If provided in combination with style, this overrides the speed factor implied by the selected 'style'. */ speed_factor?: Maybe; /** [BETA] Maximum speed to consider when generating the route. In the segments where legal speed is lower than this value, the legal speed will be used instead. If provided in combination with 'style, this overrides the maximum speed implied by the selected 'style'. */ maximum_speed?: Maybe; /** [BETA] Defines a driving style. If provided in combination with 'maximum_speed' or 'speed_factor', those values override the values defined by the selected 'style'. */ style?: Maybe; }; export type RouteDrivingPreferencesInput = { /** [BETA] Factor to adjust the route's calculated average speed. Accepts values between 0.80 and 1.20. 1.0 is neutral. Values below 1.0 reduce speed (e.g. 0.95 is -5%), values above increase it. If provided in combination with style, this overrides the speed factor implied by the selected 'style'. */ speed_factor?: Maybe; /** [BETA] Maximum speed to consider when generating the route. In the segments where legal speed is lower than this value, the legal speed will be used instead. If provided in combination with 'style, this overrides the maximum speed implied by the selected 'style'. */ maximum_speed?: Maybe; /** [BETA] Defines a driving style. If provided in combination with 'maximum_speed' or 'speed_factor', those values override the values defined by the selected 'style'. */ style?: Maybe; }; export enum RouteDrivingStyle { /** Lower average driving speed and lower energy consumption. Applies a speed limit of 110 km/h to all segments where a higher legal limit is allowed and reduces by 5% the route's average driving speed. */ ECO = "eco", /** Higher average driving speed and higher energy consumption. Applies no speed limit and increases by 5% the route's average driving speed. */ SPORT = "sport" } export type RouteEmbeddedEmissions = { /** Total embedded emissions. */ total: Scalars["Float"]; /** Manufacturing emissions. */ manufacturing: RouteEmbeddedManufacturingEmissions; /** Total distribution emissions. */ distribution: Scalars["Float"]; /** Distribution sea segment emissions. */ maritime: RouteEmbeddedMaritimeEmissions; /** Distribution land segment emissions. */ land: RouteEmbeddedLandEmissions; }; export type RouteEmbeddedEmissionstotalArgs = { unit?: Maybe; }; export type RouteEmbeddedEmissionsdistributionArgs = { unit?: Maybe; }; export type RouteEmbeddedLandEmissions = { /** Total embedded land segment emissions. */ total: Scalars["Float"]; /** Distribution land segment emissions from fuel consumption. */ fuel: Scalars["Float"]; /** Distribution land segment lifecycle emissions. */ lifecycle: Scalars["Float"]; }; export type RouteEmbeddedLandEmissionstotalArgs = { unit?: Maybe; }; export type RouteEmbeddedLandEmissionsfuelArgs = { unit?: Maybe; }; export type RouteEmbeddedLandEmissionslifecycleArgs = { unit?: Maybe; }; export type RouteEmbeddedManufacturingEmissions = { /** Total embedded manufacturing emissions. */ total: Scalars["Float"]; /** Vehicle body manufacturing emissions. */ body: Scalars["Float"]; /** Lithium ion battery manufacturing emissions. */ battery?: Maybe; }; export type RouteEmbeddedManufacturingEmissionstotalArgs = { unit?: Maybe; }; export type RouteEmbeddedManufacturingEmissionsbodyArgs = { unit?: Maybe; }; export type RouteEmbeddedManufacturingEmissionsbatteryArgs = { unit?: Maybe; }; export type RouteEmbeddedMaritimeEmissions = { /** Total embedded maritime emissions. */ total: Scalars["Float"]; /** Fuel related maritime segment emissions. */ fuel: Scalars["Float"]; /** Port facility related maritime segment emissions. */ port: Scalars["Float"]; /** Idling related maritime segment emissions. */ idle: Scalars["Float"]; /** Distributed lifecycle related maritime segment emissions. */ lifecycle: Scalars["Float"]; }; export type RouteEmbeddedMaritimeEmissionstotalArgs = { unit?: Maybe; }; export type RouteEmbeddedMaritimeEmissionsfuelArgs = { unit?: Maybe; }; export type RouteEmbeddedMaritimeEmissionsportArgs = { unit?: Maybe; }; export type RouteEmbeddedMaritimeEmissionsidleArgs = { unit?: Maybe; }; export type RouteEmbeddedMaritimeEmissionslifecycleArgs = { unit?: Maybe; }; export type RouteEmissions = { /** ID of the route for which we retrieve the emissions profile. */ route_id: Scalars["ID"]; /** ID of the route alternative for which we retrieve the emissions profile. */ route_alternative_id: Scalars["ID"]; /** Emissions profile for the vehicle used in route. */ route_vehicle: RouteVehicleEmissions; /** Emissions profile for an equivalent internal combustion engine vehicle. */ internal_combustion_vehicle: RouteInternalCombustionVehicleEmissions; }; export type RouteEmissionsinternal_combustion_vehicleArgs = { fuel_type?: Maybe; }; export type RouteEndOfLifeEmissions = { /** Total end of life emissions. */ total: Scalars["Float"]; /** Fluid related end of life emissions. */ fluids: FluidEndOfLifeEmissions; /** Battery related end of life emissions. */ battery: Scalars["Float"]; /** Tire related end of life emissions. */ tires: Scalars["Float"]; /** Body end of life emissions. */ body: Scalars["Float"]; /** Transport end of life emissions. */ transport: Scalars["Float"]; }; export type RouteEndOfLifeEmissionstotalArgs = { unit?: Maybe; }; export type RouteEndOfLifeEmissionsbatteryArgs = { unit?: Maybe; }; export type RouteEndOfLifeEmissionstiresArgs = { unit?: Maybe; }; export type RouteEndOfLifeEmissionsbodyArgs = { unit?: Maybe; }; export type RouteEndOfLifeEmissionstransportArgs = { unit?: Maybe; }; export type RouteInstruction = { /** Information about the points on the polyline. */ points?: Maybe; /** Sign of the instruction. See `RouteInstructionSign`. */ sign?: Maybe; /** Name of the street on which the instruction is. */ name?: Maybe; /** Distance, in meters, of the current route instruction. */ distance?: Maybe; /** Duration, in seconds, of the current route instruction. */ time?: Maybe; /** Exit number on a roundabout. This field exists only on sign `USE_ROUNDABOUT` (6), otherwise is null. */ exit_number?: Maybe; /** Curvature angle between the roundabout and street you exit the roundabout. This field exists only on sign USE_ROUNDABOUT (6), otherwise is null. */ turn_angle?: Maybe; }; export type RouteInstructionPoints = { /** Number of polyline points which are included in this instruction. */ size?: Maybe; /** The interval of points that are included in this instruction, an array with 2 values, where the first value is the index of the polyline where the interval starts. The second value is where it ends. */ interval?: Maybe>>; }; /** Sign belonging to the instruction indicating the main maneuver. */ export enum RouteInstructionSign { UNKNOWN = "UNKNOWN", U_TURN_UNKNOWN = "U_TURN_UNKNOWN", U_TURN_LEFT = "U_TURN_LEFT", KEEP_LEFT = "KEEP_LEFT", LEAVE_ROUNDABOUT = "LEAVE_ROUNDABOUT", TURN_SHARP_LEFT = "TURN_SHARP_LEFT", TURN_LEFT = "TURN_LEFT", TURN_SLIGHT_LEFT = "TURN_SLIGHT_LEFT", CONTINUE_ON_STREET = "CONTINUE_ON_STREET", TURN_SLIGHT_RIGHT = "TURN_SLIGHT_RIGHT", TURN_RIGHT = "TURN_RIGHT", TURN_SHARP_RIGHT = "TURN_SHARP_RIGHT", FINISH = "FINISH", REACHED_VIA = "REACHED_VIA", REACHED_CHARGING_STATION = "REACHED_CHARGING_STATION", USE_ROUNDABOUT = "USE_ROUNDABOUT", KEEP_RIGHT = "KEEP_RIGHT", U_TURN_RIGHT = "U_TURN_RIGHT", PT_START_TRIP = "PT_START_TRIP", PT_TRANSFER = "PT_TRANSFER", PT_END_TRIP = "PT_END_TRIP", IGNORE = "IGNORE" } export type RouteInternalCombustionVehicleEmissions = { /** Total co2e emissions. */ total: Scalars["Float"]; /** Total co2e emissions from vehicle operational processes calculated using the methodology in section 5.2.2 of ISO 14083:2023 and default emissions intensities in Annex K of the same document. */ iso_14083_2023: Scalars["Float"]; /** Embedded emissions, for example emissions produced during manufacturing, transportation, and delivery. */ embedded: RouteEmbeddedEmissions; /** Operational emissions. */ operational: RouteInternalCombustionVehicleOperationalEmissions; /** End of life emissions. */ end_of_life: RouteEndOfLifeEmissions; /** Emissions info for the legs in the same order as in the route. */ legs: Array; }; export type RouteInternalCombustionVehicleEmissionstotalArgs = { unit?: Maybe; }; export type RouteInternalCombustionVehicleEmissionsiso_14083_2023Args = { unit?: Maybe; }; export type RouteInternalCombustionVehicleLegEmissions = { /** Total co2e emissions. */ total: Scalars["Float"]; /** Total co2e emissions from vehicle operational processes calculated using the methodology in section 5.2.2 of ISO 14083:2023 and default emissions intensities in Annex K of the same document. */ iso_14083_2023: Scalars["Float"]; /** Embedded emissions, for example emissions produced during manufacturing, transportation, and delivery. */ embedded: RouteEmbeddedEmissions; /** Operational emissions. */ operational: RouteInternalCombustionVehicleOperationalEmissions; /** End of life emissions. */ end_of_life: RouteEndOfLifeEmissions; }; export type RouteInternalCombustionVehicleLegEmissionstotalArgs = { unit?: Maybe; }; export type RouteInternalCombustionVehicleLegEmissionsiso_14083_2023Args = { unit?: Maybe; }; export type RouteInternalCombustionVehicleOperationalEmissions = { /** Total operational emissions. */ total: Scalars["Float"]; /** Fuel emissions. */ fuel: RouteOperationalFuelEmissions; /** Road infrastructure emissions. */ infrastructure: RouteOperationalInfrastructureEmissions; /** Maintenance emissions. */ maintenance: RouteOperationalMaintenanceEmissions; }; export type RouteInternalCombustionVehicleOperationalEmissionstotalArgs = { unit?: Maybe; }; export type RouteLeg = { /** ID of a leg. */ id?: Maybe; /** Distance from the start to the end of a leg, in meters. */ distance?: Maybe; /** Total drive time from the start to the end of a leg, in seconds. */ duration?: Maybe; /** Total energy used in a leg in kWh. */ consumption?: Maybe; /** Display value that indicates the range, in meters, available at the beginning of the leg. This range is calculated using the Chargetrip range, the conditions at the time of planning the route, weather scenario (current or seasonal) and the route input. */ rangeStart?: Maybe; /** Total energy in a battery at the beginning of a leg, in kWh. */ rangeStartKwh?: Maybe; /** Total energy in a battery at the beginning of a trip, in percentage. */ rangeStartPercentage?: Maybe; /** Display value that indicates the range, in meters, available at the end of the leg. This range is calculated using the Chargetrip range, the conditions at the time of planning the route, weather scenario (current or seasonal) and the route input. Please note: In case of a non BEV where the range end is negative, the value will be 0. */ rangeEnd?: Maybe; /** Total energy left in a battery at the end of a leg, in kWh. In the case of a non BEV where the range end is negative, the value will be 0. */ rangeEndKwh?: Maybe; /** Remaining range, energy in percentage, at the end of a trip. */ rangeEndPercentage?: Maybe; /** Origin point location. */ origin?: Maybe; /** Destination point location. */ destination?: Maybe; /** Type of a leg. */ type?: Maybe; /** Name of a destination. This is the station name in case a user should charge or the name of the location in case this was provided. */ name?: Maybe; /** ID of a station. */ stationId?: Maybe; /** ID of an operator. */ operatorId?: Maybe; /** Name of an operator. */ operatorName?: Maybe; /** Ranking of an operator. */ operatorRanking?: Maybe; /** Total time required to charge a battery until 80%, in seconds. */ chargeTime?: Maybe; /** Recommended EVSE where to charge. */ evse?: Maybe; /** Recommended connector for charging. */ connector?: Maybe; /** Number of compatible plugs available at a charge station. */ plugsAvailable?: Maybe; /** Number of compatible plugs occupied at a charge station. */ plugsOccupied?: Maybe; /** Number of compatible plugs unknown at a charge station. */ plugsUnknown?: Maybe; /** Number of compatible plugs out of order at a charge station. */ plugsOutOfOrder?: Maybe; /** Total number of compatible plugs at a charge station. */ plugsCount?: Maybe; /** Polyline containing encoded coordinates. */ polyline?: Maybe; /** Steps of a leg. */ steps?: Maybe>>; /** Tags of a leg. Values: road, highway, toll, ferry. */ tags?: Maybe>>; /** Cargo weight in a vehicle for the duration of a leg, in kg. */ cargo?: Maybe; /** Number of occupants in a vehicle for the duration of a leg. */ occupants?: Maybe; }; export type RouteLegpolylineArgs = { decimals?: Maybe; }; export type RouteLegMeta = { /** Warnings that certain conditions specified in a route mutation are not respected. */ warnings: Array; }; export type RouteLegOperationalElectricityEmissions = { /** Total electricity emissions. */ total: Scalars["Float"]; /** Base emissions without efficiency losses. */ base_value: Scalars["Float"]; /** Emissions for electricity lost in the battery. */ battery_losses: Scalars["Float"]; /** Emissions for electricity lost in transmission. */ transmission_losses: Scalars["Float"]; /** Emissions for electricity lost during charging. */ chargepoint_losses: Scalars["Float"]; /** Electricity efficiency information. */ efficiency: RouteOperationalElectricityEmissionsEfficiency; /** Electricity intensity information. */ intensity: RouteLegOperationalElectricityEmissionsIntensity; }; export type RouteLegOperationalElectricityEmissionstotalArgs = { unit?: Maybe; }; export type RouteLegOperationalElectricityEmissionsbase_valueArgs = { unit?: Maybe; }; export type RouteLegOperationalElectricityEmissionsbattery_lossesArgs = { unit?: Maybe; }; export type RouteLegOperationalElectricityEmissionstransmission_lossesArgs = { unit?: Maybe; }; export type RouteLegOperationalElectricityEmissionschargepoint_lossesArgs = { unit?: Maybe; }; /** Electricity emission intensity for a leg */ export type RouteLegOperationalElectricityEmissionsIntensity = { /** Total average electricity emissions intensity in unit CO2e/kWh. */ total: Scalars["Float"]; /** Base regional electricity emissions intensity for the leg. */ base_regional_value: EmissionsFactor; /** Base regional electricity intensity used for the ISO 14083:2023 emissions estimation. */ base_iso_14083_2023_regional_value: EmissionsFactor; /** Electricity mix for the leg. */ energy_sources: RouteOperationalElectricityEnergySources; /** Model used to estimate the electricity mix. */ energy_source_model: RouteOperationalElectricityEnergySourceModel; /** Average emissions intensity of processing and transport of primary energy, power generation infrastructure, etc. in unit CO2e/kWh. */ infrastructure: Scalars["Float"]; /** Season for which the leg was calculated. */ season: RouteOperationalElectricitySeason; /** Climate for which the leg was calculated. */ climate: RouteOperationalElectricityClimate; /** Estimated electricity demand at the time and place the electricity for this leg was obtained as a fraction of the annual average demand. */ average_demand: Scalars["Float"]; /** Fraction of regional power generation that is not affected by demand (is assumed to always be on). */ base_load_fraction: Scalars["Float"]; }; /** Electricity emission intensity for a leg */ export type RouteLegOperationalElectricityEmissionsIntensitytotalArgs = { unit?: Maybe; }; /** Electricity emission intensity for a leg */ export type RouteLegOperationalElectricityEmissionsIntensityinfrastructureArgs = { unit?: Maybe; }; export type RouteMeta = { /** Warnings that certain conditions specified in a route mutation are not respected. */ warnings: Array; }; export type RouteMetaWarning = { /** Static identifier, can be used for production purposes such as i18n. */ code: Scalars["String"]; /** Human readable explanation of the warning, for development purposes. */ message: Scalars["String"]; /** Optional JSON object containing data explaining the warning, for development purposes. */ data?: Maybe; }; export type RouteMetadata = { /** Refers to the x-app-id specified in the headers. */ app_id: Scalars["ID"]; /** Date when a route was created by a createRoute mutation. */ created_at: Scalars["DateTime"]; /** Last updated date of a route. */ updated_at: Scalars["DateTime"]; /** Length of time required to successfully calculate a route, in milliseconds. */ computation_time?: Maybe; }; /** Köppen climate classification. */ export enum RouteOperationalElectricityClimate { /** Tropical rain forest climate. */ AF = "Af", /** Tropical monsoon climate. */ AM = "Am", /** Tropical savanna climate, dry summer. */ AW = "Aw", /** Tropical savanna climate, dry winter. */ AS = "As", /** Hot desert climate. */ BWH = "BWh", /** Cold desert climate. */ BWK = "BWk", /** Hot semi-arid climate. */ BSH = "BSh", /** Cold semi-arid climate. */ BSK = "BSk", /** Monsoon-influenced humid subtropical climate. */ CWA = "Cwa", /** Subtropical highland climate. */ CWB = "Cwb", /** Cold subtropical highland climate. */ CWC = "Cwc", /** Humid subtropical climate. */ CFA = "Cfa", /** Temperate oceanic climate. */ CFB = "Cfb", /** Sub polar oceanic climate. */ CFC = "Cfc", /** Hot-summer Mediterranean climate. */ CSA = "Csa", /** Warm-summer Mediterranean climate. */ CSB = "Csb", /** Cold-summer Mediterranean climate. */ CSC = "Csc", /** Monsoon-influenced hot-summer humid continental climate. */ DWA = "Dwa", /** Monsoon-influenced warm-summer humid continental climate. */ DWB = "Dwb", /** Monsoon-influenced subarctic climate. */ DWC = "Dwc", /** Monsoon-influenced extremely cold subarctic climate. */ DWD = "Dwd", /** Hot-summer humid continental climate. */ DFA = "Dfa", /** Warm-summer humid continental climate. */ DFB = "Dfb", /** Subarctic climate. */ DFC = "Dfc", /** Extremely cold subarctic climate. */ DFD = "Dfd", /** Mediterranean-influenced hot-summer humid continental climate. */ DSA = "Dsa", /** Mediterranean-influenced warm-summer humid continental climate. */ DSB = "Dsb", /** Mediterranean-influenced subarctic climate. */ DSC = "Dsc", /** Mediterranean-influenced extremely cold subarctic climate. */ DSD = "Dsd", /** Tundra climate. */ ET = "ET", /** Ice cap climate. */ EF = "EF" } export type RouteOperationalElectricityEmissions = { /** Total electricity emissions. */ total: Scalars["Float"]; /** Base emissions without efficiency losses. */ base_value: Scalars["Float"]; /** Emissions for electricity lost in the battery. */ battery_losses: Scalars["Float"]; /** Emissions for electricity lost in transmission. */ transmission_losses: Scalars["Float"]; /** Emissions for electricity lost during charging. */ chargepoint_losses: Scalars["Float"]; /** Electricity efficiency information. */ efficiency: RouteOperationalElectricityEmissionsEfficiency; /** Electricity intensity information. */ intensity: RouteOperationalElectricityEmissionsIntensity; }; export type RouteOperationalElectricityEmissionstotalArgs = { unit?: Maybe; }; export type RouteOperationalElectricityEmissionsbase_valueArgs = { unit?: Maybe; }; export type RouteOperationalElectricityEmissionsbattery_lossesArgs = { unit?: Maybe; }; export type RouteOperationalElectricityEmissionstransmission_lossesArgs = { unit?: Maybe; }; export type RouteOperationalElectricityEmissionschargepoint_lossesArgs = { unit?: Maybe; }; export type RouteOperationalElectricityEmissionsEfficiency = { /** Average total electricity efficiency. */ total: Scalars["Float"]; /** Average efficiency of the battery. */ battery: Scalars["Float"]; /** Average estimated transmission efficiency using the base transmission efficiency adjusting for temperature. */ transmission: Scalars["Float"]; /** Average base regional grid transmission efficiency. */ base_transmission: Scalars["Float"]; /** Average transmission efficiency change due to temperature. */ transmission_temperature_modifier: Scalars["Float"]; /** Average efficiency of the chargepoint. */ chargepoint: Scalars["Float"]; /** Average evse (electric vehicle supply equipment) efficiency of the chargepoint. */ evse: Scalars["Float"]; /** Average circuit breaker efficiency of the chargepoint. */ breaker: Scalars["Float"]; /** Average power electronics unit efficiency of the chargepoint. */ power_electronics_unit: Scalars["Float"]; /** Average transformer efficiency of the chargepoint. */ transformer: Scalars["Float"]; /** Change in chargepoint efficiency due to temperature. */ chargepoint_temperature_modifier: Scalars["Float"]; /** Average charging current in amperes. */ average_charging_current: Scalars["Float"]; /** Average charging voltage in volts. */ average_charging_voltage: Scalars["Float"]; /** Average outside temperature. */ average_temperature: Scalars["Float"]; /** Average regional temperature. */ average_regional_temperature: Scalars["Float"]; }; export type RouteOperationalElectricityEmissionsEfficiencyaverage_temperatureArgs = { unit?: Maybe; }; export type RouteOperationalElectricityEmissionsEfficiencyaverage_regional_temperatureArgs = { unit?: Maybe; }; /** Electricity emission intensity for the route */ export type RouteOperationalElectricityEmissionsIntensity = { /** Total average electricity emissions intensity in unit CO2e/kWh. */ total: Scalars["Float"]; /** Average base regional electricity emissions intensity in unit CO2e/kWh. */ average_base_regional_value: Scalars["Float"]; /** Total electricity intensity used for iso 14083:2023 scope emissions estimate in unit CO2e/kWh. */ iso_14083_2023: Scalars["Float"]; /** Average electricity mix for the route. */ energy_sources: RouteOperationalElectricityEnergySources; /** Average emissions intensity of processing and transport of primary energy, power generation infrastructure, etc. in unit CO2e/kWh. */ infrastructure: Scalars["Float"]; /** Average electricity demand at the time of route charges as a fraction of the annual average demand. */ average_demand: Scalars["Float"]; /** Fraction of regional power generation that is not affected by demand (is assumed to always be on). */ base_load_fraction: Scalars["Float"]; }; /** Electricity emission intensity for the route */ export type RouteOperationalElectricityEmissionsIntensitytotalArgs = { unit?: Maybe; }; /** Electricity emission intensity for the route */ export type RouteOperationalElectricityEmissionsIntensityaverage_base_regional_valueArgs = { unit?: Maybe; }; /** Electricity emission intensity for the route */ export type RouteOperationalElectricityEmissionsIntensityiso_14083_2023Args = { unit?: Maybe; }; /** Electricity emission intensity for the route */ export type RouteOperationalElectricityEmissionsIntensityinfrastructureArgs = { unit?: Maybe; }; /** Energy source models. */ export enum RouteOperationalElectricityEnergySourceModel { /** The current energy mix of the charging station provided by the CPO was used. */ OCPI_STATION_ENERGY_MIX = "ocpi_station_energy_mix", /** Historical average energy mix for the month. */ GRID_MONTHLY_AVERAGE = "grid_monthly_average", /** Historical average energy mix for the month and hour. */ GRID_HOURLY_AVERAGE = "grid_hourly_average", /** Estimate using historical average electricity demand for the month. */ GRID_DEMAND_BASED_MONTHLY_AVERAGE = "grid_demand_based_monthly_average", /** Estimate using historical average electricity demand for the month and hour. */ GRID_DEMAND_BASED_HOURLY_AVERAGE = "grid_demand_based_hourly_average", /** Estimate using the seasonal average electricity demand for the climate. */ CLIMATE_DEMAND_BASED_SEASONAL_AVERAGE = "climate_demand_based_seasonal_average", /** Estimate using the seasonal average electricity demand for the hour and climate. */ CLIMATE_DEMAND_BASED_HOURLY_AVERAGE = "climate_demand_based_hourly_average", /** Regional default energy mix. */ DEFAULT = "default" } export type RouteOperationalElectricityEnergySources = { /** Electricity produced by coal power plants. */ coal: ElectricityGenerationMethod; /** Electricity produced by natural gas power plants. */ gas: ElectricityGenerationMethod; /** Electricity produced by hydroelectric power. */ hydro: ElectricityGenerationMethod; /** Electricity produced by solar power. */ solar: ElectricityGenerationMethod; /** Electricity produced by wind power. */ wind: ElectricityGenerationMethod; /** Electricity produced by oil and other miscellaneous fossil fuel power plants. */ oil: ElectricityGenerationMethod; /** Electricity produced by nuclear power plants. */ nuclear: ElectricityGenerationMethod; /** Electricity produced by biofuel/biomass. */ biofuel: ElectricityGenerationMethod; /** Electricity produced by geothermal power plants. */ geothermal: ElectricityGenerationMethod; /** Electricity produced by other means. */ other: ElectricityGenerationMethod; }; /** Yearly seasons. */ export enum RouteOperationalElectricitySeason { /** Winter season. */ WINTER = "winter", /** Spring season. */ SPRING = "spring", /** Summer season. */ SUMMER = "summer", /** Fall season. */ FALL = "fall" } export type RouteOperationalFuelEmissions = { /** Total fuel emissions for the route. */ total: Scalars["Float"]; /** Direct (tank to wheels) fuel emissions for the route. */ direct: Scalars["Float"]; /** Indirect (well to tank) fuel emissions for the route. */ indirect: Scalars["Float"]; /** Total fuel consumption for the route. */ consumption: Scalars["Float"]; /** Estimated internal combustion vehicle weight. */ vehicle_weight: Scalars["Float"]; /** Estimated internal combustion vehicle engine torque. */ engine_torque: Scalars["Float"]; /** Average powertrain efficiency. */ powertrain_efficiency: Scalars["Float"]; /** Average base powertrain efficiency. */ base_powertrain_efficiency: Scalars["Float"]; /** Speed related change in powertrain efficiency from the base. */ powertrain_efficiency_speed_modifier: Scalars["Float"]; /** Average speed of the vehicle. */ average_speed: Scalars["Float"]; }; export type RouteOperationalFuelEmissionstotalArgs = { unit?: Maybe; }; export type RouteOperationalFuelEmissionsdirectArgs = { unit?: Maybe; }; export type RouteOperationalFuelEmissionsindirectArgs = { unit?: Maybe; }; export type RouteOperationalFuelEmissionsconsumptionArgs = { unit?: Maybe; }; export type RouteOperationalFuelEmissionsvehicle_weightArgs = { unit?: Maybe; }; export type RouteOperationalFuelEmissionsengine_torqueArgs = { unit?: Maybe; }; export type RouteOperationalFuelEmissionsaverage_speedArgs = { unit?: Maybe; }; /** Fuel types. */ export enum RouteOperationalFuelType { /** Gasoline fuel. */ GASOLINE = "gasoline", /** Diesel fuel. */ DIESEL = "diesel" } export type RouteOperationalInfrastructureEmissions = { /** Total road infrastructure emissions. */ total: Scalars["Float"]; /** Embedded (construction, decommissioning, etc) road infrastructure emissions. */ embedded: Scalars["Float"]; /** Induced road infrastructure maintenance emissions. */ maintenance: Scalars["Float"]; }; export type RouteOperationalInfrastructureEmissionstotalArgs = { unit?: Maybe; }; export type RouteOperationalInfrastructureEmissionsembeddedArgs = { unit?: Maybe; }; export type RouteOperationalInfrastructureEmissionsmaintenanceArgs = { unit?: Maybe; }; export type RouteOperationalMaintenanceEmissions = { /** Total maintenance emissions. */ total: RouteOperationalMaintenanceEmissionsField; /** Fluid related maintenance emissions. */ fluids: FluidMaintenanceEmissions; /** Battery related maintenance emissions. */ battery: RouteOperationalMaintenanceEmissionsField; /** Tire related maintenance emissions. */ tires: RouteOperationalMaintenanceEmissionsField; /** Miscellaneous component maintenance emissions. */ components: RouteOperationalMaintenanceEmissionsField; /** Accident repair related maintenance emissions. */ repair: RouteOperationalMaintenanceEmissionsField; }; export type RouteOperationalMaintenanceEmissionsField = { /** Total emissions. */ total: Scalars["Float"]; /** Emissions from replacement production and transport. */ production: Scalars["Float"]; /** Emissions from disposal. */ disposal: Scalars["Float"]; }; export type RouteOperationalMaintenanceEmissionsFieldtotalArgs = { unit?: Maybe; }; export type RouteOperationalMaintenanceEmissionsFieldproductionArgs = { unit?: Maybe; }; export type RouteOperationalMaintenanceEmissionsFielddisposalArgs = { unit?: Maybe; }; export type RouteOperatorPreferences = { /** Ranking of an operator with multiple levels, each level having its own penalty value. */ ranking?: Maybe; /** Operators that should be excluded for a route calculation. */ exclude?: Maybe>; /** Operators that should be avoided, but not excluded, for a route calculation. */ avoid?: Maybe>; }; /** Prioritized operators for a route calculation. */ export type RouteOperatorPreferencesInput = { /** Operators to be preferred in route calculation. If not specified, no operator ranking is applied (including project-configured ranking). */ ranking?: Maybe; /** Operators to be excluded from route calculation. If specified, overrides project-configured operator exclusions. If not specified, applies project-configured operator exclusions. */ exclude?: Maybe>; /** Operators that should be avoided, but not excluded, for a route calculation. */ avoid?: Maybe>; }; export type RouteOperatorPreferencesRanking = { /** Flag indicating if an operator should be preferred or required. */ type: RouteOperatorsType; /** Ranking levels for operator ranking. */ levels?: Maybe; }; export type RouteOperatorPreferencesRankingInput = { /** Determines how operator preferences are applied to stations during route calculation. If no ranking is provided through 'levels' or project settings, no operator preference is applied. */ type: RouteOperatorsType; /** Priority levels for operator ranking. If not specified, applies the specified enforcement type to the project-configured operator ranking. */ levels?: Maybe; }; export type RouteOperatorPreferencesRankingLevels = { /** Least significant level for operators ranking. */ low?: Maybe>; /** Medium level for operators ranking. */ medium?: Maybe>; /** Most significant level for operator ranking. */ high?: Maybe>; }; export type RouteOperatorPreferencesRankingLevelsInput = { /** Least significant level for operator ranking. */ low?: Maybe>; /** Medium level for operator ranking. */ medium?: Maybe>; /** Most significant level for operator ranking. */ high?: Maybe>; }; /** Prioritized operators for a route calculation. */ export type RouteOperators = { /** Flag indicating if the operators ranking should be preferred or required. */ type?: Maybe; /** Ranking of an operator with multiple levels, each level having it's own penalty value. */ ranking?: Maybe; /** Operator IDs which should be excluded from a route. */ exclude?: Maybe>>; }; /** Prioritized operators for a route calculation. */ export type RouteOperatorsInput = { /** Flag indicating if the operators ranking should be preferred or required. */ type?: Maybe; /** Ranking of an operator with multiple levels, each level having it's own penalty value. */ ranking?: Maybe; /** Operator IDs which should be excluded from a route. */ exclude?: Maybe>>; }; /** Ranking configuration for prioritized operators. */ export type RouteOperatorsRanking = { /** Level 1 (most significant) for operator ranking. */ level1?: Maybe>>; /** Level 2 for operator ranking. */ level2?: Maybe>>; /** Level 3 for operator ranking. */ level3?: Maybe>>; /** Level 4 for operator ranking. */ level4?: Maybe>>; /** Level 5 for operator ranking. */ level5?: Maybe>>; /** Level 6 for operator ranking. */ level6?: Maybe>>; /** Level 7 for operator ranking. */ level7?: Maybe>>; /** Level 8 for operator ranking. */ level8?: Maybe>>; /** Level 9 for operator ranking. */ level9?: Maybe>>; /** Level 10 (least significant) for operator ranking. */ level10?: Maybe>>; }; /** Ranking configuration for prioritized operators. */ export type RouteOperatorsRankingInput = { /** Level 1 (most significant) for operator ranking. */ level1?: Maybe>>; /** Level 2 for operator ranking. */ level2?: Maybe>>; /** Level 3 for operator ranking. */ level3?: Maybe>>; /** Level 4 for operator ranking. */ level4?: Maybe>>; /** Level 5 for operator ranking. */ level5?: Maybe>>; /** Level 6 for operator ranking. */ level6?: Maybe>>; /** Level 7 for operator ranking. */ level7?: Maybe>>; /** Level 8 for operator ranking. */ level8?: Maybe>>; /** Level 9 for operator ranking. */ level9?: Maybe>>; /** Level 10 (least significant) for operator ranking. */ level10?: Maybe>>; }; /** Type of operator prioritization for a route. */ export enum RouteOperatorsType { /** Operators ranking will not be taken into account if no type is given. */ NONE = "none", /** Operators given in the operators ranking will be preferred when calculating routes. */ PREFERRED = "preferred", /** Operators given in the operators ranking will be required when calculating routes, all other operators will be ignored. */ REQUIRED = "required" } export type RouteOperatorsValue = { /** ID of an operator. */ id: Scalars["ID"]; /** List of countries in which the operator should be preferred/excluded. When omitted the operator will be preferred/excluded in every country. */ countries?: Maybe>; }; export type RouteOperatorsValueInput = { /** ID of an operator. */ id: Scalars["ID"]; /** List of countries in which the operator should be preferred/excluded/avoided. When omitted the operator will be preferred/excluded in every country. */ countries?: Maybe>; }; export type RouteOriginFeaturePoint = { /** ID of the feature. */ id?: Maybe; /** Feature type. */ type: FeatureType; /** Geometry of the feature. */ geometry: Point; /** Optional object where additional properties can be specified. */ properties?: Maybe; }; export type RouteOriginFeaturePointInput = { /** ID of the feature. */ id?: Maybe; /** Feature type. */ type: FeatureType; /** Geometry of the feature. */ geometry: PointInput; /** Optional object where additional properties can be specified. */ properties?: Maybe; }; export type RouteOriginProperties = { /** Data about the origin location. */ location?: Maybe; /** Vehicle data at the origin location. */ vehicle?: Maybe; }; export type RouteOriginPropertiesInput = { /** Data about the origin location. */ location?: Maybe; /** Vehicle data at the origin location. */ vehicle?: Maybe; }; export type RoutePath = { /** GeoJSON location of a route path segment. */ location?: Maybe; /** Elevation (altitude) in meters. */ elevation?: Maybe; /** Average speed, in km/h, for this route path segment. */ averageSpeed?: Maybe; /** Recommended speed, in km/h for this route path segment to optimise the consumption. */ recommendedSpeed?: Maybe; /** Consumption, in kWh, of a route path segment. */ consumption?: Maybe; /** Consumption, in kWh per km, of a route path segment. */ consumptionPerKm?: Maybe; /** Distance, in meters, of a route path segment. */ distance?: Maybe; /** Duration, in seconds, of a route path segment. */ duration?: Maybe; /** State of charge, in kWh, of a route path segment. */ stateOfCharge?: Maybe; }; export type RoutePropertiesLocation = { /** Name that should overwrite the name that is automatically assigned to this location (for example: address or station name). */ name?: Maybe; }; export type RoutePropertiesLocationInput = { /** Name that should overwrite the name that is automatically assigned to this location (for example: address or station name). */ name?: Maybe; }; export type RoutePropertiesStation = { /** ID of the station. When provided and valid, the coordinates of this station will be used. */ station_id?: Maybe; /** External ID of the station. When provided and valid, the coordinates of this station will be used. */ external_station_id?: Maybe; /** Duration to stay at the station, in seconds. Includes charging time and charging penalty. When not provided, the duration is optimized based on the vehicle’s charging needs and selected charging mode. */ stop_duration?: Maybe; }; export type RoutePropertiesStationInput = { /** ID of the station. When provided and valid, the coordinates of this station will be used. */ station_id?: Maybe; /** External ID of the station. When provided and valid, the coordinates of this station will be used. */ external_station_id?: Maybe; /** Duration to stay at the station, in seconds. Includes charging time and charging penalty. When not provided, the duration is optimized based on the vehicle’s charging needs and selected charging mode. */ stop_duration?: Maybe; }; export type RoutePropertiesVehicle = { /** Number of occupants present in the vehicle. */ occupants: Scalars["Int"]; /** Combined weight of the occupants. This can only be used in combination with occupants. */ total_occupant_weight: TotalOccupantWeight; /** Weight of the cargo. */ total_cargo_weight?: Maybe; }; export type RoutePropertiesVehicleInput = { /** Number of occupants present in the vehicle. */ occupants?: Maybe; /** Combined weight of the occupants. This can only be used in combination with occupants. */ total_occupant_weight?: Maybe; /** Weight of the cargo. */ total_cargo_weight?: Maybe; }; export type RoutePropertiesViaLocation = { /** Name that should overwrite the name that is automatically assigned to this location (for example: address or station name). */ name?: Maybe; /** Duration to stay at this point, in seconds. */ stop_duration?: Maybe; }; export type RoutePropertiesViaLocationInput = { /** Name that should overwrite the name that is automatically assigned to this location (for example: address or station name). */ name?: Maybe; /** Duration to stay at this point, in seconds. */ stop_duration?: Maybe; }; export type RouteResponse = { /** ID of a route calculation. */ id: Scalars["ID"]; /** Status of a route. */ status: RouteStatus; /** Recommended route. */ recommended?: Maybe; /** [BETA] Alternative routes. */ alternatives?: Maybe>; /** Meta data for a route. */ meta: RouteMetadata; /** Route request. */ request_input: CreateRoute; }; /** Scheduled charge stop along a route. */ export type RouteScheduledChargeStop = { /** List of amenity types. */ types?: Maybe>>; /** Duration at the amenity, in seconds. */ duration?: Maybe; /** Maximum allowed offset from the stop_after value in seconds. Default is 1800. */ offset?: Maybe; /** Desired drive time before a scheduled stop after leaving the previous stop, in seconds. */ stop_after?: Maybe; /** Maximum distance from a station to an amenity, in meters. */ max_distance_from_station?: Maybe; }; /** The season of the route. */ export enum RouteSeason { /** We suppose it is summer and we have the best weather conditions. */ SUMMER = "summer", /** We suppose it is winter and we have the worst weather conditions. */ WINTER = "winter", /** We fetch the current weather conditions. */ CURRENT = "current" } export type RouteStationFilter = { /** Filters stations within this distance from the route path. The value must be between 0 and 10 000 meters. If not specified, defaults to 1 000 meters. */ maximum_distance_from_path?: Maybe; /** Filters stations by operator preference types. This filter depends exclusively on the preferences used for the route calculation. If not specified, stations from all preference types (ranked, unranked, avoided, excluded) are returned. */ operator_preference?: Maybe>; }; export type RouteStationOperator = { /** Unique operator ID. */ id?: Maybe; /** Operator's preference status specifically for this route calculation. */ preference_type: OperatorPreferenceType; }; export type RouteStationPreferences = { /** Prioritises charging stations located directly on the highway, avoiding exiting highways to charge. It's considered alongside final SOC and operator preferences, and may reduce their influence if they conflict. */ prefer_highway_charging?: Maybe; }; export type RouteStationPreferencesInput = { /** Prioritises charging stations located directly on the highway, avoiding exiting highways to charge. It's considered alongside final SOC and operator preferences, and may reduce their influence if they conflict. This logic may require additional client-specific tuning. Please contact Chargetrip if the behavior seems suboptimal. */ prefer_highway_charging?: Maybe; }; export type RouteStationWithAmenities = { /** ID of the station. */ id: Scalars["ID"]; /** ID of the station provided by the station data source. */ external_id?: Maybe; /** GeoJSON location of the station. */ location: Point; /** Information about the station's operator. */ operator: RouteStationOperator; /** Distance of the station to the closest point in the original route. */ distance_from_path: Scalars["Float"]; /** List of up to 5 amenities matching the specified amenity type. Sorted by ascending distance from the station. */ matching_amenities: Array; }; export type RouteStationWithAmenitiesdistance_from_pathArgs = { unit?: Maybe; }; export type RouteStationsAlong = { /** The ID of station. */ id?: Maybe; /** Geojson location of a station. */ location?: Maybe; /** Speed of a station. A station along a route can be either fast or turbo. */ speed?: Maybe; /** Status of a station. */ status?: Maybe; /** The station uses a preferred operator. */ preferredOperator?: Maybe; /** Distance in meters between station and route path. */ distance?: Maybe; }; export type RouteStationsWithAmenitiesConnection = { /** Total number of stations with amenities of the specified type. */ total_count: Scalars["Int"]; /** Information about the current page. */ page_info: PageInfo; /** List of stations with amenities of the specified type. */ nodes: Array; }; export type RouteStationsWithAmenityFilter = { /** Station filters. */ station?: Maybe; /** Amenity filters. */ amenity?: Maybe; }; /** The status of a route. The status can be pending, processing, done, not_found or error. */ export enum RouteStatus { /** Route is queued and pending processing. Temporary status. */ PENDING = "pending", /** We are computing the route for your request. Temporary status. */ PROCESSING = "processing", /** We finished computing the route, with a result. Final status. */ DONE = "done", /** We finished computing the route, without any result. Final status. */ NOT_FOUND = "not_found", /** An error occurred while computing the route. Final status. */ ERROR = "error" } export type RouteStep = { /** ID of a step. */ id?: Maybe; /** Type of a step. */ type?: Maybe; /** Polyline containing encoded coordinates. */ polyline?: Maybe; /** Distance from the start to the end of a step, in meters. */ distance?: Maybe; /** Total drive time from the start to the end of a step, in seconds. */ duration?: Maybe; /** Total energy used in a step in kWh. */ consumption?: Maybe; }; export type RouteSteppolylineArgs = { decimals?: Maybe; }; /** Tags of a route. */ export enum RouteTagType { ROAD = "road", HIGHWAY = "highway", TOLL = "toll", FERRY = "ferry", WALKING = "walking", CROSSBORDER = "crossborder" } /** Specifies a temporal window to search for stations with matching amenity types. Defined by a center from the journey origin and a surrounding time margin. */ export type RouteTimeWindow = { /** Center point of the search, expressed as the travel time, in seconds, from the journey's origin. */ center: Scalars["Int"]; /** Duration in seconds to extend the search on either side of the 'center'. Maximum allowed value is 2700 (45 minutes). If not specified, defaults to 900 seconds (15 minutes). */ margin?: Maybe; }; export type RouteVehicle = { /** ID of the vehicle. */ id: Scalars["ID"]; /** EV battery specific configuration. */ battery: RouteVehicleBattery; /** Charging configuration. */ charging: RouteVehicleCharging; /** Tire pressures of all wheels, ordered from front right to front left, then rear left to rear right. */ tire_pressure: TirePressure; /** Value of the vehicle's odometer. */ odometer?: Maybe; /** Value of the auxiliary power consumption of the vehicle. */ auxiliary_consumption: AuxiliaryConsumption; /** Flag indicating if climate control is on. */ climate: Scalars["Boolean"]; /** Vehicle Heat Pump configuration. */ heat_pump: HeatPumpMode; /** Vehicle cabin configuration used for the route calculation. Applied only if vehicle.climate is set to true. */ cabin: RouteVehicleCabin; /** Revolutions per minute of the motor, a measure of the rotational speed of the motor's rotor component. */ motor_rpm?: Maybe; /** Value of the outside temperature. */ outside_temperature?: Maybe; /** Flag indicating if a vehicle is in park, neutral, or turned off. */ is_parked?: Maybe; /** Value of the vehicle's speed. */ vehicle_speed?: Maybe; /** Current heading in degrees. */ heading?: Maybe; }; export type RouteVehicleBattery = { /** Usable capacity of a battery used to compute a route. Value must be between 50% and 150%. If not provided, it defaults to the vehicle battery.usable_kwh. */ capacity: StateOfCharge; /** Current amount of energy in a battery. If not provided, it is assumed the battery is fully charged and equal to the vehicle battery.capacity. */ state_of_charge: StateOfCharge; /** Desired final amount of energy in a battery at the and of a trip. The value must be between 0 and 60% of the vehicle battery.capacity. If not provided—or if the specified value is below the safe risk margin—the safe risk margin is used by default. */ final_state_of_charge: StateOfCharge; /** Temperature of the battery. */ temperature?: Maybe; /** Battery current in ampere. */ current?: Maybe; /** Battery voltage in volts. */ voltage?: Maybe; /** Value of the positive or negative power, in kWh. When negative, the vehicle is charging. */ power?: Maybe; /** Flag indicating if the vehicle is charging. */ is_charging?: Maybe; }; /** EV battery specific configuration for a create route mutation. */ export type RouteVehicleBatteryInput = { /** Usable capacity of a battery used to compute a route. Value must be between 50% and 150%. If not provided, it defaults to the vehicle battery.usable_kwh. */ capacity?: Maybe; /** Current amount of energy in a battery. If not provided, it is assumed the battery is fully charged and equal to the vehicle battery.capacity. */ state_of_charge?: Maybe; /** Desired final amount of energy in a battery at the and of a trip. The value must be between 0 and 60% of the vehicle battery.capacity. If not provided—or if the specified value is below the safe risk margin—the safe risk margin is used by default. */ final_state_of_charge?: Maybe; /** Battery temperature. */ temperature?: Maybe; /** Battery current in ampere. */ current?: Maybe; /** Battery voltage in volts. */ voltage?: Maybe; /** Value of the positive or negative power, in kWh. When negative, the vehicle is charging. */ power?: Maybe; /** Flag indicating if the vehicle is charging. */ is_charging?: Maybe; }; export type RouteVehicleCabin = { /** Flag indicating if the vehicle cabin was preconditioned for the desired temperature. */ is_preconditioned: Scalars["Boolean"]; /** Desired cabin temperature. Default is 20 degrees Celsius or 68 degrees Fahrenheit. */ desired_temperature: Temperature; }; export type RouteVehicleCabinInput = { /** Flag indicating if the vehicle cabin was preconditioned for the desired temperature. */ is_preconditioned?: Maybe; /** Desired cabin temperature. Default is 20 degrees Celsius or 68 degrees Fahrenheit. */ desired_temperature?: Maybe; }; export type RouteVehicleCharging = { /** Mode that indicates if the charging time is optimized or if always charged to the maximum capacity. */ mode: ChargeMode; /** Minimum desired power of chargers, in kWh. */ minimum_power: Scalars["Float"]; /** Minimum remaining state of charge at charging stops, expressed as a percentage. The value must be between 0 and 60. If not provided, the project configuration value is used. */ risk_margin: Scalars["Int"]; /** Supported connectors. If not specified, it defaults to the vehicle's connectors. */ connectors: Array; /** Supported adapters. If not specified, adapters will not be considered. */ adapters: Array; }; export type RouteVehicleChargingConnector = { /** Type of the plug. */ standard: ConnectorType; /** Maximum charging speed for this plug. */ maximum_charge_speed: ChargeSpeed; }; export type RouteVehicleChargingConnectorInput = { /** Plug type. */ standard: ConnectorType; /** Maximum charging speed for this plug. */ maximum_charge_speed: ChargeSpeedInput; }; export type RouteVehicleChargingInput = { /** Mode that indicates if the charging time is optimized or if always charged to the maximum capacity. */ mode?: Maybe; /** Minimum desired power of chargers, in kWh. */ minimum_power?: Maybe; /** Minimum remaining state of charge at charging stops, expressed as a percentage. The value must be between 0 and 60. If not provided, the project configuration value is used. */ risk_margin?: Maybe; /** Supported connectors. If not specified, it defaults to the vehicle's connectors. */ connectors?: Maybe>; /** Supported adapters. If not specified, adapters will not be considered. */ adapters?: Maybe>; }; export type RouteVehicleEmissions = { /** Total co2e emissions. */ total: Scalars["Float"]; /** Total co2e emissions from vehicle operational processes calculated using the methodology in section 5.2.2 of ISO 14083:2023 and default emissions intensities in Annex K of the same document. */ iso_14083_2023: Scalars["Float"]; /** Embedded emissions, for example emissions produced during manufacturing, transportation, and delivery. */ embedded: RouteEmbeddedEmissions; /** Operational emissions. */ operational: RouteVehicleOperationalEmissions; /** End of life emissions. */ end_of_life: RouteEndOfLifeEmissions; /** Emissions info for the legs in the same order as in the route. */ legs: Array; }; export type RouteVehicleEmissionstotalArgs = { unit?: Maybe; }; export type RouteVehicleEmissionsiso_14083_2023Args = { unit?: Maybe; }; /** Vehicle specific input for a create route mutation. */ export type RouteVehicleInput = { /** ID of the vehicle. */ id: Scalars["ID"]; /** EV battery specific configuration. */ battery?: Maybe; /** Charging configuration. */ charging?: Maybe; /** Tire pressures of all wheels, ordered from front right to front left, then rear left to rear right. */ tire_pressure?: Maybe; /** Odometer (mileage) reading. */ odometer?: Maybe; /** Average auxiliary power consumption. */ auxiliary_consumption?: Maybe; /** Flag indicating if climate control is on. */ climate?: Maybe; /** Vehicle Heat Pump configuration. */ heat_pump?: Maybe; /** Vehicle cabin configuration used for the route calculation. Applied only if vehicle.climate is set to true. */ cabin?: Maybe; /** Revolutions per minute of the motor, a measure of the rotational speed of the motor's rotor component. */ motor_rpm?: Maybe; /** Outside temperature. */ outside_temperature?: Maybe; /** Flag indicating if a vehicle is in park, neutral, or turned off. */ is_parked?: Maybe; /** Vehicle speed. */ vehicle_speed?: Maybe; /** Current heading in degrees. */ heading?: Maybe; }; export type RouteVehicleLegEmissions = { /** Total co2e emissions for the leg. */ total: Scalars["Float"]; /** Total leg co2e emissions from vehicle operational processes using the methodology in section 5.2.2 of ISO 14083:2023 and default emissions intensities in Annex K of the same document. */ iso_14083_2023: Scalars["Float"]; /** Embedded emissions, for example emissions produced during manufacturing, transportation, and delivery. */ embedded: RouteEmbeddedEmissions; /** Operational emissions for the leg. */ operational: RouteVehicleLegOperationalEmissions; /** End of life emissions for the leg. */ end_of_life: RouteEndOfLifeEmissions; }; export type RouteVehicleLegEmissionstotalArgs = { unit?: Maybe; }; export type RouteVehicleLegEmissionsiso_14083_2023Args = { unit?: Maybe; }; export type RouteVehicleLegOperationalEmissions = { /** Total operational emissions for the leg. */ total: Scalars["Float"]; /** Electricity emissions data for the leg. */ electricity: RouteLegOperationalElectricityEmissions; /** Total road infrastructure emissions for the leg. */ infrastructure: RouteOperationalInfrastructureEmissions; /** Total maintenance emissions for the leg. */ maintenance: RouteOperationalMaintenanceEmissions; }; export type RouteVehicleLegOperationalEmissionstotalArgs = { unit?: Maybe; }; export type RouteVehicleOperationalEmissions = { /** Total operational emissions. */ total: Scalars["Float"]; /** Electricity emissions. */ electricity: RouteOperationalElectricityEmissions; /** Road infrastructure emissions. */ infrastructure: RouteOperationalInfrastructureEmissions; /** Maintenance emissions. */ maintenance: RouteOperationalMaintenanceEmissions; }; export type RouteVehicleOperationalEmissionstotalArgs = { unit?: Maybe; }; export type RouteViaFeaturePoint = { /** ID of the feature. */ id?: Maybe; /** Feature type. */ type: FeatureType; /** Geometry of the feature. */ geometry?: Maybe; /** Additional feature properties for via. If a `station.id` or `station.external_id` are provided, it will be treated as a charging stop. If omitted or `location.name` is provided, the stop is treated as a non-charging stop location. */ properties?: Maybe; }; export type RouteViaFeaturePointInput = { /** ID of the feature. */ id?: Maybe; /** Feature type. */ type: FeatureType; /** Geometry of the feature. */ geometry?: Maybe; /** Additional feature properties for via. If a `station.id` or `station.external_id` are provided, it will be treated as a charging stop. If omitted or `location.name` is provided, the stop is treated as a non-charging stop location. */ properties?: Maybe; }; export type RouteViaProperties = { /** Location data of the via point. */ location?: Maybe; /** Vehicle data of the via point. */ vehicle?: Maybe; /** Station data of the via point. */ station?: Maybe; }; export type RouteViaPropertiesInput = { /** Location data of the via point. */ location?: Maybe; /** Vehicle data of the via point. */ vehicle?: Maybe; /** Specifies a charging station at the via. If a known station is provided, it will be used as charging stop. Any configured operator preferences are ignored for this stop. */ station?: Maybe; }; export type RouteWarning = { /** The code of the warning. */ code: RouteWarningCode; }; /** Types of warnings that can be encountered in a route. */ export enum RouteWarningCode { /** The selected vehicle model is unavailable on one or more regions along the route. */ EV_UNAVAILABLE_IN_REGION = "ev_unavailable_in_region", /** Route excludes charging stations as a hybrid vehicle does not require external charging. */ HEV_NO_CHARGING_STATIONS = "hev_no_charging_stations", /** Route is calculated using only the battery range of the extended-range vehicle. */ EREV_BATTERY_ONLY_RANGE = "erev_battery_only_range", /** The origin location cannot be reached by vehicle and requires a walking section to reach the point. */ ORIGIN_NOT_VEHICLE_ACCESSIBLE = "origin_not_vehicle_accessible", /** The destination location cannot be reached by vehicle and requires a walking section to reach the point. */ DESTINATION_NOT_VEHICLE_ACCESSIBLE = "destination_not_vehicle_accessible", /** The requested final state of charge cannot be achieved. */ FINAL_SOC_NOT_POSSIBLE = "final_soc_not_possible", /** The set maximum speed is too low (below 50 km/h) and may result in an inefficient route. */ LOW_SPEED = "low_speed", /** Operator preferences were ignored because they have not been configured for this project nor provided in the route create request. */ OPERATOR_PREFERENCES_NOT_FOUND = "operator_preferences_not_found", /** Traffic data for this route is not available. */ TRAFFIC_DATA_NOT_AVAILABLE = "traffic_data_not_available", /** Not possible to fetch weather data for a departure time further than 4 days in the future. Current weather used as alternative. */ WEATHER_FORECAST_NOT_AVAILABLE = "weather_forecast_not_available", /** Not possible to fetch weather data for a departure time longer than 2 years ago. Current weather used as an alternative. */ WEATHER_HISTORY_NOT_AVAILABLE = "weather_history_not_available", /** One or more preferred, excluded, or avoided operators have no active stations available and were ignored. */ OPERATORS_IGNORED = "operators_ignored" } export type RouteWeather = { /** Weather configuration applied to the route. */ type: WeatherType; /** [BETA] Custom weather conditions applied to the route. Only present when 'type' is set to 'CUSTOM'. */ custom?: Maybe; }; export type RouteWeatherCustomConditions = { /** Average ambient temperature estimated along the route. */ temperature: Temperature; /** Atmospheric pressure along the route. */ air_pressure: AirPressure; /** Solar irradiance along the route. */ solar_irradiance: SolarIrradiance; }; export type RouteWeatherCustomConditionsInput = { /** Average ambient temperature estimated along the route. */ temperature: TemperatureInput; /** Atmospheric pressure along the route. */ air_pressure: AirPressureInput; /** Solar irradiance along the route. */ solar_irradiance: SolarIrradianceInput; }; export type RouteWeatherInput = { /** Weather configuration applied to the route. */ type?: Maybe; /** [BETA] Custom weather conditions to apply to the route. Required only when 'type' is 'CUSTOM'. Must be omitted for other weather types. */ custom?: Maybe; }; /** Scheduled charge stop along a route. */ export type ScheduledChargeStopInput = { /** List of amenity types. */ types: Array; /** Duration at the amenity, in seconds. The value should be between 900 and 86400. */ duration: Scalars["Int"]; /** Maximum allowed offset from the stop_after value in seconds. */ offset?: Maybe; /** Desired drive time for a scheduled stop after leaving the origin point, in seconds. */ stop_after: Scalars["Int"]; /** Maximum distance from a station to an amenity, in meters. The value should be between 0 and 1000. */ max_distance_from_station?: Maybe; }; export type SolarIrradiance = { /** Value of the solar irradiance. */ value: Scalars["Float"]; /** Solar irradiance unit. */ type: SolarIrradianceUnit; }; export type SolarIrradianceInput = { /** Value of the solar irradiance. */ value: Scalars["Float"]; /** Solar irradiance unit. */ type: SolarIrradianceUnit; }; export enum SolarIrradianceUnit { WATTS_PER_SQUARE_METER = "watts_per_square_meter" } export enum SortDirection { ASCENDING = "ascending", DESCENDING = "descending" } export enum SpeedUnit { /** Return the speed in kilometers per hour. */ KILOMETERS_PER_HOUR = "kilometers_per_hour", /** Return the speed in miles per hour. */ MILES_PER_HOUR = "miles_per_hour" } export type StateOfCharge = { /** Value of the state of charge of the vehicle. */ value: Scalars["Float"]; /** Preferred unit for the vehicle's state of charge. */ type: StateOfChargeUnit; /** Source of inputted data. */ source: TelemetryInputSource; }; export type StateOfChargeInput = { /** Value of the vehicle's state of charge. */ value: Scalars["Float"]; /** Preferred unit for the vehicle's state of charge. */ type: StateOfChargeUnit; /** Source of inputted data, defaults to 'manual'. */ source?: Maybe; }; export enum StateOfChargeUnit { /** Return the state of charge in kilometers. */ KILOMETER = "kilometer", /** Return the state of charge in miles. */ MILE = "mile", /** Return the state of charge in kilowatt hours. */ KILOWATT_HOUR = "kilowatt_hour", /** Return the state of charge as a percentage. */ PERCENTAGE = "percentage" } /** Station data which extends OCPI Location. */ export type Station = { /** Unique ID of a station. */ id: Scalars["ID"]; /** ISO-3166 alpha-2 country code of a station. */ country_code?: Maybe; /** CPO ID of a CPO that 'owns' this station (following the ISO-15118 standard). */ party_id?: Maybe; /** * Defines if a location may be published on a website or app etc. * When this is set to false, only tokens identified in the field: publish_allowed_to are allowed to show this location. * When the same location has EVSEs that may be published and may not be published, two 'locations' should be created. */ publish?: Maybe; /** Name of a charging station. */ name?: Maybe; /** Street/block name and house number if available. */ address?: Maybe; /** City or town */ city?: Maybe; /** Postal code of a location, may only be omitted when a location has no postal code: in some countries charging locations at highways don’t have postal codes. */ postal_code?: Maybe; /** State or province of a location, only to be used when relevant. */ state?: Maybe; /** ISO 3166-1 alpha-3 code for the country of this station. */ country?: Maybe; /** Coordinates of a location. */ coordinates?: Maybe; /** Geographical location of related points relevant to a user. */ related_locations?: Maybe>>; /** Type of parking at a charge point location. */ parking_type?: Maybe; /** EVSEs that belong to a station. */ evses?: Maybe>>; /** Human-readable directions on how to reach a station. */ directions?: Maybe>>; /** Information about an operator. */ operator?: Maybe; /** Information about a suboperator if applicable. */ suboperator?: Maybe; /** Information about an owner if available. */ owner?: Maybe; /** Facilities a charging station belongs to. */ facilities?: Maybe>>; /** Value from the IANA time zone database representing the time zone of a location. Examples: "Europe/Oslo", "Europe/Zurich". (http://www.iana.org/time-zones). */ time_zone?: Maybe; /** Times when an EVSEs at a location can be accessed for charging. */ opening_times?: Maybe; /** Indicates if the EVSEs are still charging outside the opening hours. E.g. when a parking garage closes its barriers overnight, is it allowed to charge till the next morning? Default: true. */ charging_when_closed?: Maybe; /** Links to images related to a location such as photos or logos. */ images?: Maybe>>; /** Details of the energy supplied at a location. */ energy_mix?: Maybe; /** Timestamp when a location, or one of its EVSEs or Connectors were last updated (or created). */ last_updated?: Maybe; /** ID provided by a station data source. */ external_id?: Maybe; /** GeoJSON location of a charging station. */ location?: Maybe; /** Elevation (altitude) level. */ elevation?: Maybe; /** Groups of EVSEs by power and type. */ chargers?: Maybe>>; /** Amenities located at this location. */ amenities?: Maybe; /** Enriched information about the physical address of a station. */ physical_address?: Maybe
; /** Describes the heavy vehicle properties at the location. */ heavy_vehicles_properties?: Maybe; /** Describes the heavy vehicle restrictions at the location. */ heavy_vehicles_restrictions?: Maybe; /** Describes the vehicle restrictions at the location. */ vehicle_restrictions?: Maybe; /** Type of location where the charge point is located. For example, shop. */ location_category?: Maybe; /** Coordinates for the location's entrances in decimal degrees. If available, there can be more than one entrances to the location. */ entrance_for_navigation?: Maybe>; /** * Optional object where you can store custom data you need in your application. This extends the current functionalities we offer. * @deprecated No longer used. */ properties?: Maybe; /** A flag that indicates if a station has real-time information about the availability of its connectors. */ realtime?: Maybe; /** Connectors grouped by power. */ power?: Maybe; /** Predicted station occupancy. */ predicted_occupancy?: Maybe>>; /** Charging speed for a station. */ speed?: Maybe; /** Global status for a station. */ status?: Maybe; /** Custom properties of a station. These are vendor specific and will return null values on the fields that are not supported by your station database. */ custom_properties?: Maybe; /** Review of a station. */ review?: Maybe; /** List of eMSP cards accepted at a charging station. */ roaming?: Maybe>>; /** Phone number for assistance at a charging station. */ support_phone_number?: Maybe; /** Charging behavior of a station. */ charging_behaviour?: Maybe; /** Shows how reliable a charging station is (1 to 5; 1 = unreliable, 5 = reliable), taking into account the charging behaviour history and error values. */ reliability_score?: Maybe; /** Indicates the authentication and payment methods. */ adhoc_authorisation_payment_method?: Maybe< Array >; /** Type of access to the charging station. */ access_type?: Maybe; }; export enum StationAdhocAuthorisationPaymentMethod { /** Authentication by car through Plug and Charge. */ AUTH_BY_CAR_PLUG_AND_CHARGE = "AUTH_BY_CAR_PLUG_AND_CHARGE", /** Apple Pay. */ ONLINE_APPLE_PAY = "ONLINE_APPLE_PAY", /** Terminal in app. */ TERMINAL_IN_APP = "TERMINAL_IN_APP", /** PayPal. */ ONLINE_PAYPAL = "ONLINE_PAYPAL", /** Service Provider RFID Card. */ SERVICE_PROVIDER_RFID_CARD = "SERVICE_PROVIDER_RFID_CARD", /** Terminal QR Code. */ TERMINAL_QR_CODE = "TERMINAL_QR_CODE", /** Terminal Credit Card. */ TERMINAL_CREDIT_CARD = "TERMINAL_CREDIT_CARD", /** Terminal Debit Card. */ TERMINAL_DEBIT_CARD = "TERMINAL_DEBIT_CARD", /** Terminal SMS. */ TERMINAL_SMS = "TERMINAL_SMS", /** Credit Card. */ ONLINE_CREDIT_CARD = "ONLINE_CREDIT_CARD", /** Other. */ OTHER_OTHER = "OTHER_OTHER", /** Terminal Contactless. */ TERMINAL_CONTACTLESS = "TERMINAL_CONTACTLESS", /** Google Pay. */ ONLINE_GOOGLE_PAY = "ONLINE_GOOGLE_PAY", /** Bank Payment. */ ONLINE_BANK_PAYMENT = "ONLINE_BANK_PAYMENT", /** Authentication by car through Auto Charge. */ AUTH_BY_CAR_AUTOCHARGE = "AUTH_BY_CAR_AUTOCHARGE" } /** Criteria to filter stations in the station around query. */ export type StationAroundFilter = { /** GeoJSON Point of the center of the around me circle. */ location?: Maybe; /** Distance, in meters, to search around. */ distance?: Maybe; /** Powers in kW. */ powers?: Maybe>>; /** Amenities available near a station. */ amenities?: Maybe>>; /** Station speed. */ power_groups?: Maybe>>; /** Station socket or plug standards. */ connectors?: Maybe>>; /** Flag that allows you to return only available stations. */ available_only?: Maybe; /** Flag to filter for stations operated by an operator present in the project's ranking list. */ preferred_operator?: Maybe; }; /** Query parameters to filter stations in the station around query. */ export type StationAroundQuery = { /** GeoJSON Point of the center of the around me circle. */ location?: Maybe; /** Distance, in meters, to search around. */ distance?: Maybe; /** Power in kW. */ power?: Maybe>>; /** Amenities available near a station. Values: restaurant, bathroom, supermarket, playground, coffee, shopping, museum, hotel, park. */ amenities?: Maybe>>; }; export type StationCustomProperties = { /** * Shows how reliable a charging station is (1 to 5; 1 = unreliable, 5 = reliable), taking into account the charging behaviour history and error values. * @deprecated In favor of `station.reliability_score`. */ reliability_score?: Maybe; /** Custom station properties for OICP databases such as the global Hubject database. Station databases that not follow the OICP standard return null values. */ oicp?: Maybe; }; /** Describes the heavy vehicle properties at the location. */ export type StationHeavyVehiclesProperties = { /** Indicates whether the location was constructed mainly for the purpose of heavy vehicles like trucks. */ is_dedicated?: Maybe; /** List of facilities in the location. */ facilities?: Maybe>; /** Indicates whether the location is suitable for trucks with trailers. */ is_trailer_accessible?: Maybe; /** Indicates whether the location is drive-through. */ is_drive_through?: Maybe; /** Indicates whether the location allows charging of heavy vehicles transporting dangerous goods. */ allows_dangerous_goods?: Maybe; /** Indicates whether the location is suitable for rigid heavy vehicles. */ allows_rigid_vehicles?: Maybe; /** Indicates whether the location allows overnight charging of heavy vehicles. */ allows_overnight_parking?: Maybe; }; /** Describes the heavy vehicle restrictions at the location. */ export type StationHeavyVehiclesRestrictions = { /** Maximum height of the heavy vehicle that is allowed to be parked at the charging station. */ height?: Maybe; /** Maximum width of the heavy vehicle that is allowed to be parked at the charging station. */ width?: Maybe; /** Maximum length of the heavy vehicle that is allowed to be parked at the charging station. */ length?: Maybe; /** Maximum mass of the heavy vehicle that is allowed to be parked at the charging station. */ mass?: Maybe; /** Allowed N (EU) types of heavy vehicles. */ allowed_types_EU?: Maybe>; }; /** Describes the heavy vehicle restrictions at the location. */ export type StationHeavyVehiclesRestrictionsheightArgs = { unit?: Maybe; }; /** Describes the heavy vehicle restrictions at the location. */ export type StationHeavyVehiclesRestrictionswidthArgs = { unit?: Maybe; }; /** Describes the heavy vehicle restrictions at the location. */ export type StationHeavyVehiclesRestrictionslengthArgs = { unit?: Maybe; }; /** Describes the heavy vehicle restrictions at the location. */ export type StationHeavyVehiclesRestrictionsmassArgs = { unit?: Maybe; }; /** Criteria to filter stations in the station list query. */ export type StationListFilter = { /** Powers in kW. */ powers?: Maybe>>; /** Amenities available near a station. */ amenities?: Maybe>>; /** Station speed. */ power_groups?: Maybe>>; /** Station socket or plug standards. */ connectors?: Maybe>>; /** Flag that allows you to return only available stations. */ available_only?: Maybe; /** Flag to filter for stations operated by an operator present in the project's ranking list. */ preferred_operator?: Maybe; }; /** Query parameters to filter stations in the station list query. */ export type StationListQuery = { /** ID of the station. */ id?: Maybe; /** External ID of the station provided by the station data source. */ external_id?: Maybe; /** Exact name. */ name?: Maybe; }; /** Station availability for each weekday and hour. */ export type StationPredictedAvailability = { /** Number of weekday from 1 (monday) to 7 (sunday). */ weekday?: Maybe; /** The prediction for each hour 0-23 from 1 to 5 (1 - very busy ... 5 very quiet (free)). */ prediction?: Maybe>>; }; /** Station occupancy for each weekday and hour. */ export type StationPredictedOccupancy = { /** Number of weekday from 1 (monday) to 7 (sunday). */ weekday?: Maybe; /** Occupancy on a scale from 1 to 10, where 1 means free for charging and 10 means fully occupied. */ occupancy?: Maybe; /** Start of the period of the occupancy prediction (string of 'hh-mmZ' format). */ period_begin?: Maybe; /** End of the period of the occupancy prediction (string of 'hh-mmZ' format). */ period_end?: Maybe; }; export type StationRoaming = { /** Unique id for a provider. It is created by Eco-Movement, and it is stable. */ partner_id?: Maybe; /** * Unique E-Mobility Account Identifier (eMA ID) for a provider. * It is created by Eco-Movement by combining the country code where the charging station is located, and the party id of the provider. * For example, NL-ECO. Note: A provider can have multiple eMA IDs. * For example, if a company named 'Example Company A' acquired 'Example Company B' and owns the charging stations of Example Company B, * then this attribute maps Example Company B's eMA IDs to Example Company A's eMA IDs. For example, ['NL-EXA', 'NL-EXB']. */ ema_id?: Maybe>; /** Name of the EMSP provider. */ emsp?: Maybe; /** Name of the card accepted at a charging station. */ card?: Maybe; /** Link to native Android app for card accepted at a charging station. */ android_app_link?: Maybe; /** Link to native iOS app for card accepted at a charging station. */ ios_app_link?: Maybe; }; /** The station speed type. */ export enum StationSpeedType { /** Slow charging (below 43 kW). */ SLOW = "slow", /** Fast charging stations (above 43 kW and below 150 kW). */ FAST = "fast", /** Ultra fast charging stations (above 150 kW). */ TURBO = "turbo" } /** Describes the vehicle restrictions at the location. */ export type StationVehicleRestrictions = { /** Maximum weight for a vehicle that is allowed at the location. */ mass?: Maybe; /** Maximum width for a vehicle that is allowed at the location. */ width?: Maybe; /** Maximum height for a vehicle that is allowed at the location. */ height?: Maybe; /** Maximum length for a vehicle that is allowed at the location. */ length?: Maybe; }; /** Describes the vehicle restrictions at the location. */ export type StationVehicleRestrictionsmassArgs = { unit?: Maybe; }; /** Describes the vehicle restrictions at the location. */ export type StationVehicleRestrictionswidthArgs = { unit?: Maybe; }; /** Describes the vehicle restrictions at the location. */ export type StationVehicleRestrictionsheightArgs = { unit?: Maybe; }; /** Describes the vehicle restrictions at the location. */ export type StationVehicleRestrictionslengthArgs = { unit?: Maybe; }; /** Types of a route step. */ export enum StepType { /** This step is a road. */ ROAD = "road", /** This step is a highway. */ HIGHWAY = "highway", /** This step is a toll road. */ TOLL = "toll", /** This step is a ferry. */ FERRY = "ferry", /** This step is reachable by walking. */ WALKING = "walking", /** This step is a crossborder. */ CROSSBORDER = "crossborder" } export type Subscription = { /** * Subscribe to a specific route to receive system event updates. * @deprecated In favor of `route`. */ routeUpdatedById?: Maybe; /** Subscribe to a specific route to receive system event updates. */ route: RouteResponse; /** [BETA] Subscribe to navigation session system event updates. We strongly recommend using this at all times to not miss any updates. */ navigation?: Maybe; /** [BETA] Subscribe to a connected vehicle. */ connectedVehicle?: Maybe; /** Subscribe to an isoline in order to receive updates. */ isoline?: Maybe; }; export type SubscriptionrouteUpdatedByIdArgs = { id: Scalars["ID"]; }; export type SubscriptionrouteArgs = { id: Scalars["ID"]; }; export type SubscriptionnavigationArgs = { id: Scalars["ID"]; }; export type SubscriptionconnectedVehicleArgs = { id: Scalars["ID"]; }; export type SubscriptionisolineArgs = { id: Scalars["ID"]; }; export type Telemetry = { /** Value of the auxiliary power consumption of the vehicle. */ auxiliary_consumption?: Maybe; /** Battery current in ampere. */ battery_current?: Maybe; /** Value of the temperature of the battery. */ battery_temperature?: Maybe; /** Battery voltage in volts. */ battery_voltage?: Maybe; /** Is the vehicle currently charging. */ is_charging?: Maybe; /** Value of the rate of charge of the battery. */ charge_speed?: Maybe; /** Value of the amount of battery charged. */ charge_total?: Maybe; /** Value of the current weight of the occupants. */ total_occupant_weight?: Maybe; /** Value of the current weight of the cargo. */ total_cargo_weight?: Maybe; /** Value of the current elevation. */ elevation?: Maybe; /** Current heading in degrees. */ heading?: Maybe; /** RPM of the motor. */ motor_rpm?: Maybe; /** Number of occupants present in the vehicle. */ occupants?: Maybe; /** Value of the vehicle's odometer. */ odometer?: Maybe; /** Value of the outside temperature. */ outside_temperature?: Maybe; /** Vehicle is in park, neutral or turned off. */ is_parked?: Maybe; /** Value of the positive or negative power. When negative the vehicle is charging. */ power?: Maybe; /** Value of the state of charge of the vehicle. */ state_of_charge?: Maybe; /** Values for the average tire pressures of all wheels, starting from the front side right to left and to the rear. */ tire_pressure?: Maybe>; /** Value of the vehicle speed. */ vehicle_speed?: Maybe; /** Custom input fields can be added based on telemetry architecture. */ custom?: Maybe; }; export type Telemetryauxiliary_consumptionArgs = { unit?: Maybe; }; export type Telemetrybattery_temperatureArgs = { unit?: Maybe; }; export type Telemetrycharge_speedArgs = { unit?: Maybe; }; export type Telemetrycharge_totalArgs = { unit?: Maybe; }; export type Telemetrytotal_occupant_weightArgs = { unit?: Maybe; }; export type Telemetrytotal_cargo_weightArgs = { unit?: Maybe; }; export type TelemetryelevationArgs = { unit?: Maybe; }; export type TelemetryodometerArgs = { unit?: Maybe; }; export type Telemetryoutside_temperatureArgs = { unit?: Maybe; }; export type TelemetrypowerArgs = { unit?: Maybe; }; export type Telemetrystate_of_chargeArgs = { unit?: Maybe; }; export type Telemetrytire_pressureArgs = { unit?: Maybe; }; export type Telemetryvehicle_speedArgs = { unit?: Maybe; }; export type TelemetryInput = { /** Average auxiliary power consumption. */ auxiliary_consumption?: Maybe; /** Battery current in ampere. */ battery_current?: Maybe; /** Battery temperature. */ battery_temperature?: Maybe; /** Battery voltage in volts. */ battery_voltage?: Maybe; /** Is the vehicle currently charging. */ is_charging?: Maybe; /** Rate of charge. */ charge_speed?: Maybe; /** Amount charged. */ charge_total?: Maybe; /** Cumulated weight of the occupants. */ total_occupant_weight?: Maybe; /** Weight of the cargo. */ total_cargo_weight?: Maybe; /** Current elevation. */ elevation?: Maybe; /** Current heading in degrees. */ heading?: Maybe; /** RPM of the motor. */ motor_rpm?: Maybe; /** Number of occupants in the vehicle. */ occupants?: Maybe; /** Mileage or odometer reading. */ odometer?: Maybe; /** Outside temperature. */ outside_temperature?: Maybe; /** Vehicle is in park, neutral or turned off. */ is_parked?: Maybe; /** Vehicle power. */ power?: Maybe; /** Battery state of charge. */ state_of_charge?: Maybe; /** Average tire pressures of all wheels, starting from the front side right to left and to the rear. */ tire_pressure?: Maybe; /** Vehicle speed. */ vehicle_speed?: Maybe; /** Custom input fields can be added based on telemetry architecture. */ custom?: Maybe; }; export enum TelemetryInputSource { /** Manually inputted value. */ MANUAL = "manual", /** Value from the vehicle's telemetry. */ TELEMETRY = "telemetry", /** Default value. */ DEFAULT = "default" } export type Temperature = { /** Value of the temperature. */ value: Scalars["Float"]; /** Preferred unit for the temperature. */ type: TemperatureUnit; }; export type TemperatureInput = { /** Value of the temperature. */ value: Scalars["Float"]; /** Preferred unit for the temperature. */ type: TemperatureUnit; }; export enum TemperatureUnit { /** Return the temperature in Celsius. */ CELSIUS = "Celsius", /** Return the temperature in Fahrenheit. */ FAHRENHEIT = "Fahrenheit" } export type TirePressure = { /** Values for the tire pressure, ordered from front right to front left, then rear left to rear right. */ value: Array; /** Preferred unit for the tire pressure. */ type: PressureUnit; /** Source of inputted data. */ source: TelemetryInputSource; }; export type TirePressureInput = { /** Values for the tire pressure, ordered from front right to front left, then rear left to rear right. */ value: Array; /** Preferred unit for the tire pressure. */ type: PressureUnit; /** Source of inputted data, defaults to 'manual'. */ source?: Maybe; }; export enum TorqueUnit { /** Return the torque in newton meters. */ NEWTON_METER = "newton_meter", /** Return the torque in foot pounds. */ FOOT_POUND = "foot_pound" } export type TotalCargoWeight = { /** Value of the current weight of the cargo. */ value: Scalars["Float"]; /** Preferred unit for the current weight of the cargo. */ type: WeightUnit; /** Source of inputted data. */ source: TelemetryInputSource; }; export type TotalCargoWeightInput = { /** Value of the current weight of the cargo. */ value: Scalars["Float"]; /** Preferred unit for the current weight of the cargo. */ type: WeightUnit; /** Source of inputted data, defaults to 'manual'. */ source?: Maybe; }; export type TotalOccupantWeight = { /** Value of the combined weight of the occupants. */ value: Scalars["Float"]; /** Preferred unit for the current weight of the occupants. */ type: WeightUnit; /** Source of inputted data. */ source: TelemetryInputSource; }; export type TotalOccupantWeightInput = { /** Value of the combined weight of the occupants. */ value: Scalars["Float"]; /** Preferred unit for the current weight of the occupants. */ type: WeightUnit; /** Source of inputted data, defaults to 'manual'. */ source?: Maybe; }; export type TrafficCongestionInterval = { /** Starting index of this interval in the polyline. */ start_index: Scalars["Int"]; /** Ending index of this interval in the polyline. */ end_index: Scalars["Int"]; /** Congestion level for this specific interval. */ level: CongestionLevel; }; export enum TurningCircleUnit { /** Return the turning circle in meters. */ METER = "meter", /** Return the turning circle in feet. */ FOOT = "foot" } export type UpdateConnectedVehicleInput = { /** Id from the connected vehicle */ id: Scalars["ID"]; /** New label for a connected vehicle */ label?: Maybe; }; /** Output of a vehicle query. */ export type Vehicle = { /** Vehicles unique ID. */ id: Scalars["ID"]; /** Naming of the vehicle. */ naming: VehicleNaming; /** Drivetrain of the vehicle. */ drivetrain: VehicleDrivetrain; /** Available connectors for the vehicle. Please note that for HEVs this will always be an empty array. */ connectors: Array; /** Adapters for the connectors of the vehicle. Please note that for HEVs this will always be an empty array. */ adapters: Array; /** Battery of the vehicle. */ battery: VehicleBattery; /** Body of the vehicle. */ body: VehicleBody; /** Availability of the vehicle. */ availability: VehicleAvailability; /** Performance of the vehicle. */ performance?: Maybe; /** Range of the vehicle. */ range: VehicleRange; /** Media of the vehicle. */ media: VehicleMedia; /** Routing of the vehicle. */ routing: VehicleRouting; /** Information about vehicle connectivity. */ connect: Connect; /** Regions in which the vehicle is available. Based on the continent code (CC) standard. */ region: Array; /** Vehicle intended use. Can be passenger, cargo, or utility. */ purpose: VehiclePurpose; /** Type of vehicle. */ type: VehicleType; /** Details about Heat Pump. */ heat_pump?: Maybe; }; export type VehicleAvailability = { /** Availability of the vehicle. */ status: VehicleAvailabilityStatus; }; /** Availability status of a vehicle. */ export enum VehicleAvailabilityStatus { /** Vehicle no longer for sale in any market / region. */ NO_LONGER_AVAILABLE = "no_longer_available", /** Vehicle currently for sale in at least one market / region. */ AVAILABLE = "available", /** Vehicle expected in market from Date_From (estimated), pre-order open. */ RELEASE_DATE_ANNOUNCED_PREORDERABLE = "release_date_announced_preorderable", /** Vehicle expected in market from Date_From (estimated), pre-order unknown or not open. */ RELEASE_DATE_ANNOUNCED = "release_date_announced", /** Concept vehicle, nearing production and/or confirmed, pre-order open. */ CONCEPT_VEHICLE_PREORDERABLE = "concept_vehicle_preorderable", /** Concept vehicle, nearing production and/or confirmed, pre-order unknown or not open. */ CONCEPT_VEHICLE = "concept_vehicle", /** Concept vehicle, not close to production and/or unconfirmed, pre-order open. */ CONCEPT_VEHICLE_RELEASE_DATE_TBA_PREORDERABLE = "concept_vehicle_release_date_tba_preorderable", /** Concept vehicle, not close to production and/or unconfirmed, pre-order unknown. */ CONCEPT_VEHICLE_RELEASE_DATE_TBA = "concept_vehicle_release_date_tba", /** Status uncertain, introduction date and/or pricing unclear. */ UNCERTAIN = "uncertain" } export type VehicleBattery = { /** Full battery capacity in kWh. */ full_kwh: Scalars["Float"]; /** Usable battery capacity in kWh. */ usable_kwh: Scalars["Float"]; /** Type of battery. */ type?: Maybe; }; /** Battery field estimated. */ export enum VehicleBatteryFieldEstimations { /** Both of the battery kWh fields are estimations. */ B = "B", /** full_kwh field is estimated. */ F = "F", /** None of the battery kWh fields are estimations. */ N = "N", /** usable_kwh field is estimated. */ U = "U" } export enum VehicleBatteryType { /** Lithium-Ion Battery. */ LITHIUM_ION = "lithium_ion" } export type VehicleBody = { /** Width with folded mirrors. */ width: Scalars["Float"]; /** Height (average height for adjustable suspensions). */ height: Scalars["Float"]; /** Weight (unladen). */ weight: VehicleBodyWeight; /** Number of seats. */ seats: Scalars["Int"]; }; export type VehicleBodywidthArgs = { unit?: Maybe; }; export type VehicleBodyheightArgs = { unit?: Maybe; }; export type VehicleBodyWeight = { /** Minimum weight. */ minimum?: Maybe; /** Nominal weight. */ nominal?: Maybe; /** Maximal weight. */ maximal?: Maybe; }; export type VehicleBodyWeightminimumArgs = { unit?: Maybe; }; export type VehicleBodyWeightnominalArgs = { unit?: Maybe; }; export type VehicleBodyWeightmaximalArgs = { unit?: Maybe; }; /** Vehicle plug model. */ export type VehicleConnector = { /** Connector type, known as connector standard in OCPI. */ standard: ConnectorType; /** Usable electric power. */ power: Scalars["Float"]; /** Maximum electric power. */ max_electric_power: Scalars["Float"]; /** Time it takes to charge from 10 to 80% with a fast charger, shown in minutes. */ time: Scalars["Int"]; /** * Charging speed. * @deprecated In favor of `charge_speed`. */ speed: Scalars["Float"]; /** Charging speed. */ charge_speed: Scalars["Float"]; }; /** Vehicle plug model. */ export type VehicleConnectorpowerArgs = { unit?: Maybe; }; /** Vehicle plug model. */ export type VehicleConnectormax_electric_powerArgs = { unit?: Maybe; }; /** Vehicle plug model. */ export type VehicleConnectorspeedArgs = { unit?: Maybe; }; /** Vehicle plug model. */ export type VehicleConnectorcharge_speedArgs = { unit?: Maybe; }; /** The consumption of the vehicle. */ export type VehicleConsumptionInput = { /** Worst conditions are based on -10°C and use of heating. */ worst?: Maybe; /** Best conditions are based on 23°C and no use of A/C. */ best?: Maybe; }; export type VehicleData = { /** Battery data */ battery?: Maybe; /** Charge data */ charge?: Maybe; /** Location data */ location?: Maybe; /** Odometer data */ odometer?: Maybe; }; export enum VehicleDataProvider { /** Internal data provider. */ CHARGETRIP = "chargetrip", /** EV database data provider. */ EVDATABASE = "evdatabase" } export type VehicleDrivetrain = { /** Type of drivetrain. */ type: VehicleDrivetrainType; }; /** Drivetrain. */ export enum VehicleDrivetrainType { /** Battery Electric Vehicle. */ BEV = "BEV", /** Extended Range Electric Vehicle. */ EREV = "EREV", /** Hybrid Electric Vehicle. */ HEV = "HEV", /** Plug-in Hybrid Electric Vehicle. */ PHEV = "PHEV" } /** Fuel type. */ export enum VehicleFuel { /** ICE engine available. Uses diesel. */ D = "D", /** Electricity only. Full electric vehicle. */ E = "E", /** ICE engine available. Uses gasoline. */ P = "P" } export type VehicleHeatPump = { /** Indicates if a heat pump is available for a specific vehicle. */ is_available?: Maybe; /** Indicates if a heat pump is standard equipment for a specific vehicle. */ is_standard_equipment?: Maybe; }; export type VehicleImage = { /** Image id. */ id?: Maybe; /** Image type. */ type: VehicleImageType; /** Full path URL of a large image. */ url: Scalars["String"]; /** Height of a large image in pixels. */ height: Scalars["Int"]; /** Width of a large image in pixels. */ width: Scalars["Int"]; /** Full path URL of a thumbnail image. */ thumbnail_url: Scalars["String"]; /** Height of a thumbnail image in pixels. */ thumbnail_height: Scalars["Int"]; /** Width of a thumbnail image in pixels. */ thumbnail_width: Scalars["Int"]; }; /** Available types of images which can be found for a vehicle. Each type has specific image sizes. */ export enum VehicleImageType { /** Images provided by a Vehicle Datasource. */ PROVIDER = "provider", /** Full-sized image at 1536x864 px. */ IMAGE = "image", /** Thumbnail of a full-sized image at 131x72 px. */ IMAGE_THUMBNAIL = "image_thumbnail", /** Premium image. */ IMAGE_PREMIUM = "image_premium", /** Thumbnail of a premium image. */ PREMIUM_IMAGE_THUMBNAIL = "premium_image_thumbnail", /** Full-sized brand (make) logo at 768x432 px. */ BRAND = "brand", /** Thumbnail of a full-sized brand (make) logo at 56x24 px. */ BRAND_THUMBNAIL = "brand_thumbnail", /** Placeholder image at 1536x864 px. */ PLACEHOLDER = "placeholder" } /** When uploading images to a vehicle, you can select one of this types. The rest of the types are automatically generated by the system. */ export enum VehicleImageTypeUploadable { /** Freemium vehicle image. */ IMAGE = "image", /** Premium vehicle image. */ IMAGE_PREMIUM = "image_premium" } /** The output element of the vehicleList query. */ export type VehicleList = { /** Vehicles unique ID. */ id: Scalars["ID"]; /** Naming of the vehicle. */ naming: VehicleListNaming; /** Drivetrain of the vehicle. */ drivetrain: VehicleDrivetrain; /** Connectors available for the vehicle. Please note that for HEVs this will always be an empty array. */ connectors: Array; /** Adapters available for the vehicle. Please note that for HEVs this will always be an empty array. */ adapters: Array; /** Battery of the vehicle. */ battery: VehicleListBattery; /** Body of the vehicle. */ body: VehicleListBody; /** Availability of the vehicle. */ availability: VehicleListAvailability; /** Range of the vehicle. */ range: VehicleListRange; /** Media of the vehicle. */ media: VehicleListMedia; /** Routing of the vehicle. */ routing: VehicleListRouting; /** Information about vehicle connectivity. */ connect: Connect; /** Regions in which the vehicle is available. Based on the continent code (CC) standard. */ region: Array; /** Vehicle intended use. Can be passenger, cargo, or utility. */ purpose: VehiclePurpose; /** Type of vehicle. */ type: VehicleType; }; export type VehicleListAvailability = { /** Availability of the vehicle. */ status: VehicleAvailabilityStatus; }; export type VehicleListBattery = { /** Full battery capacity in kWh. */ full_kwh: Scalars["Float"]; /** Usable battery capacity in kWh. */ usable_kwh: Scalars["Float"]; /** Type of battery. */ type?: Maybe; }; export type VehicleListBody = { /** Number of seats in a vehicle. */ seats: Scalars["Int"]; }; export type VehicleListFilter = { /** Availability of a vehicle. */ availability?: Maybe>; /** Drivetrain type of a vehicle. */ drivetrain?: Maybe>; /** Information about vehicle connectivity. */ connect?: Maybe; /** Regions in which the vehicle is available. Based on the continent code (CC) standard. */ region?: Maybe>; /** Vehicle intended use. Can be passenger, cargo, or utility. */ purpose?: Maybe>; /** Type of vehicle. */ type?: Maybe>; /** [BETA] Make of vehicle. */ make?: Maybe; /** [BETA] Model of vehicle. */ model?: Maybe; }; export type VehicleListMedia = { /** Featured image of the vehicle from a 45-degree angle. */ image: VehicleImage; /** * Latest make logo of the vehicle. * @deprecated In favor of `make`. */ brand: VehicleImage; /** Latest make logo of the vehicle. */ make: VehicleImage; /** Latest video of the vehicle. */ video?: Maybe; }; export type VehicleListNaming = { /** Vehicle manufacturer name. */ make: Scalars["String"]; /** Vehicle model name. */ model: Scalars["String"]; /** Version, edition or submodel of the vehicle. */ version?: Maybe; /** Another submodel level of the vehicle. */ edition?: Maybe; /** Vehicle model version. Added by Chargetrip as an alternative for when a vehicle manufacturer does not provide an version name, or uses the same version name across all trims or consecutive years. */ chargetrip_version: Scalars["String"]; }; export type VehicleListRange = { /** * Chargetrip's custom real-world range provides a carefully calculated display range for all-electric vehicle models. * Chargetrip range is based on the theoretical distance driven using only the electric engine. * Vehicles that do not have a full electric drivetrain type (all except Battery Electric Vehicles / BEV) therefore return relatively small ranges. * More information on the CT range can be found at https://chargetrip.com/blog/what-is-ct-real-range */ chargetrip_range: ChargetripRange; }; export type VehicleListRouting = { /** Vehicles that support fast charging have a minimum charging speed of 43 kWh. */ fast_charging_support: Scalars["Boolean"]; }; /** Vehicle make data. */ export type VehicleMake = { /** Vehicle make name. */ name: Scalars["String"]; /** Vehicle make image. */ image: VehicleImage; }; /** Vehicle makes response object. */ export type VehicleMakesConnection = { /** List of vehicle makes. */ nodes: Array; }; export type VehicleMedia = { /** Featured image of the vehicle from a 45-degree angle. */ image: VehicleImage; /** * Latest make logo. * @deprecated In favor of `make`. */ brand: VehicleImage; /** Latest make logo. */ make: VehicleImage; /** All images of the vehicle. */ image_list: Array; /** Latest video. */ video?: Maybe; /** All videos of the vehicle. */ video_list?: Maybe>; }; /** Mode (state) of the current production. */ export enum VehicleMode { /** Old vehicle that is no longer manufactured. */ INDEX_ONLY = "index_only", /** Vehicle is in production and has been released. */ PRODUCTION = "production", /** Future releases of a vehicle, a concept of the vehicle, specs may change over time. */ CONCEPT = "concept" } /** Vehicle model data. */ export type VehicleModel = { /** Vehicle model name. */ name: Scalars["String"]; }; /** Vehicle models response object. */ export type VehicleModelsConnection = { /** Total number of unique vehicle models. */ total_count: Scalars["Int"]; /** Information about the current page. */ page_info: PageInfo; /** List of vehicle models. */ nodes: Array; }; /** Filter vehicle model list result. */ export type VehicleModelsFilter = { /** Vehicle make. */ make?: Maybe; }; export type VehicleNaming = { /** Vehicle manufacturer name. */ make: Scalars["String"]; /** Vehicle model name. */ model: Scalars["String"]; /** Version, edition or submodel of the vehicle. */ version?: Maybe; /** Another submodel level of the vehicle. */ edition?: Maybe; /** Vehicle model version. Added by Chargetrip as an alternative for when a vehicle manufacturer does not provide an version name, or uses the same version name across all trims or consecutive years. */ chargetrip_version: Scalars["String"]; }; export type VehiclePerformance = { /** Acceleration. */ acceleration?: Maybe; /** Top speed of the vehicle. */ top_speed?: Maybe; }; export type VehiclePerformanceaccelerationArgs = { unit?: Maybe; }; export type VehiclePerformancetop_speedArgs = { unit?: Maybe; }; export enum VehiclePlugAndChargeSupport { /** Plug and charge is available. */ AVAILABLE = "available", /** Plug and charge is announced, but not yet available. */ ANNOUNCED = "announced", /** Plug and charge is available in a limited context. */ LIMITED = "limited", /** Plug and charge is not available. */ NOT_AVAILABLE = "not_available" } /** The output element of the vehiclePremium query. */ export type VehiclePremium = { /** Vehicles unique ID. */ id: Scalars["ID"]; /** Internal ID of the successor vehicle trim. */ succesor_id?: Maybe; /** Naming of the vehicle. */ naming: VehiclePremiumNaming; /** Connectors available for the vehicle. Please note that for HEVs this will always be an empty array. */ connectors: Array; /** Charge details. */ charge: VehiclePremiumCharge; /** Fast charge details. */ fast_charge: VehiclePremiumFastCharge; /** Adapters of connectors available for a connectors of the vehicle. Please note that for HEVs this will always be an empty array. */ adapters: Array; /** Battery of the vehicle. */ battery: VehiclePremiumBattery; /** Body of the vehicle. */ body: VehiclePremiumBody; /** Availability of the vehicle. */ availability: VehiclePremiumAvailability; /** Starting price in the currency defined in the field argument. If not defined, it will return the starting price in the currency returned in the currency field. */ pricing: VehiclePremiumPriceValueWithGrant; /** Drivetrain of the vehicle. */ drivetrain: VehiclePremiumDrivetrain; /** Performance of the vehicle. */ performance?: Maybe; /** Range of the vehicle. */ range: VehiclePremiumRange; /** Efficiency of the vehicle. */ efficiency: VehiclePremiumEfficiency; /** Safety of the vehicle. */ safety?: Maybe; /** Media of the vehicle. */ media: VehiclePremiumMedia; /** Routing of the vehicle. */ routing: VehiclePremiumRouting; /** Information about vehicle connectivity. */ connect: Connect; /** Regions in which the vehicle is available. Based on the continent code (CC) standard. */ region: Array; /** Vehicle intended use. Can be passenger, cargo, or utility. */ purpose: VehiclePurpose; /** Type of vehicle. */ type: VehicleType; /** Details about Heat Pump. */ heat_pump?: Maybe; }; export type VehiclePremiumAvailability = { /** Availability of the vehicle. */ status: VehicleAvailabilityStatus; /** Date of introduction, mm-yyyy. */ date_from?: Maybe; /** Indicates if date from field is estimated. */ date_from_is_estimated?: Maybe; /** Date last available, mm-yyyy. */ date_to?: Maybe; }; export type VehiclePremiumBattery = { /** Usable battery capacity in kWh. */ usable_kwh: Scalars["Float"]; /** Full battery capacity in kWh. */ full_kwh: Scalars["Float"]; /** Indicates which battery fields are estimated. */ estimated_fields?: Maybe; /** Battery thermal management system (active/passive, air/liquid). */ thermal_management_system?: Maybe; /** Duration of battery warranty in years. */ warranty_period?: Maybe; /** Mileage of battery warranty in kilometers. */ warranty_mileage?: Maybe; /** Chemistry of the battery. */ chemistry?: Maybe; /** Manufacturer of the battery. */ manufacturer?: Maybe; /** Number of battery modules. */ modules?: Maybe; /** Number of cells in the battery pack, can include configuration (s = serial, p = parallel). */ cells?: Maybe; /** Weight of the battery pack. */ weight?: Maybe; /** Nominal voltage of battery. */ nominal_voltage?: Maybe; /** Type of battery. */ type?: Maybe; }; export type VehiclePremiumBatteryweightArgs = { unit?: Maybe; }; export type VehiclePremiumBody = { /** Length. */ length?: Maybe; /** Width with folded mirrors. */ width: Scalars["Float"]; /** Width of vehicle including mirrors. */ full_width?: Maybe; /** Height (average height for adjustable suspensions). */ height: Scalars["Float"]; /** Indicates if length/width/height fields are estimations. */ size_is_estimated?: Maybe; /** Wheelbase. */ wheelbase?: Maybe; /** Indicates if wheelbase field is estimated. */ wheelbase_is_estimated?: Maybe; /** Ground clearance of a vehicle as specified by the OEM. */ ground_clearance?: Maybe; /** Weight (unladen EU). */ weight: VehicleBodyWeight; /** Maximum allowed vehicle weight with payload. */ weight_gvwr?: Maybe; /** Maximum allowed vehicle and trailer weight with payload. */ weight_gtw?: Maybe; /** Allowed payload weight. */ weight_payload?: Maybe; /** Indicates if weight field is estimated. */ weight_is_estimated?: Maybe; /** Maximum payload allowed for the vehicle. */ weight_max_payload?: Maybe; /** Standard luggage capacity. */ boot_capacity?: Maybe; /** Storage capacity of front trunk/under the hood (frunk). */ boot_front_capacity?: Maybe; /** Maximum luggage capacity. */ boot_capacity_max?: Maybe; /** Indicates if a tow hitch/towbar can be fitted according to vehicle homologation. */ tow_hitch_compatible?: Maybe; /** Maximum unbraked towing weight. */ tow_weight_unbraked?: Maybe; /** Maximum braked towing weight. */ tow_weight_braked?: Maybe; /** Indicates if tow weight fields are estimations. */ tow_weight_is_estimated?: Maybe; /** Maximum vertical load / noseweight on tow hitch according to vehicle homologation. */ tow_weight_vertical_load?: Maybe; /** Maximum load on roof of the vehicle. */ roof_load_max?: Maybe; /** Body type, listed in local naming convention where applicable. */ body_type?: Maybe; /** Segment, listed in local naming convention where applicable. */ segment?: Maybe; /** Number of seats. */ seats: Scalars["Int"]; /** Indicates whether a vehicle has roof rails as a standard. */ has_roofrails?: Maybe; /** Turning circle of the vehicle kerb-to-kerb. */ turning_circle?: Maybe; /** Name of the vehicle platform used for vehicle (often abbreviated to indicate group platforms). */ vehicle_platform?: Maybe; /** Indicates if the vehicle platform used for vehicle is a dedicated battery electric vehicle platform. */ vehicle_platform_is_dedicated?: Maybe; }; export type VehiclePremiumBodylengthArgs = { unit?: Maybe; }; export type VehiclePremiumBodywidthArgs = { unit?: Maybe; }; export type VehiclePremiumBodyfull_widthArgs = { unit?: Maybe; }; export type VehiclePremiumBodyheightArgs = { unit?: Maybe; }; export type VehiclePremiumBodywheelbaseArgs = { unit?: Maybe; }; export type VehiclePremiumBodyground_clearanceArgs = { unit?: Maybe; }; export type VehiclePremiumBodyweight_max_payloadArgs = { unit?: Maybe; }; export type VehiclePremiumBodyboot_capacityArgs = { unit?: Maybe; }; export type VehiclePremiumBodyboot_front_capacityArgs = { unit?: Maybe; }; export type VehiclePremiumBodyboot_capacity_maxArgs = { unit?: Maybe; }; export type VehiclePremiumBodytow_weight_unbrakedArgs = { unit?: Maybe; }; export type VehiclePremiumBodytow_weight_brakedArgs = { unit?: Maybe; }; export type VehiclePremiumBodytow_weight_vertical_loadArgs = { unit?: Maybe; }; export type VehiclePremiumBodyroof_load_maxArgs = { unit?: Maybe; }; export type VehiclePremiumBodyturning_circleArgs = { unit?: Maybe; }; export type VehiclePremiumCharge = { /** Information about the main connector. */ plug?: Maybe; /** Information about vehicles secondary onboard charger. */ second_plug?: Maybe; /** Information about the vehicle standard onboard charger. */ standard?: Maybe; /** Optional upgrade for the standard onboard charger when available. */ option?: Maybe; /** Alternative upgrade for the standard onboard charger when available. */ alternative?: Maybe; /** Vehicle-to-everything charge support. */ vehicle_to_everything?: Maybe; }; export type VehiclePremiumChargeAlternativeOBC = { /** Maximum power OBC can accept to charge a battery (alternative OBC). */ power?: Maybe; /** Number of phases the OBC accepts to achieve maximum power (alternative OBC). */ phases?: Maybe; /** Maximum current the OBC accepts per phase to achieve maximum power (alternative OBC). */ phase_amperage?: Maybe; /** Minutes needed to charge from 0% to 100% (alternative OBC). */ charge_time?: Maybe; /** Charging speed when charging at maximum power (alternative OBC). */ charge_speed?: Maybe; /** Charging details for the alternative OBC at several charging points. */ table?: Maybe>>; }; export type VehiclePremiumChargeAlternativeOBCpowerArgs = { unit?: Maybe; }; export type VehiclePremiumChargeAlternativeOBCcharge_speedArgs = { unit?: Maybe; }; export type VehiclePremiumChargeOBCTable = { /** Voltage between phase and neutral for this EVSE (phase voltage). */ evse_phase_voltage?: Maybe; /** Current per phase for this EVSE (phase current). */ evse_phase_amperage?: Maybe; /** Number of phases for this EVSE. */ evse_phases?: Maybe; /** Voltage between phase and neutral used by standard OBC (phase voltage). */ charge_phase_voltage?: Maybe; /** Current per phase used by standard OBC (phase current). */ charge_phase_amperage?: Maybe; /** Number of phases used by standard OBC. */ charge_phases?: Maybe; /** Power used by standard OBC (before OBC losses). */ charge_power?: Maybe; /** Minutes needed to charge from 0% to 100% (standard OBC with this EVSE). */ charge_time?: Maybe; /** Charging speed when charging at maximum power (standard OBC with this EVSE). */ charge_speed?: Maybe; }; export type VehiclePremiumChargeOBCTablecharge_powerArgs = { unit?: Maybe; }; export type VehiclePremiumChargeOBCTablecharge_speedArgs = { unit?: Maybe; }; export type VehiclePremiumChargeOptionOBC = { /** Maximum power OBC can accept to charge a battery (standard OBC). */ power?: Maybe; /** Number of phases the OBC accepts to achieve maximum power (standard OBC). */ phases?: Maybe; /** Maximum current the OBC accepts per phase to achieve maximum power (standard OBC). */ phase_amperage?: Maybe; /** Minutes needed to charge from 0% to 100% (standard OBC). */ charge_time?: Maybe; /** Charging speed when charging at maximum power (standard OBC). */ charge_speed?: Maybe; /** Charging details for the standard OBC at several charging points. */ table?: Maybe>>; }; export type VehiclePremiumChargeOptionOBCpowerArgs = { unit?: Maybe; }; export type VehiclePremiumChargeOptionOBCcharge_speedArgs = { unit?: Maybe; }; export type VehiclePremiumChargePlug = { /** Type of charge port on vehicle. */ value?: Maybe; /** Indicates if value is an estimate. */ is_estimated?: Maybe; /** Location of charge port. */ location?: Maybe; }; export type VehiclePremiumChargePower = { /** Maximum value. */ max?: Maybe; /** Average value. */ average?: Maybe; }; export type VehiclePremiumChargePowermaxArgs = { unit?: Maybe; }; export type VehiclePremiumChargePoweraverageArgs = { unit?: Maybe; }; export type VehiclePremiumChargeSecondPlug = { /** Location of charge port. */ location?: Maybe; /** Indicates if second charge port is optional. */ is_optional?: Maybe; }; export type VehiclePremiumChargeStandardOBC = { /** Maximum power OBC can accept to charge a battery (standard OBC). */ power?: Maybe; /** Number of phases the OBC accepts to achieve maximum power (standard OBC). */ phases?: Maybe; /** Maximum current the OBC accepts per phase to achieve maximum power (standard OBC). */ phase_amperage?: Maybe; /** Minutes needed to charge from 0% to 100% (standard OBC). */ charge_time?: Maybe; /** Charging speed when charging at maximum power (standard OBC). */ charge_speed?: Maybe; /** Indicates if Charge_Standard fields are estimated. */ is_estimated?: Maybe; /** Charging details for the standard OBC at several charging points. */ table?: Maybe>>; }; export type VehiclePremiumChargeStandardOBCpowerArgs = { unit?: Maybe; }; export type VehiclePremiumChargeStandardOBCcharge_speedArgs = { unit?: Maybe; }; export type VehiclePremiumDrivetrain = { /** Type of drivetrain. */ type: VehicleDrivetrainType; /** Fuel type. */ fuel?: Maybe; /** Propulsion type. */ propulsion?: Maybe; /** Indicates if propulsion field is estimated. */ propulsion_is_estimated?: Maybe; /** Maximum (combined) power output. */ power?: Maybe; /** Indicates if power field is estimated. */ power_is_estimated?: Maybe; /** Maximum (combine) power output. */ power_hp?: Maybe; /** Maximum (combine) torque output. */ torque?: Maybe; /** Indicates if torque field is estimated. */ torque_is_estimated?: Maybe; }; export type VehiclePremiumDrivetrainpowerArgs = { unit?: Maybe; }; export type VehiclePremiumDrivetrainpower_hpArgs = { unit?: Maybe; }; export type VehiclePremiumDrivetraintorqueArgs = { unit?: Maybe; }; export type VehiclePremiumEfficiency = { /** Rated efficiency in WLTP combined cycle. */ wltp?: Maybe; /** Rated efficiency in WLTP combined cycle (TEH / least efficient trim). */ wltp_teh?: Maybe; /** Rated efficiency in NEDC combined cycle. */ nedc?: Maybe; /** Vehicle efficiency based on provider range. */ provider?: Maybe; }; export type VehiclePremiumEfficiencyNEDC = { /** Rated efficiency in NEDC combined cycle. */ value?: Maybe; /** Rated efficiency in NEDC combined cycle presented in gas equivalent. */ fuel_equivalent?: Maybe; /** Rated vehicle efficiency in NEDC combined cycle (based on value). */ vehicle?: Maybe; /** Rated vehicle efficiency in NEDC combined cycle presented in gas equivalent. */ vehicle_fuel_equivalent?: Maybe; /** Rated CO2 emissions in NEDC combined cycle in battery-only mode (NULL if not NEDC rated). */ co2?: Maybe; }; export type VehiclePremiumEfficiencyNEDCvalueArgs = { unit?: Maybe; }; export type VehiclePremiumEfficiencyNEDCfuel_equivalentArgs = { unit?: Maybe; }; export type VehiclePremiumEfficiencyNEDCvehicleArgs = { unit?: Maybe; }; export type VehiclePremiumEfficiencyNEDCvehicle_fuel_equivalentArgs = { unit?: Maybe; }; export type VehiclePremiumEfficiencyNEDCco2Args = { unit?: Maybe; }; export type VehiclePremiumEfficiencyProvider = { /** Vehicle efficiency based on RealRange (usable battery/range). */ value?: Maybe; /** Vehicle efficiency based on RealRange presented in gas equivalent. */ fuel_equivalent?: Maybe; /** Worst conditions are based on -10°C and use of heating. */ worst?: Maybe; /** Best conditions are based on 23°C and no use of A/C. */ best?: Maybe; }; export type VehiclePremiumEfficiencyProvidervalueArgs = { unit?: Maybe; }; export type VehiclePremiumEfficiencyProviderfuel_equivalentArgs = { unit?: Maybe; }; export type VehiclePremiumEfficiencyProviderValue = { /** Estimated value on highway or express roads. */ highway?: Maybe; /** Estimated value on city roads. */ city?: Maybe; /** Estimated combined value. */ combined?: Maybe; }; export type VehiclePremiumEfficiencyProviderValuehighwayArgs = { unit?: Maybe; }; export type VehiclePremiumEfficiencyProviderValuecityArgs = { unit?: Maybe; }; export type VehiclePremiumEfficiencyProviderValuecombinedArgs = { unit?: Maybe; }; export type VehiclePremiumEfficiencyWLTP = { /** Rated efficiency in WLTP combined cycle. */ value?: Maybe; /** Rated efficiency in WLTP combined cycle presented in gas equivalent. */ fuel_equivalent?: Maybe; /** Rated vehicle efficiency in WLTP combined cycle (based on value). */ vehicle?: Maybe; /** Rated vehicle efficiency in WLTP combined cycle presented in gas equivalent. */ vehicle_fuel_equivalent?: Maybe; /** Rated CO2 emissions in WLTP combined cycle in battery-only mode (NULL if not WLTP rated). */ co2?: Maybe; }; export type VehiclePremiumEfficiencyWLTPvalueArgs = { unit?: Maybe; }; export type VehiclePremiumEfficiencyWLTPfuel_equivalentArgs = { unit?: Maybe; }; export type VehiclePremiumEfficiencyWLTPvehicleArgs = { unit?: Maybe; }; export type VehiclePremiumEfficiencyWLTPvehicle_fuel_equivalentArgs = { unit?: Maybe; }; export type VehiclePremiumEfficiencyWLTPco2Args = { unit?: Maybe; }; export type VehiclePremiumEfficiencyWLTPTEH = { /** Rated efficiency in WLTP TEH combined cycle (TEH/least efficient trim). */ value?: Maybe; /** Rated efficiency in WLTP TEH combined cycle presented in gas equivalent. */ fuel_equivalent?: Maybe; /** Rated vehicle efficiency in WLTP TEH combined cycle (based on value). */ vehicle?: Maybe; /** Rated vehicle efficiency in WLTP TEH combined cycle presented in gas equivalent. */ vehicle_fuel_equivalent?: Maybe; /** Rated CO2 emissions in WLTP TEH combined cycle in battery-only mode (NULL if not WLTP TEH rated). */ co2?: Maybe; }; export type VehiclePremiumEfficiencyWLTPTEHvalueArgs = { unit?: Maybe; }; export type VehiclePremiumEfficiencyWLTPTEHfuel_equivalentArgs = { unit?: Maybe; }; export type VehiclePremiumEfficiencyWLTPTEHvehicleArgs = { unit?: Maybe; }; export type VehiclePremiumEfficiencyWLTPTEHvehicle_fuel_equivalentArgs = { unit?: Maybe; }; export type VehiclePremiumEfficiencyWLTPTEHco2Args = { unit?: Maybe; }; export type VehiclePremiumFastCharge = { /** Details about the connector. */ plug?: Maybe; /** Power during fast charging from 10% to 80% SoC (optimal conditions, fastest charger). */ power?: Maybe; /** Minutes needed to charge from 10% to 80%, with average charging power (optimal conditions, fastest charger). */ charge_time?: Maybe; /** Charging speed during fast charging from 10% to 80% (optimal conditions, fastest charger). */ charge_speed?: Maybe; /** Indicates if fast charge is optional in some markets/regions. */ is_optional?: Maybe; /** Indicates what fields are estimated. */ is_estimated?: Maybe; /** Charging details for fast charging. */ table?: Maybe>>; /** Indicates if autocharge is available. */ has_autocharge?: Maybe; /** Status of Plug & Charge (PnC ISO15118) support for vehicle. */ iso_15118_pnc_support?: Maybe; /** Status of Plug & Charge (PnC ISO15118) -2 protocol support for vehicle. */ iso_15118_pnc_support_2?: Maybe; /** Status of Plug & Charge (PnC ISO15118) -20 protocol support for vehicle. */ iso_15118_pnc_support_20?: Maybe; /** Indicates if the fastcharge data is based on a real-world test by Fastned. */ is_fastned_tested?: Maybe; }; export type VehiclePremiumFastChargecharge_speedArgs = { unit?: Maybe; }; export type VehiclePremiumFastChargeTable = { /** Charging details for fast charging (format: ChargerConnector-ChargerPower-AC/DC). */ format?: Maybe; /** Fast charge power. */ power?: Maybe; /** Minutes needed to charge from 10% to 80% (optimal conditions). */ charge_time?: Maybe; /** Charging speed during fast charging from 10% to 80% (optimal conditions). */ charge_speed?: Maybe; /** Indicates if maximum power during fast charging is limited by the vehicle. */ is_limited?: Maybe; /** Indicates if average power during fast charging is limited by the vehicle. */ average_is_limited?: Maybe; }; export type VehiclePremiumFastChargeTablecharge_speedArgs = { unit?: Maybe; }; export type VehiclePremiumMedia = { /** URL for more details. */ provider_details_url?: Maybe; /** Featured image of the vehicle from a 45-degree angle. */ image: VehicleImage; /** * Latest make logo. * @deprecated In favor of `make`. */ brand: VehicleImage; /** Latest make logo. */ make: VehicleImage; /** All images of the vehicle. */ image_list: Array; /** Latest video. */ video?: Maybe; /** All videos of the vehicle. */ video_list?: Maybe>; /** URL of the OEM page for this vehicle. */ oem_details_url?: Maybe; }; export type VehiclePremiumNaming = { /** Vehicle manufacturer name. */ make: Scalars["String"]; /** Vehicle model name. */ model: Scalars["String"]; /** Version, edition or submodel of the vehicle. */ version?: Maybe; /** Another submodel level of the vehicle. */ edition?: Maybe; /** Vehicle model version. Added by Chargetrip as an alternative for when a vehicle manufacturer does not provide a version name, or uses the same version name across all trims or consecutive years. */ chargetrip_version: Scalars["String"]; /** Vehicle model length version. */ length_version?: Maybe; /** Vehicle model height version. */ height_version?: Maybe; }; export type VehiclePremiumPerformance = { /** Acceleration 0-100 km/h. */ acceleration?: Maybe; /** Indicates if acceleration field is estimated. */ acceleration_is_estimated?: Maybe; /** Top speed of the vehicle. */ top_speed?: Maybe; /** Indicates if top_speed field is estimated. */ top_speed_is_estimated?: Maybe; }; export type VehiclePremiumPerformanceaccelerationArgs = { unit?: Maybe; }; export type VehiclePremiumPerformancetop_speedArgs = { unit?: Maybe; }; export type VehiclePremiumPrice = { /** Starting price for German market. */ DE?: Maybe; /** Starting price for Dutch market. */ NL?: Maybe; /** Starting price for British market. */ GB?: Maybe; }; export type VehiclePremiumPriceValueWithGrant = { /** Starting price for local market expressed in the currency in the field currency. */ value?: Maybe; /** Currency in which the value without optional field conversion is expressed. */ currency?: Maybe; /** Indicates if the starting price is based on an estimate. */ is_estimated?: Maybe; /** Grant that is applied to the starting price. */ grant_applied?: Maybe; /** Total delivery fees (be aware that this field does not include grant). */ price_delivery?: Maybe; /** First registration fee (be aware that this field does not include grant). */ price_first_registration_fee?: Maybe; }; export type VehiclePremiumPriceValueWithGrantvalueArgs = { unit?: Maybe; }; export type VehiclePremiumRange = { /** Rated range in WLTP combined cycle (NULL if not WLTP rated). */ wltp?: Maybe; /** Indicates if WLTP range is estimated (NULL if not WLTP rated). */ wltp_is_estimated?: Maybe; /** Rated range in WLTP (TEH/least efficient trim) combined cycle (NULL if not WLTP rated). */ wltp_teh?: Maybe; /** Rated range in NEDC combined cycle (NULL if not NEDC rated). */ nedc?: Maybe; /** Indicates if NEDC range is estimated (NULL if not NEDC rated). */ nedc_is_estimated?: Maybe; /** Index range. */ provider?: Maybe; /** Indicates if index range is estimated. */ provider_is_estimated?: Maybe; /** Worst conditions are based on -10°C and use of heating. */ worst: VehiclePremiumRangeValue; /** Best conditions are based on 23°C and no use of A/C. */ best: VehiclePremiumRangeValue; /** * Chargetrip's custom real-world range provides a carefully calculated display range for all-electric vehicle models. * Chargetrip range is based on the theoretical distance driven using only the electric engine. * Vehicles that do not have a full electric drivetrain type (all except Battery Electric Vehicles / BEV) therefore return relatively small ranges. * More information on the CT range can be found at https://chargetrip.com/blog/what-is-ct-real-range */ chargetrip_range: ChargetripRange; }; export type VehiclePremiumRangewltpArgs = { unit?: Maybe; }; export type VehiclePremiumRangewltp_tehArgs = { unit?: Maybe; }; export type VehiclePremiumRangenedcArgs = { unit?: Maybe; }; export type VehiclePremiumRangeproviderArgs = { unit?: Maybe; }; export type VehiclePremiumRangeValue = { /** Estimated value on highway or express roads. */ highway: Scalars["Float"]; /** Estimated value on city roads. */ city: Scalars["Float"]; /** Estimated combined value. */ combined: Scalars["Float"]; }; export type VehiclePremiumRangeValuehighwayArgs = { unit?: Maybe; }; export type VehiclePremiumRangeValuecityArgs = { unit?: Maybe; }; export type VehiclePremiumRangeValuecombinedArgs = { unit?: Maybe; }; export type VehiclePremiumRouting = { /** Vehicles that support fast charging have a minimum charging speed of 43 kWh. */ fast_charging_support: Scalars["Boolean"]; /** Drag coefficient. */ drag_coefficient: Scalars["Float"]; /** Tire pressure recommended by manufacturer. */ tire_pressure: Scalars["Float"]; /** Extra consumption model. */ consumption?: Maybe; /** Amount of gasoline that an equivalent gasoline vehicle would consume. */ fuel_consumption?: Maybe; }; export type VehiclePremiumRoutingtire_pressureArgs = { unit?: Maybe; }; export type VehiclePremiumRoutingfuel_consumptionArgs = { unit?: Maybe; }; export type VehiclePremiumRoutingConsumption = { /** The amount of energy, in kWh, used by the auxiliary systems of the vehicle in an hour, like media box, etc */ auxiliary?: Maybe; }; export type VehiclePremiumRoutingConsumptionauxiliaryArgs = { unit?: Maybe; }; export type VehiclePremiumSafety = { /** Number of seats equipped with ISOFIX. */ isofix_seats?: Maybe; /** EuroNCAP results. */ euro_ncap?: Maybe; }; export type VehiclePremiumSafetyEuroNcap = { /** EuroNCAP rating (out of 5 stars). */ rating?: Maybe; /** EuroNCAP year of rating. */ year?: Maybe; /** EuroNCAP rating of adult protection (out of 100%). */ adult?: Maybe; /** EuroNCAP rating of child protection (out of 100%). */ child?: Maybe; /** EuroNCAP rating of vulnerable road users (out of 100%). */ vru?: Maybe; /** EuroNCAP rating of safety assists (out of 100%). */ sa?: Maybe; /** Link to the EuroNCAP test report. */ url?: Maybe; }; /** Propulsion. */ export enum VehiclePropulsion { /** All-wheel drive vehicle. */ AWD = "AWD", /** Front-wheel drive vehicle. */ FRONT = "Front", /** Rear-wheel drive vehicle. */ REAR = "Rear" } /** Status of a vehicle provider. */ export enum VehicleProviderStatus { /** Is imported from any of the data providers. */ NEW = "new", /** Has been attached to core vehicle. */ ATTACHED = "attached", /** Has been detached from a core vehicle. */ DETACHED = "detached", /** Has been archived by database maintainer. */ ARCHIVED = "archived" } export enum VehiclePurpose { /** Vehicle intended for the transportation of passengers. */ PASSENGER = "passenger", /** Vehicle intended for the transportation of cargo. */ CARGO = "cargo", /** Vehicle intended for the transportation of everything except cargo or passengers. Eg: ambulances, agricultural vehicles, etcetera. */ UTILITY = "utility" } export type VehicleRange = { /** Index range. */ provider?: Maybe; /** Indicates if index range is estimated. */ provider_is_estimated?: Maybe; /** Worst conditions are based on -10°C and use of heating. */ worst: VehicleRangeValue; /** Best conditions are based on 23°C and no use of A/C. */ best: VehicleRangeValue; /** * Chargetrip's custom real-world range provides a carefully calculated display range for all-electric vehicle models. * Chargetrip range is based on the theoretical distance driven using only the electric engine. * Vehicles that do not have a full electric drivetrain type (all except Battery Electric Vehicles / BEV) therefore return relatively small ranges. * More information on the CT range can be found at https://chargetrip.com/blog/what-is-ct-real-range */ chargetrip_range: ChargetripRange; }; export type VehicleRangeproviderArgs = { unit?: Maybe; }; export type VehicleRangeValue = { /** Estimated value on the highway or express roads. */ highway: Scalars["Float"]; /** Estimated value on the cities road. */ city: Scalars["Float"]; /** Estimated combined value. */ combined: Scalars["Float"]; }; export type VehicleRangeValuehighwayArgs = { unit?: Maybe; }; export type VehicleRangeValuecityArgs = { unit?: Maybe; }; export type VehicleRangeValuecombinedArgs = { unit?: Maybe; }; export enum VehicleRegion { /** Africa. */ AF = "AF", /** Asia. */ AS = "AS", /** Europe. */ EU = "EU", /** North America. */ NA = "NA", /** Oceania. */ OC = "OC", /** South America. */ SA = "SA" } export type VehicleRouting = { /** Vehicles that support fast charging have a minimum charging speed of 43 kWh. */ fast_charging_support: Scalars["Boolean"]; }; export type VehicleSpeed = { /** Value of the vehicle speed. */ value: Scalars["Float"]; /** Preferred unit for the vehicle's speed. */ type: SpeedUnit; /** Source of inputted data. */ source: TelemetryInputSource; }; export type VehicleSpeedInput = { /** Value of the vehicle's speed. */ value: Scalars["Float"]; /** Preferred unit for the vehicle's speed. */ type: SpeedUnit; /** Source of inputted data, defaults to 'manual'. */ source?: Maybe; }; export type VehicleToEverything = { /** Information about Vehicle-to-Load. */ vehicle_to_load?: Maybe; /** Information about Vehicle-to-Home. */ vehicle_to_home?: Maybe; /** Information about Vehicle-to-Grid. */ vehicle_to_grid?: Maybe; }; export type VehicleToEverythingHomeGrid = { /** Vehicle-to-Home/Grid AC power information. */ ac?: Maybe; /** Vehicle-to-Home/Grid DC power information */ dc?: Maybe; }; export type VehicleToEverythingLoad = { /** Vehicle-to-Load power information. */ ac?: Maybe; /** Details on interior ports available for V2L. */ interior_ports?: Maybe; /** Details on exterior ports available for V2L. */ exterior_ports?: Maybe; }; export type VehicleToEverythingPower = { /** Indicates if this charging is supported. */ is_supported?: Maybe; /** Maximum power output, in kilowatts. */ maximum_power?: Maybe; }; export enum VehicleType { /** Any motor vehicle with two wheels or a motor vehicle with no more than four wheels, does not have parallel seating, and is controlled by means of handlebars. */ MOTORCYCLE = "motorcycle", /** A motor vehicle with three or four wheels that is not a Motorcycle, Pickup, Van, Truck, or Utility vehicle and either has a top speed of less than 60kph or an unladen weight of less than 400kg. */ MICROCAR = "microcar", /** A motor vehicle that does not have an enclosed cab, is not a microcar or utility vehicle, is capable of carrying eight or fewer people, and that has less than one third of its internal volume dedicated to cargo, living, or sleeping space in its default configuration. */ CAR = "car", /** A motor vehicle that has an enclosed cab, is not a utility vehicle, and has a fixed, non-articulated, open-top back cargo bed that is enclosed on at least three sides. */ PICKUP = "pickup", /** * A motor vehicle that does not have an enclosed cab, is not a utility vehicle, that fulfills exactly one of the following conditions: * 1) It is capable of carrying more than eight but less than twenty people. * 2) At least one third of its internal volume is dedicated to cargo space in its default configuration. * 3) It is the passenger variant of a vehicle that meets criterion 2. */ VAN = "van", /** A motor vehicle that does not have an enclosed cab, is not a Utility vehicle, and is capable of carrying 20 or more people in its default configuration. */ BUS = "bus", /** A motor vehicle that has an enclosed cab and is not a Pickup or Utility vehicle. */ TRUCK = "truck", /** * A motor vehicle that fulfills at least one of the following conditions: * 1) It does not have wheels. * 2) It has some mode of locomotion other than wheels in its default configuration such as treads, skis, or floats. * 3) It is capable of air or water travel in its default configuration. * 4) It was manufactured primarily for some purpose other than transporting cargo or passengers. * 5) It does not conform to any of the criteria for the other vehicle categories. */ UTILITY = "utility" } export type VehicleVideo = { /** Video id. */ id?: Maybe; /** Full path URL of a video. */ url?: Maybe; }; export enum VolumeUnit { /** Return the volume in liters. */ LITER = "liter", /** Return the volume in cubic meters. */ CUBIC_METER = "cubic_meter", /** Return the volume in cubic feet. */ CUBIC_FOOT = "cubic_foot" } /** Type of weather conditions used in the route calculation. */ export enum WeatherType { /** Fixed seasonal preset representing typical summer weather conditions. Can't be used in combination with weather.custom. */ SUMMER = "summer", /** Fixed seasonal preset representing typical winter weather conditions. Can't be used in combination with weather.custom. */ WINTER = "winter", /** A dynamic preset that uses real weather data based on the route's departure time. Can't be used in combination with weather.custom. */ ACTUAL = "actual", /** Must be used in combination with weather.custom object. */ CUSTOM = "custom" } export enum WeightUnit { /** Return the weight in kilograms. */ KILOGRAM = "kilogram", /** Return the weight in pounds. */ POUND = "pound" }