Overview
The integrations with Catena and Samsara both allow for populating Samsara ELD data in the TMS. However, due to the specific implementation of each, there is some difference in which fields are populated in the TMS. These integrations are used in the Fleet Management module.
API Field Reference
The tables below reference the TMS fields that are mapped to the Catena and Samsara integrations. Each table contains fields for each TMS API call to the Catena and Samsara integration endpoints. For more specific integration information view the Catena and Samsara documentation.
Drivers
In addition to the Create and List/Update calls outlined below, the Catena integration contains an additional call to send updated Driver information fields. See Catena documentation for more information.
Create Drivers
Driver records are created in the TMS and are sent to Catena and Samsara to match to an ELD.
TMS Fields Sent
TMS Object | TMS Field | Catena Field | Samsara Field |
---|---|---|---|
Driver | Activation Status | status | driverActivationStatus |
Driver | Adverse Weather ELD Exemption | eldAdverseWeatherExemptionEnabled | |
Driver | Big Day ELD Exemption | eldBigDayExemptionEnabled | |
Driver | CDL # | details.license.license_number | licenseNumber |
Driver | CDL State/Province | details.license.license_state | licenseState |
Driver | Company/Division | carrier_name | carrierSettings.carrierName |
Driver | Cycle Override | primary_cycle | usDriverRulesetOverride.cycle |
Driver | Driver Name | first_name, last_name | name |
Driver | Driver Ruleset Override | usDriverRulesetOverride | |
Driver | ELD Day Start Hour | eldDayStartHour | |
Driver | ELD Enabled | eldPcEnabled | |
Driver | ELD Exempt | is_eld_exempt | eldExempt |
Driver | ELD Exempt Reason | eld_exempt_reason | eldExemptReason |
Driver | ELD ID | id | |
Driver | Jurisdiction Override | usDriverRulesetOverride.usStateToOverride | |
“From TMS” | notes | ||
Driver | Password | password | password |
Driver | Personal Conveyance Duty Status | is_personal_conveyance_enabled | eldPcEnabled |
Driver | Phone | phone | phone |
Driver | Rest Break Override | rest_break | usDriverRulesetOverride.restbreak |
Driver | Restart Override | restart | usDriverRulesetOverride.restart |
Driver | Timezone | details.timezone | timezone |
Driver | Username | notes | username |
Driver | Yard Move Duty Status | is_yard_move_enabled | eldYmEnabled |
Transportation Profile | US DOT Number | dot_number | carrierSettings.dotNumber |
Get/List Drivers
The TMS requests a list of Driver records from the Catena and Samsara integrations to create TMS Driver records.
TMS Object | TMS Field | Catena Field | Samsara Field |
---|---|---|---|
Driver | Activation Status | status | driverActivationStatus |
Driver | Adverse Weather ELD Exemption | eldAdverseWeatherExemptionEnabled | |
Driver | Big Day ELD Exemption | eldBigDayExemptionEnabled | |
Driver | CDL # | details.license.license_number | licenseNumber |
Driver | CDL Country | set by TMS | set by TMS |
Driver | CDL State/Province | details.license.license_state | licenseState |
Driver | Cycle Override | details.work_rules.cycle | usDriverRulesetOverride.cycle |
Driver | Driver Name (and Contact First/Last Name) | details.name | name |
Driver | ELD Brand | details.tsp_source | |
Driver | ELD Day Start Hour | eldDayStartHour | |
Driver | ELD Enabled | set Checked by TMS | eldPcEnabled |
Driver | ELD Exempt | eldExempt | |
Driver | ELD Exempt Reason | eldExemptReason | |
Driver | ELD ID | details.id | id |
Driver | Jurisdiction Override | usDriverRulesetOverride.usStateToOverride | |
Driver | Password | ||
Driver | Personal Conveyance Duty Status | eldPcEnabled | |
Driver | Phone | ||
Driver | Rest Break Override | details.work_rules.break | usDriverRulesetOverride.restbreak |
Driver | Restart Override | details.work_rules.restart | usDriverRulesetOverride.restart |
Driver | Timezone | details.timezone | timezone |
Driver | Username | details.notes, details.username | username |
Driver | Yard Move Duty Status | eldYmEnabled |
TMS Field Updates
When creating Driver records received from Catena, if no Contact matches to the Driver, and new matching Contact record is created for the Driver.
TMS Object | TMS Field | Catena Field | Samsara Field |
---|---|---|---|
Contact | Account Name | Fleet Management Default Carrier | |
Contact | Name | details.name | |
Contact | Transportation Role | “Driver” | |
Driver | Type | “Employee” or “Independent Contractor” |
Messages
Receive Messages
TMS Fields Sent
TMS Object | TMS Field | Catena Field | Samsara Field |
---|---|---|---|
Driver | ELD ID (matching only) | driverId |
TMS Field Updates
TMS Object | TMS Field | Catena Field | Samsara Field |
---|---|---|---|
Load | Driver Comments | text |
Send Messages
TMS Fields Sent
TMS Object | TMS Field | Catena Field | Samsara Field |
---|---|---|---|
Driver | ELD ID | driverId | |
Message entered on Trip Plan | text |
Hours of Service
Get HOS Availability/Clocks
TMS Field Updates
TMS Object | TMS Field | Catena Field | Samsara Field |
---|---|---|---|
Driver | ELD ID (matching only) | driver_id | driver.Id |
Driver | Current Duty Status | currentDutyStatus.hosStatusType | |
Driver | Cycle Started | clocks.cycle.cycleStartedAtTime | |
Driver | Cycle Time Remaining | available_time.cycle_seconds | clocks.cycle.cycleTimeRemainingDurationMs |
Driver | Cycle Time Remaining Tomorrow | clocks.cycle.cycleTomorrowDurationMs | |
Driver | Cycle Violation Duration | violations.cycleViolationDurationMs | |
Driver | Drive Time Remaining | available_time.drive_seconds | clocks.drive.driveRemainingDurationMs |
Driver | Shift Driving Violation Duration | violations.shiftDrivingViolationDurationMs | |
Driver | Shift Time Remaining | available_time.shift_seconds | clocks.shift.shiftRemainingDurationMs |
Driver | Time Until Break | available_time.break_seconds | clocks.break.timeUntilBreakDurationMs |
Get All Driver HOS Daily Logs
TMS Field Updates
TMS Object | TMS Field | Catena Field | Samsara Field |
---|---|---|---|
Driver | ELD ID (matching only) | driver_id | driver.Id |
Driver Log | Active Duration | hours_of_service.active_seconds | dutyStatusDurations.activeDurationMs |
Driver Log | Adverse Driving Exemption Claimed | exemptions.adverse_driving | logMetaData.adverseDrivingClaimed |
Driver Log | Big Day Exemption Claimed | logMegaData.bigDDayClaimed | |
Driver Log | Certification Status | certified | logMetaData.isCertified |
Driver Log | Certified as of | certified_time | logMetaData.certifiedAtTime |
Driver Log | Driving Distance (Kilometers) | distance.drive_distance.value, distance.drive_distance.unit | distanceTraveled.driveDistanceMeters |
Driver Log | Driving Distance (Miles) | distance.drive_distance.value, distance.drive_distance.unit | distanceTraveled.driveDistanceMeters |
Driver Log | Driving Duration | hours_of_service.driving_seconds | dutyStatusDurations.driveDurationMs |
Driver Log | End Time | TMS sets to 23:59:59 | endTime |
Driver Log | Off Duty Duration | hours_of_service.off_duty_seconds | dutyStatusDurations.offDutyDurationMs |
Driver Log | On Duty Duration | hours_of_service.on_duty_seconds | dutyStatusDurations.onDutyDurationsMs |
Driver Log | Personal Conveyance Distance (Kilometer) | distance.personal_conveyance_distance.value, distance.personal_conveyance_distance.unit | distanceTraveled.personalConveyanceDistanceMeters |
Driver Log | Personal Conveyance Distance (Miles) | distance.personal_conveyance_distance.value, distance.personal_conveyance_distance.unit | distanceTraveled.personalConveyanceDistanceMeters |
Driver Log | Personal Conveyance Duration | hours_of_service.personal_conveyance_seconds | dutyStatusDurations.personalConeyanceDurationMs |
Driver Log | Short Haul Exemption Active | exemptions.short_haul | logMetaData.isUsShortHaulActive |
Driver Log | Sleeper Berth Duration | hours_of_service.sleer_seconds | dutyStatusDurations.sleeperBerthDurationMs |
Driver Log | Start Time | TMS sets to 00:00:00 | startTime |
Driver Log | Waiting Time Duration | hours_of_service.waiting_seconds | dutyStatusDurations.waitingTimeDurationMs |
Driver Log | Yard Move Distance (Kilometers) | distance.yard_move_distance.value, distance.yard_move_distance.unit | distanceTraveled.yardMoveDistanceMeters |
Driver Log | Yard Move Distance (Miles) | distance.yard_move_distance.value, distance.yard_move_distance.unit | distanceTraveled.yardMoveDistanceMeters |
Driver Log | Yard Move Duration | hours_of_service.yard_move_seconds | dutyStatusDurations.yardMoveDurationMs |
Get HOS Logs
TMS Field Updates
TMS Object | TMS Field | Catena Field | Samsara Field |
---|---|---|---|
Driver | ELD ID (matching only) | driver_id | driver.Id |
Fleet Asset | ELD ID (matching only) | detail.id | vehicle.Id |
Driver Log Entry | Comments | event.notes | |
Driver Log Entry | Duration (Hours) | events.start_time, events.end_time | |
Driver Log Entry | End Time | events.end_time | hosLogs.logEndTime |
Driver Log Entry | Geolocation Latitude | event.location.latitude | hosLogs.logRecordedLocation.latitude |
Driver Log Entry | Geolocation Longitude | event.location.longitude | hosLogs.logRecordedLocation.longitude |
Driver Log Entry | Start Time | events.start_time | hosLogs.logStartTime |
Driver Log Entry | Status | event.type | hosLogs.hosStatusType |
Vehicles
Get/List all vehicles
TMS Field Updates
TMS Object | TMS Field | Catena Field | Samsara Field |
---|---|---|---|
Driver | ELD ID (matching only) | staticAssignedDriver.Id | |
Fleet Asset | ELD ID | detail.id | id |
Fleet Asset | ELD Model Number | gateway.model | |
Fleet Asset | ELD Serial Number | detail.eld_device_id | gateway.serial |
Fleet Asset | License Plate Number | detail.license_plate_number | licensePlate |
Fleet Asset | Name | detail.name | name |
Fleet Asset | Status | set to “Available” | |
Fleet Asset | Type | set to “Tractor” | |
Fleet Asset | Vehicle Make | detail.oem | make |
Fleet Asset | Vehicle Model | detail.model | model |
Fleet Asset | VIN | detail.vin | vin |
Fleet Asset | Year | detail.model_year | year |
Update a vehicle
TMS Fields Sent
TMS Object | TMS Field | Catena Field | Samsara Field |
---|---|---|---|
Fleet Asset | ELD ID (matching only) | detail.id | id |
Fleet Asset | Name | detail.name | name |
Fleet Asset | License Plate Number | detail.license_plate_number | licensePlate |
Vehicle Stats
TMS Field Updates
TMS Object | TMS Field | Catena Field | Samsara Field |
---|---|---|---|
Fleet Asset | ELD ID (matching only) | detail.id | driver.Id |
Fleet Asset | Ambient Air Temperature | ambientAirTemperatureMilliC.value | |
Fleet Asset | Barometric Pressure PSI | barometricPressurePa.value | |
Fleet Asset | Battery Voltage | batteryMilliVolts.value | |
Fleet Asset | Current Location | vehicle_locations.address | gps.reverseGeo.formattedLocation |
Fleet Asset | ELD Last Update | vehicle_locations.date_time | gps.time |
Fleet Asset | Engine Coolant Temperature | engineCoolantTemperatureMilliC.value | |
Fleet Asset | Engine RPM | engineRpm.value | |
Fleet Asset | Engine State | engineState.value | |
Fleet Asset | Fuel Percent Remaining | vehicle_locations.fuel | fuelpercent.value |
Fleet Asset | Geolocation Latitude | vehicle_locations.latitude | gps.latitude |
Fleet Asset | Geolocation Longitude | vehicle_locations.longitude | gps.longitude |
Fleet Asset | Heading (Degrees) | gps.headingDegrees | |
Fleet Asset | Last Odometer Reading | vehicle_locations.odometer | obdOdometerMeters.value |
Fleet Asset | Speed (mph), Speed (kph) | vehicle_locations.speed.value | gps.speedMilesPerHour |
Addresses
List all addresses
TMS Field Updates
TMS Object | TMS Field | Catena Field | Samsara Field |
---|---|---|---|
Account | (matching to Account fields only) | name, latitude, longitude, geofence.circle | |
Account ELD | ELD ID | id | |
Account ELD | Geofence Type (“Circle” or “Polygon”) | geofence.circle | |
Account ELD | Geofence Radius (“Meters” or blank) | geofence.circle.radiusMeters | |
Account ELD | Geofence Units | geofence.circle |
Create an address
TMS Field Sent
TMS Object | TMS Field | Catena Field | Samsara Field |
---|---|---|---|
Account | Name | name | |
Account | Shipping Address | formattedAddress | |
Account | Shipping Latitude | geofence.circle.latitude, latitude | |
Account | Shipping Longitude | geofence.circle.longitude, longitude | |
Account ELD | Geofence Radius | geofence.circle.radiusMeters | |
Account ELD | Geofence Type | geofence.circle | |
“From TMS” | notes |
Update an address
TMS Field Sent
TMS Object | TMS Field | Catena Field | Samsara Field |
---|---|---|---|
Account ELD | ELD ID (matching only) | id | |
Account | Name | name | |
Account | Shipping Address (Street + City + State + Postal Code) | formattedAddress | |
Account | Shipping Latitude | geofence.circle.latitude, latitude | |
Account | Shipping Longitude | geofence.circle.longitude, longitude | |
Account ELD | Geofence Radius | geofence.circle.radiusMeters | |
Account ELD | Geofence Type | geofence.circle | |
“From TMS” | notes |
Routes
Fetch all routes
TMS Field Updates
TMS Object | TMS Field | Catena Field | Samsara Field |
---|---|---|---|
Trip Plan Leg | Start ELD ID, End ELD ID (matching to Trip Plan, Trip Plan Segment, Trip Plan Leg, and Stop) | id | |
Stop | Arrival Date | stops.actualArrivalTime | |
Stop | Arrival Time | stops.actualArrivalTime | |
Stop | Carrier ETA Date | stops.eta | |
Stop | Carrier ETA Time | stops.eta | |
Stop | Departure Date | stops.actualDepartureTime | |
Stop | Departure Time | stops.actualDepartureTime | |
Stop | Stop Status | stops.actualArrivalTime, stops.actualDepartureTime | |
Trip Plan Leg | Arrival Date | stops.actualArrivalTime | |
Trip Plan Leg | Arrival Date/Time | stops.actualArrivalTime | |
Trip Plan Leg | Arrival Time | stops.actualArrivalTime | |
Trip Plan Leg | Departure Date | stops.actualDepartureTime | |
Trip Plan Leg | Departure Date/Time | stops.actualDepartureTime | |
Trip Plan Leg | Departure Time | stops.actualDepartureTime | |
Trip Plan Segment | Status | actualRouteEndTime |
Create a route
TMS Field Sent
TMS Object | TMS Field | Catena Field | Samsara Field |
---|---|---|---|
“departLastStop” | settings.routeCompletionCondition | ||
“arriveFirstStop” | settings.routeStartingCondition | ||
Account ELD | ELD ID of: Trip Plan Leg (Start Location), Trip Plan Leg (Stop Location), Trip Plan Leg (End Location), or Trip Plan Leg (End Stop) | stops.addressId | |
Trip Plan Driver | (Driver) ELD ID | driverId | |
Trip Plan Leg | (Trip Plan Segment) (Load) Name, OR (Trip Plan Segment) (Trip Plan) Name | name | |
Trip Plan Leg | Start Stop (Instructions) | stops.notes | |
Trip Plan Leg | End Stop (Instructions) | stops.notes | |
Trip Plan Leg | Start Location (Name), Start Stop (Name) Start Stop (Address, City, State/Province), End Location (Name), End Stop (Name), End Stop (Address) OR End City + End State/Province | stops.name | |
Trip Plan Leg | latest of: Start Date/Time End Date/Time | stops.scheduledArrivalTime | |
Trip Plan Leg | latest of: Start Date/Time End Date/Time | stops.scheduledDepartureTime | |
Trip Plan Leg | Start Location (Shipping Latitude), Start Geolocation (Latitude), (Stop) Location (Shipping Latitude), (Stop) Geolocation (Latitude) OR “End” Locations | stops.singleUseLocation.latitude | |
Trip Plan Leg | Start Location (Shipping Longitude), Start Geolocation (Longitude) (Stop) Location (Shipping Longitude), (Stop) Geolocation (Longitude) OR “End” Locations | stops.singleUseLocation.longitude |
TMS Field Updates
TMS Object | TMS Field | Catena Field | Samsara Field |
---|---|---|---|
Trip Plan Leg | Start ELD Id or End ELD Id | stops.id | |
Trip Plan Segment | ELD Route ID | id |
Update a route
TMS Field Sent
TMS Object | TMS Field | Catena Field | Samsara Field |
---|---|---|---|
“departLastStop” | settings.routeCompletionCondition | ||
“arriveFirstStop” | settings.routeStartingCondition | ||
Account ELD | ELD ID of: Trip Plan Leg (Start Location), Trip Plan Leg (Stop Location), Trip Plan Leg (End Location), or Trip Plan Leg (End Stop) | stops.addressId | |
Trip Plan Driver | (Driver) ELD ID | driverId | |
Trip Plan Leg | (Trip Plan Segment) (Load) Name, OR (Trip Plan Segment) (Trip Plan) Name | name | |
Trip Plan Leg | Start Stop (Instructions) | stops.notes | |
Trip Plan Leg | End Stop (Instructions) | stops.notes | |
Trip Plan Leg | Start Location (Name), Start Stop (Name) Start Stop (Address, City, State/Province), End Location (Name), End Stop (Name), End Stop (Address) OR End City + End State/Province | stops.name | |
Trip Plan Leg | latest of: Start Date/Time End Date/Time | stops.scheduledArrivalTime | |
Trip Plan Leg | latest of: Start Date/Time End Date/Time | stops.scheduledDepartureTime | |
Trip Plan Leg | Start Location (Shipping Latitude), Start Geolocation (Latitude), (Stop) Location (Shipping Latitude), (Stop) Geolocation (Latitude) OR “End” Locations | stops.singleUseLocation.latitude | |
Trip Plan Leg | Start Location (Shipping Longitude), Start Geolocation (Longitude) (Stop) Location (Shipping Longitude), (Stop) Geolocation (Longitude) OR “End” Locations | stops.singleUseLocation.longitude |
TMS Field Updates
TMS Object | TMS Field | Catena Field | Samsara Field |
---|---|---|---|
Trip Plan Leg | Start ELD Id or End ELD Id | stops.id | |
Trip Plan Segment | ELD Route ID | id |
Delete a route
TMS Field Sent
TMS Object | TMS Field | Catena Field | Samsara Field |
---|---|---|---|
Trip Plan Segment | ELD Route ID (matching only) | route_id_or_external_id |
Documents
Fetch all documents
TMS Field Updates
TMS Object | TMS Field | Catena Field | Samsara Field |
---|---|---|---|
Driver | ELD ID (matching only) | driver.Id | |
(matching any existing TMS document) | documentType.name | ||
(matching Load) | routeStop.Id | ||
(retrieves and saves the document from the URL provided to the Load) | fields.label, fields.value.multipleChoiceValue, fields.value.multipleChoiceValue.selected, fields.value.multipleChoiceValue.value, fields.value.photoValue, fields.value.photoValue.url, fields.value.scannedDocumentValue, fields.value.scannedDocumentValue.url, fields.value.SignatureValue, fields.value.signatureValue.url |