Taxi Meter Persona
24 min
overview this guide is for taxi meter and dispatch system developers integrating with cabfare connect as a taxi meter partner you are the system brain — you govern driver shifts, calculate fares, manage subsidy scheme member validation, and initiate payment requests read this guide alongside the workflows section and the api reference before beginning your implementation your integration at a glance you must call the cabfare connect api endpoints listed below to send events to cabfare connect implement and host the taxi meter api endpoints to receive inbound events from cabfare connect endpoints you call — cabfare connect api endpoint when to call post /meter/driver/login when the driver logs in on the taxi meter post /meter/driver/poll to check current driver and link status after connectivity loss post /meter/trip/start when the driver starts a trip hire post /meter/trip/end when the driver ends a subsidy scheme trip and fare details are ready post /meter/mptp/read when the driver selects a subsidy scheme trip to request a card read on the payment terminal (if applicable) post /meter/mptp/validate when the driver performs manual subsidy card number entry on the taxi meter (if applicable) post /meter/payment/request when the driver selects card payment for the remaining balance post /meter/payment/cancel when the driver cancels a pending card payment request post /meter/job/done when all payments are complete and the job is closed post /meter/driver/logout when the driver logs out of the taxi meter endpoints you host — taxi meter api endpoint purpose post /link/request receive link mode request from cabfare connect post /mptp/member receive subsidy card validation results from cabfare connect (if applicable) post /payment/complete receive payment outcome notification from cabfare connect post /driver/logout receive driver logout notification from cabfare connect implementation checklist shift management implement post /meter/driver/login — submit taximeterid , driverid , vehicleplate and handle the returned subsidy scheme eligibility status (if applicable) display driver subsidy scheme eligibility status on screen after login (if applicable) disable subsidy scheme trip functions if driver eligibility status is invalid (if applicable) implement post /meter/driver/logout — include all required shift end data if any subsidy scheme trips (if applicable) were processed during the shift implement post /meter/driver/poll — use after connectivity loss to recover session state linking host post /link/request — return success or error response to cabfare connect display link status and driver subsidy scheme eligibility (if applicable) on screen after successful link transition to unlinked mode if a link failure or driver logout notification is received from cabfare connect trip management implement post /meter/trip/start — generate a unique tripid and submit with taximeterid , driverid , vehicleplate store the tripid and use it consistently for all subsequent events in the hire handle 202 accepted response from trip start — disable subsidy scheme functions for this trip if driver status is not valid subsidy card validation (if applicable) implement post /meter/mptp/read — call when driver selects subsidy scheme trip to request card read on payment terminal implement post /meter/mptp/validate — call for manual subsidy card number entry if payment terminal cannot read the card host post /mptp/member — receive and display subsidy card validation results from cabfare connect support multiple subsidy cards per trip for additional lifting fees trip end and subsidy processing (if applicable) implement post /meter/trip/end — submit all fare details including base fare, extras, lifting fees, and subsidy scheme member details (if applicable) in cents use the subsidy amount (if applicable) and remaining balance returned by cabfare connect as the source of truth handle issubsidycalculationmatching false — always use cabfare connect returned values in this case display the remaining passenger payable balance to the driver after subsidy processing balance payment implement post /meter/payment/request — submit tripid and paymentamount in cents when driver selects card payment implement post /meter/payment/cancel — cancel a pending payment request if required host post /payment/complete — receive payment outcome from cabfare connect and update display accordingly handle payment failure — allow driver to select an alternative payment method implement post /meter/job/done — call after all payments are complete to close the trip and trigger subsidy provider reporting (if applicable) receipt if configured with a taxi meter printer, print receipt including subsidy payment details (if applicable) after job done key technical reminders all monetary amounts must be in cents as integers — never dollars as floats the tripid must be unique per trip — never reuse values from previous trips the taximeterid , driverid , and vehicleplate must be consistent across all api calls within a session return an immediate 200 ok or 204 no content when receiving inbound events from cabfare connect before processing the event use post /meter/driver/poll after connectivity loss to verify session state before resuming normal operation support contact support\@cabfare com mailto\ support\@cabfare com for integration assistance refer to the error handling and troubleshooting section for common issues and diagnostic guidance fleet isolation using client ids cabfare connect supports multiple fleet isolation under a single integration using the clientids field this allows a taxi meter provider to integrate once with cabfare connect and manage multiple fleets — for example fleet a and fleet b — while keeping their data and operations entirely distinct within cabfare connect how it works the clientids field accepts key value pairs that you define cabfare connect uses these to differentiate between fleets when processing events and reporting data { "taximeterid" "tm100", "driverid" "999998", "vehicleplate" "m1000", "clientids" { "fleetid" "fleet a", "networkid" "net 001" } } when to use client ids use clientids when your integration manages drivers and vehicles across multiple fleet operators you need cabfare connect to isolate reporting and data by fleet you want to include additional reference data alongside the standard identifiers without creating separate integrations where clientids can be submitted the clientids field is available on the majority of cabfare connect api endpoints include it consistently on all requests for a given fleet to ensure correct isolation throughout the shift and trip lifecycle