# Trip Start

## Overview

The Trip Start workflow begins a new passenger hire. The Taxi Meter notifies CabFare Connect that a trip has commenced and receives a Trip ID that is used as the unique identifier for all subsequent events in that hire. Trip Start applies to both standard and Subsidy Scheme trips.

## Sequence Diagram

```mermaid
sequenceDiagram
    actor Driver
    participant TM as Taxi Meter
    participant CC as CabFare Connect

    Driver->>TM: Starts trip hire on Taxi Meter
    TM->>CC: POST /meter/trip/start (taxiMeterId, driverId, vehiclePlate, tripId)
    
    alt Driver is eligible for Subsidy Scheme trips
        CC-->>TM: 204 No Content (trip started, MPTP status valid)
    else Driver is not eligible for Subsidy Scheme trips
        CC-->>TM: 202 Accepted (trip started, MPTP status invalid)
        TM-->>Driver: Disables Subsidy Scheme functions for this trip
    end
```

## Step-by-Step

### Step 1 — Driver starts trip on Taxi Meter

The driver begins the hire by starting the trip on the Taxi Meter as normal. The Taxi Meter sends a trip start notification to CabFare Connect.

**Taxi Meter calls:**
`POST /meter/trip/start`

**Required fields:** `taxiMeterId`, `driverId`, `vehiclePlate`, `tripId`

The `tripId` may be generated by the Taxi Meter or by CabFare Connect. If the Taxi Meter does not generate a `tripId`, CabFare Connect will generate one and return it in the response. The `tripId` must be used as the identifier for all subsequent events in this hire including Member Card Validation, Trip End, and Balance Payment.

***

### Step 2 — CabFare Connect responds

**If the driver is eligible for Subsidy Scheme trips:**

- CabFare Connect returns `204 No Content`
- The trip is active and Subsidy Scheme functions are available

**If the driver is not eligible for Subsidy Scheme trips:**

- CabFare Connect returns `202 Accepted`
- The trip is active but Subsidy Scheme functions are disabled for this trip
- The Taxi Meter should update its display to reflect that Subsidy Scheme processing is not available

***

### Step 3 — Trip is active

The trip is now active. Depending on the trip type the workflow continues as follows:

- **Subsidy Scheme trip** — proceed to the Member Card Validation workflow to validate the passenger Subsidy Card
- **Standard card payment trip** — proceed directly to Trip End when the passenger reaches their destination
- **Cash or other payment trip** — proceed directly to Trip End when the passenger reaches their destination

***

## Key Points

- The `tripId` must be unique per trip — do not reuse `tripId` values from previous trips
- If a `409 Conflict` is returned, a trip is already active for this vehicle — ensure the previous trip has been closed via `/meter/job/done` before starting a new one
- The `tripId` must be consistent across all subsequent API calls for this hire
- Trip Start applies to both standard and Subsidy Scheme trips — the trip type is determined by subsequent actions, not at trip start

---
Source: https://docs.cabfare.com/api/trip-start
