📍 Locations
A Location represents a site where one or more EVSEs (charging stations) are installed. Locations can be public or private and may appear in roaming apps depending on the publish flag.【343458627312853†L4195-L4213】.
Key fields
| Field | Type | Card. | Description |
|---|---|---|---|
country_code | CiString(2) | 1 | ISO‑3166 alpha‑2 country code of the CPO that owns the location【343458627312853†L4221-L4225】. |
party_id | CiString(3) | 1 | Party ID of the CPO that owns the location【343458627312853†L4226-L4230】. |
id | CiString(36) | 1 | Unique identifier for the location within the CPO’s platform【343458627312853†L4231-L4236】. |
publish | boolean | 1 | Indicates whether the location may be published in apps or websites. When false, the location must only be shown to owners of tokens listed in publish_allowed_to【343458627312853†L4203-L4209】【343458627312853†L4245-L4253】. |
publish_allowed_to | list of PublishTokenType | * | Tokens for which this non‑public location may be shown【343458627312853†L4256-L4263】. |
name | string(255) | ? | Display name of the location【343458627312853†L4264-L4267】. |
address | string(45) | 1 | Street and house number【343458627312853†L4268-L4271】. |
city | string(45) | 1 | City or town【343458627312853†L4272-L4275】. |
postal_code | string(10) | ? | Postal code (may be omitted for highway stations)【343458627312853†L4276-L4282】. |
state | string(20) | ? | State or province【343458627312853†L4283-L4286】. |
country | string(3) | 1 | ISO‑3166‑1 alpha‑3 country code【343458627312853†L4287-L4291】. |
coordinates | GeoLocation | 1 | Latitude/longitude coordinates【343458627312853†L4291-L4294】. |
parking_type | ParkingType | ? | General type of parking (on‑street, underground, etc.)【343458627312853†L4300-L4304】. |
evses | list of EVSE | * | The EVSEs (charge points) at this location【343458627312853†L4304-L4307】. |
operator/suboperator/owner | BusinessDetails | ? | Contact details of the operator, suboperator or owner【343458627312853†L4313-L4327】. |
facilities | list of Facility | * | Associated facilities (e.g. RESTAURANT, PARKING_GARAGE)【343458627312853†L4328-L4333】. |
time_zone | string | 1 | IANA time zone of the location【343458627312853†L4341-L4346】. |
opening_times | Hours | ? | When the EVSEs can be accessed【343458627312853†L4347-L4351】. |
charging_when_closed | boolean | ? | Whether charging continues outside opening hours【343458627312853†L4352-L4358】. |
images | list of Image | * | Photos or logos related to the location【343458627312853†L4359-L4363】. |
energy_mix | EnergyMix | ? | Information about the energy sources used【343458627312853†L4364-L4367】. |
last_updated | DateTime | 1 | Timestamp when the location or its EVSEs/connectors were last updated【343458627312853†L4368-L4371】. |
Best practices
- Immutable identifiers: Do not change the
idonce the location is created. If a site is restructured, create a new location with a newid. - Publish flags: Use the
publishflag carefully. Public locations should havepublish=true. Private home or corporate chargers that don’t need to appear in apps and don’t require remote control should not be published via OCPI【343458627312853†L4371-L4375】. - EVSE granularity: When a single physical site contains both public and private EVSEs, create separate Location objects.
Locations provide the static context for EVSEs. The dynamic availability of connectors is reported via the Sessions module and real‑time status updates.