Points of Interest (POIs) are informational map locations that can be displayed to end users and operators. Use them for places that should help users understand the map or find relevant locations, such as parking areas, charging stations, fuel stations, partner locations, business locations, or touristic spots.
POIs are not stations. They do not define booking capacity, docking slots, parking-area occupancy, or rental start/end validation. Use station endpoints for operational station workflows, and POI endpoints for informational map markers.
| Related reference: Points-Of-Interest Operations API | Points-Of-Interest User API | Operations API Guide | Branches And Stations Guide | Vehicle Guide | Error Codes |
A POI is a single map marker with a position, category, display state, and optional branch context.
Important fields:
| Field | Meaning |
|---|---|
id |
POI identifier. |
categoryId |
Category that classifies the POI. |
branchId |
Optional branch association. |
name / description |
Display text. |
position |
GeoJSON point. Coordinates use [lng, lat]. |
address / city |
Display location details. |
url / phoneNumber |
Optional contact or external information. |
displayOnRental |
Whether to display this POI during rentals. |
enabled |
Whether the POI is active and visible. |
mapZoomLevel |
Preferred zoom level when focusing the POI. |
sizeFactor |
Map marker size multiplier. |
useCustomIcon |
Whether to use a custom icon/image. |
openingInformation |
Opening-hour information. |
images |
Icon, main image, and optional details images. |
translationKeys |
Translation keys for localized name and description. |
POI categories define how POIs are grouped, displayed, and filtered.
Supported category types include:
| Type | Use it for |
|---|---|
PARKING |
Parking-related locations. |
DOCKING_STATION |
Informational docking-station marker. Use station APIs if it controls docking operations. |
CHARGING_STATION |
Charging locations. |
FUEL_STATION |
Fuel locations. |
TOURISTIC_SPOT |
Touristic or visitor-relevant locations. |
BUSINESS |
Business or partner locations. |
Important category fields:
| Field | Meaning |
|---|---|
type |
Category type. |
name / description |
Category display text. |
displayOnRental |
Whether POIs in this category should be shown during rentals. |
enabled |
Whether the category is active and usable. |
mapZoomLevel |
Preferred zoom level for the category. |
sizeFactor |
Marker size multiplier. |
useCustomIcon |
Whether category-level custom icon behavior is enabled. |
images |
Category icons/images. |
defaultTranslationKeys |
Translation keys for localized category text. |
poiCount |
Number of POIs assigned to the category. |
| Concept | Controls operations? | Typical use |
|---|---|---|
| POI | No | Informational marker shown on a map. |
| General station | Yes, depending on station type | Branch-scoped station records such as virtual, docking, recommended, or promotion stations. |
| Booking station | Yes | Booking capacity, available categories, expected vehicles, and conflicts. |
| Physical station | Yes | Slots, parking areas, docked vehicles, and station occupancy. |
If a location should only be visible on the map, use POIs. If it should constrain booking, rental, docking, parking, or return behavior, use the appropriate station or branch configuration.
Use GET /categories to list POI categories.
Useful parameters:
| Parameter | Use it for |
|---|---|
searchText |
Search categories by ID or name. |
Use categories as the first step when creating a POI. A POI must be assigned to a category.
Use:
| Task | Endpoint |
|---|---|
| Create category | POST /categories |
| Get category | GET /categories/{poiCategoryId} |
| Replace category | PUT /categories/{poiCategoryId} |
| Partially update category | PATCH /categories/{poiCategoryId} |
| Delete category | DELETE /categories/{poiCategoryId} |
Use PATCH when changing only one or a few fields. Use PUT when replacing the full category definition and all required fields are available.
Do not delete categories that are still used by POIs. Disable the category with enabled=false if the category should no longer be available but history or references still matter.
Use:
| Task | Endpoint |
|---|---|
| List POIs | GET /pois |
| Create POI | POST /pois |
| Get POI | GET /pois/{poiId} |
| Replace POI | PUT /pois/{poiId} |
| Partially update POI | PATCH /pois/{poiId} |
| Delete POI | DELETE /pois/{poiId} |
Required fields for create include categoryId, name, position, and address.
Use enabled=false when a POI should be temporarily hidden. Prefer disabling over deleting when the POI may be reused or when operators need a clear audit trail of configured locations.
POIs and POI categories both have displayOnRental.
Use this setting when the map marker is useful during an active rental, for example:
If a POI should only be shown before rental start or in general map discovery, keep displayOnRental=false.
Use mapZoomLevel, sizeFactor, useCustomIcon, and images to control how POIs are presented.
Image behavior:
| Field | Meaning |
|---|---|
images.icon |
Standard icon unless custom icon behavior uses a main image. |
images.mainImage |
Main custom image when useCustomIcon=true. |
images.detailsImage_* |
Additional images for detail views. Additional image keys should start with detailsImage_. |
Categories can provide default visual behavior, while individual POIs can override display details where needed.
Use translation keys when POI names and descriptions need to be localized in user-facing applications.
| Field | Use it for |
|---|---|
translationKeys.name |
POI name translation key. |
translationKeys.description |
POI description translation key. |
defaultTranslationKeys.name |
Category name translation key. |
defaultTranslationKeys.description |
Category description translation key. |
Translation keys are maintained through the translation/resource workflow, not directly by the POI endpoint.
| Area | Endpoint |
|---|---|
| POIs | GET /pois, POST /pois |
| POI detail | GET /pois/{poiId} |
| POI update | PUT /pois/{poiId}, PATCH /pois/{poiId} |
| POI delete | DELETE /pois/{poiId} |
| Categories | GET /categories, POST /categories |
| Category detail | GET /categories/{poiCategoryId} |
| Category update | PUT /categories/{poiCategoryId}, PATCH /categories/{poiCategoryId} |
| Category delete | DELETE /categories/{poiCategoryId} |
| User-facing POI retrieval | Points-Of-Interest User API: GET /pois, GET /categories |
POI administration is permission-gated. Operator tools should only expose create, update, and delete actions to users with POI/category management permissions for the relevant tenant and branch context.
For custom tools:
enabled=false for temporary hiding instead of deleting.[lng, lat].PATCH for small edits and PUT only for full replacement.displayOnRental carefully; active-rental maps should show only locations that are useful during the trip.Confirm whether the tenant wants POIs to appear in the user app, during active rentals, in operator tools, or all of these contexts. POIs are useful map context, but they should not be used to model operational constraints that belong to branches, stations, rental requirements, or vehicle category settings.