How to get TransportOption for a Dealer
Get all transport options for dealer. The response from this API can be cached as transport options rarely change.
For errors and warnings that this endpoint can return, see Get transport options — Errors and warnings.
Request
HTTP request
GET https://api.mykaarma.com/appointment/v2/department/{{dealerDepartmentUUID}}/transportOption/list
Parameters
Path parameter:
| Parameter Name | Value | Description | Required |
|---|---|---|---|
dealerDepartmentUUID | String | Unique identifier of dealer department | Yes |
Authorization
This request requires the following authorization scopes:
| Scope | Level | Description |
|---|---|---|
appointment.transportOptions | DealerDepartment | Authorises client to get transportOption for a dealer |
Sample Curl
curl --location 'https://api.mykaarma.com/appointment/v2/department/3fed82861160717ea55057293650d3f0e63903c756ec1b85b261a70390ff0d6f/transportOption/list' \
--header 'Authorization: {{basic_auth_token}}'
Response
{
"statusCode": 0,
"transportOptionList": [
{
"bookingId": "string",
"customMessage": "string",
"customName": "string",
"deleted": false,
"icon": "string",
"optionName": "string",
"priority": 0,
"showOnDealerApp": true,
"showOnline": true,
"transportOptionUuid": "string"
}
],
"error": {
"errorCode": "string",
"errorDescription": "string",
"errorUID": "string"
},
"warnings": [
{
"warningCode": "string",
"warningDescription": "string"
}
]
}
Always check deleted and only use options where deleted is false. Options with deleted=true have been removed by the dealership and should not be shown or offered.
If you want behaviour similar to myKaarma's online schedulers, filter the transportOptionList to only the options where showOnline is true. Transport options with showOnline=false are not surfaced to customers in online scheduling experiences and should be excluded from your scheduling flow.
When showing a transport option to the user, use customName if it is present; otherwise fall back to optionName. customName is the dealer-configured, user-facing label (e.g. "Loaner(for warranty or recall)"), whereas optionName may be an internal value (e.g. "custom1").
Best Practices
Implementing Caching
We strongly recommend implementing a robust caching strategy when working with transport options. Since transport options are highly stable and rarely change (typically only when dealership managers update them through the myKaarma application), caching can significantly improve performance and reduce unnecessary API calls.
Recommended Caching Strategy
- Minimum Cache Duration: 24 hours (1 day) per dealerDepartmentUUID
- Optimal Cache Duration: 7 days per dealerDepartmentUUID
- Cache Key Structure:
transport-options-{dealerDepartmentUUID}