> ## Documentation Index
> Fetch the complete documentation index at: https://docs.catenatelematics.com/llms.txt
> Use this file to discover all available pages before exploring further.

# v2.112.0 - Load Stop Timing & Geofence Fields

> New estimated arrival, departure, and radius fields added to visibility load stops, origin, and destination

**Released 19th October 2026**

This release adds three new optional fields — `estimated_arrival_at`, `estimated_departure_at`, and `radius_meters` — to the origin, destination, and intermediate stops on the visibility loads endpoints. The tracking endpoints now return these fields alongside the existing stop data, and the endpoint descriptions have been updated to reflect that estimated times are populated from what you posted rather than always being `null`.

<Check>
  **Minor Release:** Backward-compatible additions. All new fields are optional on input and additive on output. Existing integrations require no changes.
</Check>

## Schema Changes

<AccordionGroup>
  <Accordion title="New fields on load stops, origin, and destination" icon="sparkles">
    **Updated endpoints:**

    * `POST /v2/visibility/loads`
    * `PATCH /v2/visibility/loads/{load_id}`
    * `GET /v2/visibility/loads/tracking`
    * `GET /v2/visibility/loads/{load_id}/tracking`

    **What changed:**

    Three new optional fields are now accepted on `origin`, `destination`, and each entry in `stops` when creating a load:

    | Field | Type | Description |
    | - | - | - |
    | `estimated_arrival_at` | `string<date-time> \| null` | When the vehicle is expected to arrive at the stop (UTC). |
    | `estimated_departure_at` | `string<date-time> \| null` | When the vehicle is expected to leave the stop (UTC). |
    | `radius_meters` | `integer` | Geofence radius around the stop in metres. Required in responses. |

    The same fields appear in the response schemas for `POST /v2/visibility/loads`, `PATCH /v2/visibility/loads/{load_id}`, and both tracking endpoints. `radius_meters` is required in responses.

    The tracking endpoint descriptions have also been updated: estimated arrival and departure times are no longer described as always `null` — they now reflect the values you posted, if any.

    **Before (create/update request body for origin or destination):**

    ```json theme={null}
    {
      "latitude": 40.4406,
      "longitude": -79.9959,
      "name": "Pittsburgh, PA"
    }
    ```

    **After:**

    ```json theme={null}
    {
      "latitude": 40.4406,
      "longitude": -79.9959,
      "name": "Pittsburgh, PA",
      "estimated_arrival_at": "2026-08-15T09:00:00Z",
      "estimated_departure_at": "2026-08-15T09:45:00Z",
      "radius_meters": 200
    }
    ```

    **Response stops (tracking endpoints) — before:**

    ```json theme={null}
    {
      "stops": [
        {
          "sequence": 0,
          "point": { "type": "Point", "coordinates": [-79.9959, 40.4406] },
          "stop_type": "origin",
          "arrived_at": null,
          "departed_at": null,
          "estimated_arrival_at": null,
          "estimated_departure_at": null
        }
      ]
    }
    ```

    **After:**

    ```json theme={null}
    {
      "stops": [
        {
          "sequence": 0,
          "point": { "type": "Point", "coordinates": [-79.9959, 40.4406] },
          "stop_type": "origin",
          "radius_meters": 200,
          "arrived_at": null,
          "departed_at": null,
          "estimated_arrival_at": "2026-08-15T09:00:00Z",
          "estimated_departure_at": "2026-08-15T09:45:00Z"
        }
      ]
    }
    ```

    **Impact:**

    * `estimated_arrival_at`, `estimated_departure_at`, and `radius_meters` are new optional fields on `origin`, `destination`, and `stops` in the create load request body
    * All three fields appear in response schemas for create, update, and tracking endpoints
    * `radius_meters` is required in responses; `estimated_arrival_at` and `estimated_departure_at` are `null` when none was sent
    * Actual arrival and departure times (`arrived_at`, `departed_at`) remain `null` — they are not yet recorded
    * Integrations that do not send or read these fields require no changes
  </Accordion>
</AccordionGroup>

## Integration Notes

<Steps>
  <Step title="Optionally send timing and geofence data when creating a load">
    You can now include per-stop timing and a geofence radius when posting a load:

    ```bash theme={null}
    POST /v2/visibility/loads
    ```

    ```json theme={null}
    {
      "load_ref": "LOAD-001",
      "estimated_departure_at": "2026-08-15T08:00:00Z",
      "estimated_arrival_at": "2026-08-15T18:00:00Z",
      "origin": {
        "latitude": 40.4406,
        "longitude": -79.9959,
        "name": "Pittsburgh, PA",
        "estimated_departure_at": "2026-08-15T09:45:00Z",
        "radius_meters": 200
      },
      "destination": {
        "latitude": 39.9526,
        "longitude": -75.1652,
        "name": "Philadelphia, PA",
        "estimated_arrival_at": "2026-08-15T17:30:00Z",
        "radius_meters": 300
      }
    }
    ```
  </Step>

  <Step title="Read estimated times from tracking responses">
    The tracking endpoints now return `estimated_arrival_at` and `estimated_departure_at` on each stop, populated from what you sent when you created or updated the load. If you did not send them, they are `null`.

    ```bash theme={null}
    GET /v2/visibility/loads/tracking
    GET /v2/visibility/loads/{load_id}/tracking
    ```
  </Step>

  <Step title="No action required for existing integrations">
    All new fields are optional on input and additive on output. If your integration does not send or read them, no changes are needed.
  </Step>
</Steps>

***

## Need Help?

<CardGroup cols={2}>
  <Card title="API Reference" icon="book" href="/api-reference/telematics-api">
    View complete endpoint documentation for the Visibility API
  </Card>

  <Card title="Contact Support" icon="life-ring" href="mailto:support@catenaclearing.io">
    Questions about your integration? Our team is here to help
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.