Skip to main content

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 NameValueDescriptionRequired
dealerDepartmentUUIDStringUnique identifier of dealer departmentYes

Authorization

This request requires the following authorization scopes:

ScopeLevelDescription
appointment.transportOptionsDealerDepartmentAuthorises 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"
}
]
}
Excluding deleted options

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.

For API Partners

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.

Displaying the transport option name

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.

  • Minimum Cache Duration: 24 hours (1 day) per dealerDepartmentUUID
  • Optimal Cache Duration: 7 days per dealerDepartmentUUID
  • Cache Key Structure: transport-options-{dealerDepartmentUUID}