Change requests

Events

These events are emitted by the Inventory API (btrz-api-inventory) when manifest or schedule change requests are created or updated.

Action Event name
Creating a manifest's change request (POST /change-requests/manifests) changeRequests.manifests.created
Editing a manifest's change request (PUT /change-requests/:id/manifests) changeRequests.manifests.updated
Creating a schedule's change request (POST /change-requests/schedules) changeRequests.schedules.created
Editing a schedule's change request (PUT /change-requests/:id/schedules) changeRequests.schedules.updated

Field descriptions — data (all events)

The data object in each payload contains the change request document. Common fields:

Field Type Description
_id string Change request id (24 hex characters).
accountId string Account (provider) id.
type string "manifest" or "schedule".
status string pending, approved, rejected, or blocked.
name string Friendly name (e.g. schedule display name and date/time).
operationId string Groups related change requests created together.
operationType string cancellation, change, or cut (manifest); or change (schedule).
request object The requested change (manifest or schedule payload). Structure depends on operationType.
audit array Audit trail of status updates (currentStatus, previousStatus, createdAt, createdBy).
blockedReason string Reason when status is blocked (e.g. "ERROR_CODE|message").
manifestId string Manifest id (manifest change requests only).
routeId string Route id.
scheduleId string Schedule id (UUID).
date string Date for the change (yyyy-mm-dd) (manifest only).
createdBy string User id that created the change request.
updatedBy string User id that last updated the change request.
createdAt object BzDate: creation time.
updatedAt object BzDate: last update time.

For manifest change requests, request may contain status.newValue, legs (for change/cut), or operationType. For schedule change requests, request contains schedule fields (legs, dow, fromDateYYYYMMDD, toDateYYYYMMDD, time, displayName, etc.). See payload examples below for shapes.

Payload example manifest's change request created

Cancellation operation

{
  "attemptId": "2131877c-e4e2-421e-b4e1-2544ab990f67",
  "created": 1770063742,
  "data": {
    "_id": "69810753364208071f15606b",
    "accountId": "6601f1d64f95b505b8eb42e2",
    "audit": [],
    "blockedReason": "",
    "createdAt": {
      "offset": 0,
      "value": "2026-02-02T20:21:39.253Z"
    },
    "createdBy": "68e3c6d55a958106e34b4f37",
    "date": "2026-02-03",
    "manifestId": "698106686407480628078729",
    "name": "ACA-CHG - 2026-02-03 - 08:00",
    "operationId": "johndoe@gmail.com-2026-02-02T20:21:39.135Z",
    "operationType": "cancellation",
    "request": {
      "status": {
        "newValue": "canceled"
      }
    },
    "routeId": "6645004a2fc750051802d0ae",
    "scheduleId": "579d3c05-9145-4a77-a25b-92a7f472295e",
    "status": "pending",
    "type": "manifest",
    "updatedAt": {
      "offset": 0,
      "value": "2026-02-02T20:21:39.253Z"
    },
    "updatedBy": "68e3c6d55a958106e34b4f37"
  },
  "event": "changeRequests.manifests.created",
  "id": "6de7da21-ab0e-4996-8eac-de31c03eaa15",
  "livemode": false
}

Change operation

{
  "attemptId": "df13a77d-07ae-4d61-bae4-69f53bc26073",
  "created": 1770063514,
  "data": {
    "_id": "69810668f02f1e07253515f9",
    "accountId": "6601f1d64f95b505b8eb42e2",
    "audit": [],
    "blockedReason": "",
    "createdAt": {
      "offset": 0,
      "value": "2026-02-02T20:17:44.522Z"
    },
    "createdBy": "68e3c6d55a958106e34b4f37",
    "date": "2026-02-03",
    "manifestId": "698106686407480628078729",
    "name": "ACA-CHG - 2026-02-03 - 08:00",
    "operationId": "johndoe@gmail.com-2026-02-02T20:17:44.404Z",
    "operationType": "change",
    "request": {
      "legs": [
        {
          "arrival": "08:10",
          "departure": "08:00",
          "fromId": "661017a80294430529380813",
          "requiresCheckIn": false,
          "toId": "66101ce5d04e3e05235fd326",
          "waitTime": 0,
          "travelRouteId": "5a721438608b5db92bed2684", // if provided
        },
        {
          "arrival": "10:00",
          "departure": "08:30",
          "fromId": "66101ce5d04e3e05235fd326",
          "requiresCheckIn": false,
          "toId": "66101aabd04e3e05235fd31e",
          "waitTime": 20
        }
      ],
      "operationType": "change"
    },
    "routeId": "6645004a2fc750051802d0ae",
    "scheduleId": "579d3c05-9145-4a77-a25b-92a7f472295e",
    "status": "pending",
    "type": "manifest",
    "updatedAt": {
      "offset": 0,
      "value": "2026-02-02T20:17:44.522Z"
    },
    "updatedBy": "68e3c6d55a958106e34b4f37"
  },
  "event": "changeRequests.manifests.created",
  "id": "07b06f2c-4c5e-48bd-8983-59e77e266706",
  "livemode": false
}

Cut operation

{
  "attemptId": "a0c5f0fd-3dde-40e6-b216-062a52743372",
  "created": 1770063918,
  "data": {
    "_id": "6981082af02f1e07253515fa",
    "accountId": "6601f1d64f95b505b8eb42e2",
    "audit": [],
    "blockedReason": "",
    "createdAt": {
      "offset": 0,
      "value": "2026-02-02T20:25:14.923Z"
    },
    "createdBy": "68e3c6d55a958106e34b4f37",
    "date": "2026-02-03",
    "manifestId": "698106686407480628078729",
    "name": "ACA-CHG - 2026-02-03 - 08:00",
    "operationId": "johndoe@gmail.com-2026-02-02T20:25:14.807Z",
    "operationType": "cut",
    "request": {
      "legs": [
        {
          "arrival": "08:20",
          "departure": "08:00",
          "fromId": "661017a80294430529380813",
          "requiresCheckIn": false,
          "toId": "66101ce5d04e3e05235fd326",
          "waitTime": 0
        }
      ],
      "operationType": "cut"
    },
    "routeId": "6645004a2fc750051802d0ae",
    "scheduleId": "579d3c05-9145-4a77-a25b-92a7f472295e",
    "status": "pending",
    "type": "manifest",
    "updatedAt": {
      "offset": 0,
      "value": "2026-02-02T20:25:14.923Z"
    },
    "updatedBy": "68e3c6d55a958106e34b4f37"
  },
  "event": "changeRequests.manifests.created",
  "id": "49a1dc2d-765e-4c1d-b587-625287064ef7",
  "livemode": false
}

Payload example manifest's change request updated

Example of event from updating the example of change operation above.

{
  "attemptId": "f21f838f-7418-48a0-8a38-4fed9c1bb84b",
  "created": 1770064302,
  "data": {
    "_id": "69810668f02f1e07253515f9",
    "accountId": "6601f1d64f95b505b8eb42e2",
    "audit": [
      {
        "createdAt": "2026-02-02T20:31:31.294Z",
        "createdBy": "68e3c6d55a958106e34b4f37",
        "currentStatus": "approved",
        "previousStatus": "pending"
      }
    ],
    "blockedReason": "",
    "createdAt": {
      "offset": 0,
      "value": "2026-02-02T20:17:44.522Z"
    },
    "createdBy": "68e3c6d55a958106e34b4f37",
    "date": "2026-02-03",
    "manifestId": "698106686407480628078729",
    "name": "ACA-CHG - 2026-02-03 - 08:00",
    "operationId": "johndoe@gmail.com-2026-02-02T20:17:44.404Z",
    "operationType": "change",
    "request": {
      "legs": [
        {
          "arrival": "08:10",
          "departure": "08:00",
          "fromId": "661017a80294430529380813",
          "requiresCheckIn": false,
          "toId": "66101ce5d04e3e05235fd326",
          "waitTime": 0,
          "travelRouteId": "5a721438608b5db92bed2684",
        },
        {
          "arrival": "10:00",
          "departure": "08:30",
          "fromId": "66101ce5d04e3e05235fd326",
          "requiresCheckIn": false,
          "toId": "66101aabd04e3e05235fd31e",
          "waitTime": 20
        }
      ],
      "operationType": "change"
    },
    "routeId": "6645004a2fc750051802d0ae",
    "scheduleId": "579d3c05-9145-4a77-a25b-92a7f472295e",
    "status": "approved",
    "type": "manifest",
    "updatedAt": {
      "offset": 0,
      "value": "2026-02-02T20:31:31.294Z"
    },
    "updatedBy": "68e3c6d55a958106e34b4f37"
  },
  "event": "changeRequests.manifests.updated",
  "id": "ef04f735-8d59-473e-9a14-660c5dbaa649",
  "livemode": false
}

Payload example schedule's change request created

{
  "attemptId": "8b62f96a-9a4c-4329-8a9d-f91800c00add",
  "created": 1770064736,
  "data": {
    "_id": "69810b4df02f1e07253515fc",
    "accountId": "6601f1d64f95b505b8eb42e2",
    "audit": [],
    "blockedReason": "",
    "createdAt": {
      "offset": 0,
      "value": "2026-02-02T20:38:37.024Z"
    },
    "createdBy": "68e3c6d55a958106e34b4f37",
    "name": "MEX-ACA EJE",
    "operationId": "johndoe@gmail.com-2026-02-02T20:38:36.934Z",
    "operationType": "change",
    "request": {
      "scheduleIdForRms": "",
      "controlClassId": "",
      "legs": [
        {
          "arrival": "14:39",
          "collapsed": true,
          "departure": "10:59",
          "from": "MEXICO TAXQUENA",
          "fromId": "661026d0029443052938083e",
          "requiresCheckIn": false,
          "to": "CHILPANCINGO GRO",
          "toId": "66101aabd04e3e05235fd31e",
          "travelRouteId": "681cc8b79a2282051b35d7ae",
          "waitTime": 0
        },
        {
          "arrival": "16:10",
          "collapsed": true,
          "departure": "14:49",
          "distance": 0,
          "duration": 81,
          "from": "CHILPANCINGO GRO",
          "fromId": "66101aabd04e3e05235fd31e",
          "fromMarkerLabel": 2,
          "hideWhenPrintingManifest": false,
          "legord": 1,
          "requiresCheckIn": false,
          "to": "ACAPULCO COSTERA",
          "toId": "661017a80294430529380813",
          "toMarkerLabel": 3,
          "waitTime": 10
        }
      ],
      "duration": 311,
      "routeId": "663e5e212fd0c20546dd5e44",
      "toId": "661017a80294430529380813",
      "dow": {
        "friday": "Y",
        "holiday": "N",
        "holidaysIncluded": "Y",
        "holidaysOnly": "N",
        "monday": "Y",
        "saturday": "Y",
        "sunday": "Y",
        "thursday": "Y",
        "tuesday": "Y",
        "wednesday": "Y"
      },
      "inventoryId": "661db99ef7bf0f0515eb2ac5",
      "isExtraRun": false,
      "autoBouncingChanges": {
        "currentSchedule": {
          "routeId": "663e5e212fd0c20546dd5e44",
          "scheduleId": "119dfc1d-db46-4d05-af09-d6efde4d2dc2"
        },
        "newDepartureTime": "0:0",
        "newParentSchedule": null,
        "toRemove": null
      },
      "to": "ACAPULCO COSTERA",
      "operatingCompanyId": "661595e438a6280519caf7b9",
      "taxExempt": false,
      "toDateYYYYMMDD": "2026-02-06",
      "fromDateYYYYMMDD": "2026-02-05",
      "from": "MEXICO TAXQUENA",
      "distance": 0,
      "defaultManifestStatus": "published",
      "requiresCheckIn": false,
      "scheduleGroupId": "",
      "capacity": 36,
      "labelIds": [],
      "amenityGroupId": "661db7a3f7bf0f0515eb2ac4",
      "useTimeZoneOfFirstStation": false,
      "travelRouteId": "",
      "standingPassengerCapacity": 0,
      "displayName": "MEX-ACA EJE",
      "passengerLimits": [],
      "time": "10:59",
      "externalId": "",
      "seatMapId": "661dbc18f7bf0f0515eb2ac7",
      "brandId": "661595307d3295051fdc1f1b",
      "fromId": "661026d0029443052938083e",
      "copyFromScheduleId": "8346a662-5583-4502-8c88-b6e2fef6ff22", // if created based on another schedule
      "copyFromManifestDate": "2026-02-05" // if created based on a manifest
    },
    "routeId": "663e5e212fd0c20546dd5e44",
    "scheduleId": "119dfc1d-db46-4d05-af09-d6efde4d2dc2",
    "status": "pending",
    "type": "schedule",
    "updatedAt": {
      "offset": 0,
      "value": "2026-02-02T20:38:37.024Z"
    },
    "updatedBy": "68e3c6d55a958106e34b4f37"
  },
  "event": "changeRequests.schedules.created",
  "id": "8afb11a8-9376-4024-9389-d5696ec5607b",
  "livemode": false
}

Payload example schedule's change request updated

Example of an update rejecting the above change request.

{
  "attemptId": "01afde68-d315-4cfd-9f61-a0eda3af8120",
  "created": 1770065246,
  "data": {
    "_id": "69810b4df02f1e07253515fc",
    "accountId": "6601f1d64f95b505b8eb42e2",
    "audit": [
      {
        "createdAt": "2026-02-02T20:46:11.135Z",
        "createdBy": "68e3c6d55a958106e34b4f37",
        "currentStatus": "rejected",
        "previousStatus": "pending"
      }
    ],
    "blockedReason": "",
    "createdAt": {
      "offset": 0,
      "value": "2026-02-02T20:38:37.024Z"
    },
    "createdBy": "68e3c6d55a958106e34b4f37",
    "name": "MEX-ACA EJE",
    "operationId": "johndoe@gmail.com-2026-02-02T20:38:36.934Z",
    "operationType": "change",
    "request": {
      "scheduleIdForRms": "",
      "controlClassId": "",
      "legs": [
        {
          "arrival": "14:39",
          "collapsed": true,
          "departure": "10:59",
          "from": "MEXICO TAXQUENA",
          "fromId": "661026d0029443052938083e",
          "requiresCheckIn": false,
          "to": "CHILPANCINGO GRO",
          "toId": "66101aabd04e3e05235fd31e",
          "travelRouteId": "681cc8b79a2282051b35d7ae",
          "waitTime": 0
        },
        {
          "arrival": "16:10",
          "collapsed": true,
          "departure": "14:49",
          "distance": 0,
          "duration": 81,
          "from": "CHILPANCINGO GRO",
          "fromId": "66101aabd04e3e05235fd31e",
          "fromMarkerLabel": 2,
          "hideWhenPrintingManifest": false,
          "legord": 1,
          "requiresCheckIn": false,
          "to": "ACAPULCO COSTERA",
          "toId": "661017a80294430529380813",
          "toMarkerLabel": 3,
          "waitTime": 10
        }
      ],
      "duration": 311,
      "routeId": "663e5e212fd0c20546dd5e44",
      "toId": "661017a80294430529380813",
      "dow": {
        "friday": "Y",
        "holiday": "N",
        "holidaysIncluded": "Y",
        "holidaysOnly": "N",
        "monday": "Y",
        "saturday": "Y",
        "sunday": "Y",
        "thursday": "Y",
        "tuesday": "Y",
        "wednesday": "Y"
      },
      "inventoryId": "661db99ef7bf0f0515eb2ac5",
      "isExtraRun": false,
      "autoBouncingChanges": {
        "currentSchedule": {
          "routeId": "663e5e212fd0c20546dd5e44",
          "scheduleId": "119dfc1d-db46-4d05-af09-d6efde4d2dc2"
        },
        "newDepartureTime": "0:0",
        "newParentSchedule": null,
        "toRemove": null
      },
      "to": "ACAPULCO COSTERA",
      "operatingCompanyId": "661595e438a6280519caf7b9",
      "taxExempt": false,
      "toDateYYYYMMDD": "2026-02-06",
      "fromDateYYYYMMDD": "2026-02-05",
      "from": "MEXICO TAXQUENA",
      "distance": 0,
      "defaultManifestStatus": "published",
      "requiresCheckIn": false,
      "scheduleGroupId": "",
      "capacity": 36,
      "labelIds": [],
      "amenityGroupId": "661db7a3f7bf0f0515eb2ac4",
      "useTimeZoneOfFirstStation": false,
      "travelRouteId": "",
      "standingPassengerCapacity": 0,
      "displayName": "MEX-ACA EJE",
      "passengerLimits": [],
      "time": "10:59",
      "externalId": "",
      "seatMapId": "661dbc18f7bf0f0515eb2ac7",
      "brandId": "661595307d3295051fdc1f1b",
      "fromId": "661026d0029443052938083e",
      "copyFromScheduleId": "8346a662-5583-4502-8c88-b6e2fef6ff22", // if created based on another schedule
      "copyFromManifestDate": "2026-02-05" // if created based on a manifest
    },
    "routeId": "663e5e212fd0c20546dd5e44",
    "scheduleId": "119dfc1d-db46-4d05-af09-d6efde4d2dc2",
    "status": "rejected",
    "type": "schedule",
    "updatedAt": {
      "offset": 0,
      "value": "2026-02-02T20:46:11.135Z"
    },
    "updatedBy": "68e3c6d55a958106e34b4f37"
  },
  "event": "changeRequests.schedules.updated",
  "id": "a2ed1f4b-aa89-45cb-8667-9422cd0a5aa3",
  "livemode": false
}