Skip to main content
POST
/
api
/
v1
/
ops
/
trip-schedules
Create Trip Schedule
curl --request POST \
  --url https://api.example.com/api/v1/ops/trip-schedules \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "routeId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3c",
  "vehicleId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3d",
  "driverId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3e",
  "name": "São Paulo to Campinas daily morning",
  "frequency": "DAILY",
  "departureAt": "2026-04-15T08:00:00.000Z",
  "stops": [
    {
      "pointId": "0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3c",
      "stopOrder": 0,
      "arrivalOffsetMinutes": 120,
      "departureOffsetMinutes": 135
    }
  ],
  "itineraries": [
    {
      "fromStopOrder": 0,
      "toStopOrder": 1,
      "price": 15000
    }
  ],
  "occurrences": [
    "2026-04-15T08:00:00.000Z"
  ],
  "interval": 1,
  "endAt": "2026-12-31T23:59:59.000Z"
}
'
{
  "tripScheduleId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "companyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "routeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "vehicleId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "driverId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "name": "<string>",
  "interval": 123,
  "departureAt": "2023-11-07T05:31:56Z",
  "endAt": "2023-11-07T05:31:56Z",
  "createdBy": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "createdAt": "2023-11-07T05:31:56Z",
  "updatedBy": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "updatedAt": "2023-11-07T05:31:56Z",
  "deletedBy": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "deletedAt": "2023-11-07T05:31:56Z"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

fields
string

Comma-separated list of fields to include in the response. Supports dot notation for nested projection (e.g. id,name,user.email,trips.route.id). Unknown fields are silently dropped.

Body

application/json

Create trip schedule payload

routeId
string<uuid>
required

Route identifier

Example:

"0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3c"

vehicleId
string<uuid>
required

Vehicle identifier

Example:

"0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3d"

driverId
string<uuid>
required

Driver identifier

Example:

"0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3e"

name
string
required

Trip schedule name

Example:

"São Paulo to Campinas daily morning"

frequency
enum<string>
required

Trip schedule frequency

Available options:
DAILY,
WEEKLY,
MONTHLY
Example:

"DAILY"

departureAt
string<date-time>
required

First scheduled departure

Example:

"2026-04-15T08:00:00.000Z"

stops
object[]
required

Trip schedule stops

Minimum array length: 2
itineraries
object[]
required

Trip schedule itineraries

Minimum array length: 1
occurrences
string<date-time>[]
required

Departure times to materialize

Example:
["2026-04-15T08:00:00.000Z"]
interval
integer

Frequency interval

Required range: x > 0
Example:

1

endAt
string<date-time> | null

Optional recurrence end

Example:

"2026-12-31T23:59:59.000Z"

Response

Created

Template recorrente que materializa viagens vendáveis em um horizonte móvel de 90 dias

tripScheduleId
string<uuid>
required

Identificador único

companyId
string<uuid>
required

Referência à empresa

routeId
string<uuid>
required

Referência à rota

vehicleId
string<uuid>
required

Referência ao veículo

driverId
string<uuid>
required

Referência ao motorista

name
string
required

Nome da programação

frequency
enum<string>
required

Frequência de geração

Available options:
DAILY,
WEEKLY,
MONTHLY
interval
integer
required

Intervalo entre ocorrências (default 1)

status
enum<string>
required

Estado de ativação (default ACTIVE)

Available options:
ACTIVE,
PAUSED,
ARCHIVED
departureAt
string<date-time>
required

Primeira partida programada

endAt
string<date-time> | null
required

Fim opcional da recorrência

createdBy
string<uuid> | null
required

Usuário que criou o registro, quando aplicável

createdAt
string<date-time>
required

Data de criação

updatedBy
string<uuid> | null
required

Usuário que fez a última atualização, quando aplicável

updatedAt
string<date-time>
required

Data da última atualização

deletedBy
string<uuid> | null
required

Usuário que removeu o registro, quando aplicável

deletedAt
string<date-time> | null
required

Data de remoção