Available service types
Service types represent the categories of vehicles you can book — Standard Saloon, Executive, MPV, and more.
Use this endpoint to populate a vehicle-selection UI and to look up the serviceTypeId needed when creating a booking.
List service types
GET
/api/v1/pricing/service-types
Returns all service types currently active for your account's region. No request body is required —
pass only your Authorization header.
Request
curl https://api.moovlogic.com/api/v1/pricing/service-types \
-H "Authorization: Bearer YOUR_TOKEN"
import requests
response = requests.get(
'https://api.moovlogic.com/api/v1/pricing/service-types',
headers={'Authorization': f'Bearer {token}'}
)
service_types = response.json()['serviceTypes']
for st in service_types:
print(f"{st['name']} ({st['shortCode']}) — max {st['maxPassengers']} passengers")
<?php
$ch = curl_init('https://api.moovlogic.com/api/v1/pricing/service-types');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer $token"]
]);
$data = json_decode(curl_exec($ch), true);
$serviceTypes = $data['serviceTypes'];
curl_close($ch);
const response = await fetch('https://api.moovlogic.com/api/v1/pricing/service-types', {
headers: { 'Authorization': `Bearer ${token}` }
});
const { serviceTypes } = await response.json();
Response — 200 OK
Response
200 OK
{
"serviceTypes": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "Standard Saloon",
"shortCode": "STSA",
"description": "Comfortable saloon for up to 4 passengers",
"maxPassengers": 4,
"maxLuggage": 2,
"imageUrl": "https://cdn.moovlogic.com/vehicles/standard-saloon.png"
},
{
"id": "7cb4a2f1-83b1-4e9d-9a3c-1f8e2d6c4b5a",
"name": "Executive",
"shortCode": "EXEC",
"description": "Premium executive car for up to 4 passengers",
"maxPassengers": 4,
"maxLuggage": 3,
"imageUrl": "https://cdn.moovlogic.com/vehicles/executive.png"
},
{
"id": "c1d4e7f0-1234-5678-abcd-9f0e8d7c6b5a",
"name": "MPV",
"shortCode": "SMPV",
"description": "Multi-purpose vehicle for up to 7 passengers",
"maxPassengers": 7,
"maxLuggage": 5,
"imageUrl": "https://cdn.moovlogic.com/vehicles/mpv.png"
}
]
}
Response fields
| Field | Type | Description |
|---|---|---|
| id | string (UUID) | The unique identifier for this service type. Use this as serviceTypeId in pricing and booking requests. |
| name | string | Display name shown to customers. |
| shortCode | string | Internal short code (e.g. STSA, EXEC). |
| description | string | Short description suitable for display in a vehicle selector. |
| maxPassengers | integer | Maximum number of passengers this vehicle type accommodates. |
| maxLuggage | integer | Maximum number of luggage pieces this vehicle type accommodates. |
| imageUrl | string (URL) | URL of the vehicle image. Use this to display a vehicle image in your UI. May be null if no image has been configured. |
Using service type IDs
The id field is the serviceTypeId you pass to:
POST /api/v1/pricing/quotes/{serviceTypeId}— price a specific vehiclePOST /api/v1/bookings— create a booking for a specific vehicle
Cache the service types list for up to one hour. Vehicle categories change infrequently and caching saves unnecessary API calls.
Filtering by passenger count
The API does not filter service types by passenger count server-side — it returns all active types.
Filter by maxPassengers in your own code to show only suitable vehicles for the booking request:
Filter by passenger count
passengers_needed = 5
suitable = [st for st in service_types if st['maxPassengers'] >= passengers_needed]
const passengersNeeded = 5;
const suitable = serviceTypes.filter(st => st.maxPassengers >= passengersNeeded);