OTM models carrier contracting across five layers: Service Provider (who moves the freight), Rate Service (transit time commitments), Rate Distance (how mileage is calculated), Rate Offering (the contract), and Rate Records (the actual cost lanes). Understanding this structure is essential for rate setup, planning troubleshooting, and freight cost analysis.
Service Provider:
A Service Provider (carrier) is the party that physically moves freight. They own or manage trucks, containers, trailers, and drivers. They receive tender requests from OTM specifying origin, destination, weight, volume, and shipment dates — and issue invoices once delivery is complete.
When contracting with a carrier, you typically negotiate:
Transport Mode: How the freight moves — TL (truckload), LTL (less-than-truckload), PARCEL, VESSEL, RAIL, etc.
Rate Service: The service level — 2-day, 3-day, standard ground, express, etc.
Lanes: The origin/destination region combinations the carrier will serve.
Rates and discounts: Cost per unit of weight, volume, or container, with any volume-based discounts.
Service Provider tables:
SCAC — Standard Carrier Alpha Code. Every Service Provider in OTM must be associated with a SCAC — a standard four-letter industry code that uniquely identifies the carrier.
SERVPROV — Service Provider record. Stores the carrier name, SCAC code, supported transport modes, cost allocation rules, and invoice approval rules. A LOCATION record is automatically created for every SERVPROV.
Rate Service:
Rate Service defines the transit time commitment from origin to destination. The configuration approach varies by transport mode:
TL / LTL: Rate Service type is typically set to SIMULATION — OTM estimates transit time based on an assumed average truck speed (e.g. 50 mph).
PARCEL: Rate Service type is set to DAYDURATION — transit days are specified explicitly per lane. For example, FedEx 1-Day, FedEx 2-Day, UPS Ground 5-Day.
Rate Service tables:
RATE_SERVICE_TYPE — Lookup table for service type classifications.
RATE_SERVICE_PROFILE — Profile grouping rate services for assignment to rate offerings.
RATE_SERVICE — Rate Service header record with service name and type.
RATE_SERVICE_SPEED — Speed and transit time parameters for SIMULATION-type services.
SERVICE_TIME — Service times associated with a specific Rate Service ID — useful for verifying how transit days are being calculated.
Rate Distance:
Rate Distance controls how OTM calculates mileage between origin and destination locations. This feeds into distance-based rate calculations and transit time estimates.
RATE_DISTANCE — Rate Distance configuration record. Can be set to LOOKUP (use pre-loaded distance table), ESTIMATE (calculated from lat/long), or EXTERNAL (call a third-party engine).
DISTANCE_EXTERNAL_ENGINE — Configuration for an external distance engine such as PC*MILER or MileMaker.
DISTANCE_EXTERNAL_ENGINE_PARMS — Connection parameters for the external distance engine.
Rate Offering:
A Rate Offering is the carrier contract in OTM. It ties together the carrier, the transport mode, the service levels, and the applicable cost structure. Key attributes on a Rate Offering include:
Service Provider: The carrier this contract applies to.
Rate Service: Transit time service levels covered by this contract.
Transport Mode: TL, LTL, VESSEL, PARCEL, etc.
Base Rate and Distance engines: Used for LTL rating to determine base cost and mileage.
Stop-off charges and accessorials: Additional charges such as fuel surcharge, liftgate, residential delivery, etc.
Currency and contract expiration date.
Rate Offering tables:
RATE_OFFERING_TYPE — Lookup table for offering type classifications.
RATE_OFFERING — Rate Offering header record.
RATE_OFFERING_STOPS — Stop-off charge configuration within the offering.
RATE_OFFERING_REMARK — Remarks on the Rate Offering.
RATE_OFFERING_ACCESSORIAL — Accessorial charges (fuel surcharge, liftgate, etc.) linked to the offering.
RATE_OFFERING_INV_PARTY — Involved parties on the Rate Offering (e.g. shipper, carrier).
Rate Record:
Rate Records hold the actual freight cost details within a Rate Offering. Costs can be structured in many ways depending on the business — flat per container, lane-based, weight breaks, volume breaks, or a combination.
Rate Record tables:
RATE_GEO — Rate Record header. Defines the lane (origin/destination regions) and the rate structure type.
RATE_GEO_COST — Cost line within the Rate Record — the actual rate amount and unit (per mile, per cwt, per container, etc.).
RATE_GEO_COST_UNIT_BREAK — Unit-based cost breaks (e.g. different rates above/below a quantity threshold).
RATE_GEO_COST_WEIGHT_BREAK — Weight-based cost breaks — rates that change at defined weight thresholds.
RATE_GEO_COST_GROUP — Groups related cost lines within a Rate Record.
RATE_GEO_ACCESSORIAL — Accessorial charges applied at the Rate Record (lane) level.
RATE_GEO_REFNUM — Reference numbers on the Rate Record.
RATE_GEO_REMARK — Remarks on the Rate Record.
What’s Next:
The next topic covers the Business Process Automation Data Structure — the tables behind OTM Agents, workflow events, and automation configurations.
Next Topic: Business Process Automation Data Structure