# Features & Usage

### Q7. How does CabFare Connect remove the need for one-to-one integrations?

Instead of each Taxi Meter integrating separately with each Payment Terminal, both sides integrate once with CabFare Connect. CabFare Connect then:

- Receives events from Taxi Meters — driver login, trip start and end, Subsidy Card validation requests, payment requests
- Receives events from Payment Terminals — driver login, card reads, payment completions
- Coordinates these events, applies Subsidy Scheme rules, and sends outcomes back to the relevant device

This event-driven broker model reduces development effort and maintenance, and allows fleets to mix different Taxi Meter and Payment Terminal providers without additional integration work.

***

### Q8. How is a Subsidy Scheme trip lifecycle handled between the Taxi Meter and Payment Terminal?

The high-level flow is:

1. **Trip Start** — Taxi Meter calls `POST /meter/trip/start` with `tripId`, device, driver, and vehicle details
2. **Subsidy Card Capture** — Payment Terminal reads the card and calls `POST /terminal/mptp/validate`, or Taxi Meter performs manual entry via `POST /meter/mptp/validate` if the card cannot be read
3. **Trip End and Subsidy Calculation** — Taxi Meter calls `POST /meter/trip/end` with fare details. CabFare Connect processes the subsidy and returns the subsidy amount and remaining passenger-payable balance to both devices
4. **Balance Payment** — Taxi Meter requests card payment from the Payment Terminal via `POST /meter/payment/request`, or the driver accepts cash or another method directly
5. **Job Done** — Taxi Meter calls `POST /meter/job/done` to close the trip and trigger Subsidy Provider reporting

Refer to the Workflows section for the full step-by-step for each stage.

***

### Q9. Does CabFare Connect support standard card payment trips without a subsidy?

Yes. CabFare Connect supports both standard card payment trips and subsidy-integrated trips. In a standard trip no Subsidy Card validation occurs. The full fare calculated by the Taxi Meter is passed to the Payment Terminal as the balance amount. The Payment Terminal processes the card payment and reports the outcome to CabFare Connect. `POST /meter/job/done` closes the trip as normal.

***

### Q10. How are government subsidies and lifting fees handled?

At trip end the Taxi Meter submits all fare and Subsidy Scheme details to CabFare Connect via `POST /meter/trip/end`. CabFare Connect:

- Validates member eligibility and driver and vehicle registration
- Confirms subsidy and lifting fee rules per the Subsidy Provider
- Returns the actual amounts paid per member plus overall totals
- Returns `isSubsidyCalculationMatching` to indicate whether the Taxi Meter's calculation matches the backend

The Payment Terminal then collects only the passenger-payable balance. If `isSubsidyCalculationMatching` returns `false` always use the CabFare Connect returned values as the source of truth.

***

### Q11. How often should I poll for driver or link status?

Poll only on key events or when your UI needs to recover from a suspected state mismatch — for example after connectivity loss. Over-polling increases load unnecessarily. CabFare Connect is event-driven and your devices should rely on inbound event notifications for state updates during normal operation rather than continuous polling.

***

### Q12. What happens if the network goes down during a trip?

Maintain trip state locally on the device. On reconnection:

- Use `POST /meter/driver/poll` or `POST /terminal/driver/poll` to verify current session state
- Re-send any missing events using the original `tripId` and `transactionId`
- Do not generate new identifiers on retry

Retrying with the same identifiers is safe. Refer to the Network Resilience Considerations page in Core Concepts for full guidance.

***

### Q13. Can the driver or vehicle be changed during an active trip?

This is not recommended. Best practice is to end the current trip, log out, and log back in with the new `driverId` or `vehiclePlate`. Changing these identifiers mid-trip risks data integrity issues in Subsidy Provider records.

***

### Q14. How does CabFare Connect handle authentication for inbound events it sends to my system?

All inbound requests from CabFare Connect to your hosted endpoints include your `X-API-KEY` header. Your system must validate this header on receipt of every inbound event before processing it. Refer to the Authentication and Security page in Core Concepts for full details.

---
Source: https://docs.cabfare.com/api/features-and-usage
