DocsBookingAPIService Types

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

FieldTypeDescription
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 vehicle
  • POST /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);