Overview
The SMC3 integration contains two components, CarrierConnect and RateWare. The SMC CarrierConnect component provides transit times and terminal information. SMC3 RateWare provides tariff-based LTL quoting capabilities. The SMC3 integrations may be used individually or together for full functionality.
Setup
Tariff Codes
Obtain the API codes for all tariff licenses from SMC3 - the name and code.
Tariff Name
API Code
Document all tariff settings for Carrier relationship by lane.
Carrier
Lane
Tariff Settings
Discounts by weight breaks
Surcharges
Floor
FAK Settings
Once all of the licensed tariffs and Carrier information is acquired, proceed with the remaining setup.
Enter Credentials
Enable the SMC3 CarrierConnect and RateWare integrations by:
Navigating to TMS Admin.
Select Credentials.
Select the Global Services tab.
Find SMC3 CarrierConnect in the list and open the card. Repeat the following steps with SMC3 RateWare.
Check the Enabled box.
Enter the User ID, Password 1, and Password 2 into the text fields.
Click the Save button when finished.
An organization's license key is sent in the AvailableTariffs API call. A list of accessible tariffs is returned based on the license key.
Valid credentials are required from an SMC3 subscription. See examples in the table below.
User ID | Password 1 | Password 2 | Customer Number |
---|---|---|---|
Username | Password | License Key (alphanumeric) |
Remote Site Settings
Upgrading from previous versions of the TMS may have outdated information. Check that the Remote Site Settings for both the CarrierConnect and RateWare integration URLs are up to date.
Click the Setup gear icon in the top right corner.
From the drop-down, click Setup.
In the Quick Find Toolbar type Remote Site Settings and click the link.
From the list of remote sites find SMC3 and click the Edit link.
Update the Remote Site URL to match the Service URL below:
Service URL: https://ccxl.smc3.com/ (Carrier Connect)
Service URL: https://applications.smc3.com (RateWare)
Test Service URL: https://ccxl.smc3.com/CarrierConnectXL (Carrier Connect)
Test Service URL: https://applications.smc3.com/RateWareXL/services/soap/v2 (RateWare)
Additional Setup
Tariff Names
Create a Picklist Value for each licensed tariff to use.
From Setup → Object Manager, select the Rate Entry object.
Click the Fields & Relationships tab.
Search and select the Tariff Name field.
In the Values section, click New.
Enter a descriptive name for the Tariff. This name appears in the Rate Entry Tariff Name field picklist.
Enter the API Name to the exact API Code for the tariff received from SMC3.
Click Save.
Example Tariff Field Names and API Names:
Field Value (Field Name) | API Name |
---|---|
CzarLite, US/US | LITECZ02 |
RDWY 507, Sec. 3, US/US | RDW50703 |
Ryder US/US | RYDLIT96 |
Edit the newly created Tariff Value and change the API Name to the exact API code for the tariff received from SMC3.
Carrier Services
Create Carrier Services that retrieve quotes from SMC3 RateWare.
See Carrier Service Setup to create SMC3 RateWare Carrier Services.
Hybrid API Carrier Services may use SMC3 for quoting and Banyan or Project44 for tendering, tracking, and image retrieval. These Carrier Services should be created with the SMC3 RateWare Credentials Id. Set the Quote, Tender, and Tracking methods to API. Enter valid credentials for the preferred Banyan or Project44 tendering/tracking service in TMS Admin → Credentials.
Rate Entries
Create Rate Entries for each Carrier Service/Tariff/Lane combination. See Rate Entry documentation for additional Rate Entry setup information.
Create Rate Entries from TMS Admin → Rate Entries → New Rate Entry.
Link the appropriate Customer Transportation Profile or the Company Default Transportation Profile.
The Rate Type for SMC3 Rate Entries is Freight or Freight + Fuel.
SMC3 provides Line Haul (only) via their integration. Carrier Accessorial charges and Fuel Surcharges must be added as separate stored Rate Entries to incorporate accessorial charges and fuel surcharges.
Pricing Notes display on the FQA.
SMC3 Rate Entries always have a Base Rate Calculation type Base and an API Rate Method.
If a Carrier Service is not linked to SMC3, the Tariff Name lookup is not visible.
Select the Tariff Name from the picklist values that were previously created.
Enter the Tariff Effective Date for all SMC3 Rate Entries.
Enter all Minimum, Discount, and Surcharge values as appropriate.
Check Prevent Deficit Rating if appropriate.
The SMC3 RateWare integration does not include accessorial charges as part of the rating process. Add accessorial charges to Loads by creating Accessorial Rate Entries to match on applicable Loads.
Negative Discounts
This feature allows Rate Entry Discounts to behave as Surcharges. Ordinary discounts reduce Freight Charges. Negative Discounts increase Freight Charges. SMC3 Rate Entries with Apply as Negative Discounts Checked requests freight rates without Discounts.
The TMS confirms the Freight Charges returned from SMC3 based on the Weight Breaks and Discounts table.
SMC3 Rating
Each Load Line Item must have an NMFC Class and Weight to return rates from SMC3.
Configure Rate Entries to specify and filter quotes returned from SMC3. Rate Entries for both Carriers and Customers may be created for SMC3 rating.
Load and Line Item information is sent to the SMC3 RateWare integration. The following fields are required to return rates.
Weight
HU Count
NMFC Class
One of three Freight Charges are returned from SMC3.
Rate
Tariff Minimum
Minimum Charge Floor
Freight Charges are compared to the Rate Entry Minimum Charge Calculation and Rate Entry Maximum Charge Calculation.
The Carrier quote is created with the Freight Charges and available in the Freight Quote Assistant LWC or Carrier Quote List LWC. Customer quotes are available on the Freight Quote Assistant LWC.
Freight Charges, discounts, and other tariff information returned from SMC3 are included on the generated Carrier and/or Customer quotes.
SMC3 performs the following calculations:
SMC3 uses the Origin and Destination Postal Codes to determine the Lane for a Load. Using that Lane, SMC3 finds the Rate Table. The Rate Entry Apply Discounts To field determines which values SMC3 applies any discounts to Rates or Charges.
The “actual” weight and NMFC class determines the per 100 lb. rate. The rate for that Line Item (or shipment) is calculated, resulting in the gross Freight Charges.
For example, a per 100 rate of 86.90 for a shipment of 800 lbs. is $695.20 (86.90 × 8).
SMC3 then subtracts the Discount Amount from the Gross Freight Charges. The Discount Amount is calculated based on the Discount Percentage field on the Rate Entry sent to SMC3. The result is the Freight Charges Net of Discounts.
SMC3 then compares the Freight Charges Net of Discounts and the Tariff Minimum. When the Freight Charges Net of Discounts is greater than the Tariff Minimum, the Surcharge is added to calculate the Net Freight Charges.
When the Tariff Minimum is greater than the Freight Charges Net of Discounts, the Minimum Charge Discount Amount is subtracted to calculate the Tariff Minimum After Discount. The Minimum Charge Discount Amount is a Rate Entry field sent to SMC3.
The Tariff Minimum After Discount is compared to the Freight Charge Floor. The field with the greater value is returned as the Net Freight Charges and applied on the Carrier or Customer quote.
When:
Prevent Deficit Rating
As part of the rating process, the Load weight is sent to SMC3. Depending on the Weight Break structure of the tariff, SMC3 responds noting that the cost is less for moving a Load at a greater Weight Break. The Rate and Minimum for the new weight is returned to the TMS (even though it’s not the actual weight) - as part of the LTLRateShipment response. The Deficit Weight is stored on both the Carrier and Customer quotes. SMC3 sends the Deficit Weight as an additional Line Item with the minimum amount of weight necessary to enter the next Weight Break. This is added to both the Carrier and Customer quotes as a Freight Charge Item.
Example:
The original Load weight is 100 lbs.
The next Weight Break is at 150 lbs.
The Deficit Weight returned from SMC3 is 50 lbs.
Check Prevent Deficit Rating to stop this process.
Rate
A Rate Freight Charge returned from SMC3 is a typical response. The following flow describes the process for returning a Rate Freight Charge.
SMC3 receives the Load information and calculates the gross Freight Charges.
Discounts are applied to the gross Freight Charges.
Gross Freight Charges are sent from SMC3 to the TMS.
The calculated gross Freight Charges fall within any minimum or maximum values of the SMC3 tariff or the Rate Entry.
The Freight Charges field on the Carrier quote populates with the gross Freight Charges returned from SMC3.
Any discounts applied by SMC3 are included on the Carrier quote.
The Freight Charges are compared to the Minimum Charge Floor on the Rate Entry. The Freight Charges are greater than the Minimum Floor Charge.
Any Rate Entry surcharges and/or deficit charges are added to calculate the total Net Freight Charges.
When the Rate is applied on a Carrier quote, the Freight Charge Applied field is R.
Tariff Minimum
The Tariff Minimum is a tariff-by-tariff value is set by the Carrier and stored by SMC3. The TMS receives this value from SMC3 with the Freight Charges.
SMC3 receives the Load information and calculates the gross Freight Charges.
Discounts are applied to the gross Freight Charges.
The value of the gross Freight Charges with Discounts applied is less than the minimum of the tariff.
The Tariff Minimum is returned from SMC3 as the Freight Charges.
Any discounts applied by SMC3 are included on the Carrier quote.
The TMS completes several steps when Freight Charges are returned from SMC3.
Any matching Rate Entry Minimum Charge Discount is applied to the Freight Charges.
The Freight Charge less any Minimum Charge Discount is compared to the Minimum Charge Floor.
When the Minimum Charge Floor is greater than the calculated Freight Charges, the Floor added to the Carrier quote as the Freight Charges.
Any Rate Entry Minimum Surcharges are added to the Freight Charges to calculate the final net Freight Charges.
When the Tariff Minimum is applied to a Carrier quote, the Rate Application field is M.
Minimum Charge Floor
The Minimum Charge Floor is a Rate Entry field sent with Load information during the SMC3 RateWare request. This value is the lowest charge allowed for a Carrier quote.
SMC3 receives the Load information and calculates the gross Freight Charges.
Discounts are applied to the gross Freight Charges.
The gross Freight Charges are compared to the Tariff Minimum.
If necessary, discounts are applied to the Tariff Minimum.
The calculated gross Freight Charges and/or Tariff Minimum are less than the value of the Minimum Charge Floor.
The Minimum Charge Floor is applied to the Carrier quote.
When the Minimum Charge Floor is applied to a Carrier quote, the Rate Application field is F. SMC3 does not send the Minimum Charge Floor value back in the response.
Minimum/Maximum Charge Calculation
When the Net Freight Charges are calculated, two final checks are completed in the TMS. The first is to compare the Net Freight Charges with the Minimum Charge Calculation. The Minimum Charge Calculation provides a lower boundary to the Net Freight Charges returned from SMC3 RateWare. The TMS applies whichever value is greater as the Net Freight Charges on the Carrier quote.
The Maximum Charge Calculation provides an upper boundary to the Net Freight Charges returned from SMC3 RateWare. The TMS applies whichever value is lower as the Net Freight Charges on the Carrier quote.
Minimum and Maximum Charge Calculations are not required. If the matching Rate Entry does not have values these comparisons are skipped. The Net Freight Charges are not compared.
API Field and Payload Reference
The TMS searches for all Carrier Services that contain SMC3 RateWare credentials and are set to Enabled. The SCAC fields associated with the Carriers are collected and included in the CarrierConnect Transit call. If no SCAC codes are included in the call, all Carriers associated with the tariff license are returned.
The TMS calls the SMC3 RateWare and Carrier Connect endpoints in this order.
The CarrierConnect Transit endpoint returns Service Detail and transit time information.
The TMS filters the returned Origin and Destination Service Details based on matching the Rate Entry Dual-Value Direct/Interline field. The remaining Accepted Rate Entries are further filtered based on Mode, Lane, Status, and Effective & Expiration Date. Any Carrier Exclusions or Accessorial Exclusions from the customer Transportation Profile are also respected.
The RateWare AvailableTariffs endpoint provides the available SMC3 tariffs.
The RateWare LTLRateShipment endpoint rates the Load based on the tariff.
The CarrierConnect TerminalsByPostalCode endpoint returns address and contact information for each Stop terminal.
Rate Entry Matching
Rate Entry Direct/Interline fields of a single value (Direct/Interline/Partner/Unspecified) are not filtered by the TMS. Matching based on Mode, Lane, Effective & Expiration Date, etc. is used to determine which Rate Entries are sent for rating. The following scenarios determine Rate Entry matching and filtering.
SMC3 returns an Origin Service Detail of Direct, Interline, or Partner. SMC3 returns a Destination Service Detail of Direct, Interline, or Partner.
Rate Entries are matched based on the Direct/Interline field pair and the Origin & Destination Service Detail.
SMC3 returns an Origin Service Detail of Direct & Destination Service Detail of Interline.
Rate Entries with a Single-Value Direct/Interline field of Direct, Interline, Partner, or Null are sent.
Rate Entries with a matching Dual-Value Direct/Interline field are sent.
If the response from the Transit call fails, SMC3 sends blank values for the Origin and Destination Service Detail fields.
The TMS filters out any Rate Entries with Dual-Value Direct/Interline fields.
All Rate Entries with Single-Value Direct/Interline fields are sent to SMC3.
SMC3 returns an Origin AND Destination Service Detail of Custom.
All Rate Entries with a Dual-Value (example: Direct-Direct) Direct/Interline field are filtered out.
SMC3 returns an Origin OR Destination Service Detail of Custom.
All Rate Entries with a Dual-Value (example: Direct-Direct) Direct/Interline field are filtered out.
SMC3 Origin Service Detail | SMC3 Destination Service Detail | Rate Entry Direct/Interline Field |
---|---|---|
Direct | Direct | Direct-Direct |
Direct | Indirect | Direct-Interline |
Direct | Partner | Direct-Partner |
Indirect | Direct | Interline-Direct |
Indirect | Indirect | Interline-Interline |
Indirect | Partner | Interline-Partner |
Partner | Direct | Partner-Direct |
Partner | Indirect | Partner-Interline |
Partner | Partner | Partner-Partner |
Direct: The originating Carrier is in control of a Load for the entire transit time.
Interline: The Load is transferred to another Carrier in transit.
Partner: The Load is transferred to a Partner Carrier in transit.
Unspecified: The default field value or when the service level is not returned from SMC3.
Rate Entry matching does not occur if:
The Rate Entry does not have a Carrier Service.
The Rate Entry Carrier Service linked to the Transportation Profile does not have a SCAC. The SMC3 Transit call requires a SCAC.
The filtered matched Rate Entries are included in the LTLRateShipment call for rating.
CarrierConnect XL Web Service
The CarrierConnect XL application provides Carrier transit time and terminal information.
The TMS contacts the SMC3 CarrierConnect XL web service for two API calls. The first is the Transit API call, and the second is the TerminalsByPostalCode call.
The SMC3 CarrierConnect integration only supports 2 Stop Loads. If more than 2 Stop locations are included on a Load, no information returns.
Transit
The TMS searches for SMC3 Carrier Services and caches all available SCAC values associated with those Carrier Services. The SCAC field is located on Carrier Transportation Profiles. All applicable SCAC fields are sent in the Transit call to SMC3.
The Transit call provides the following information.
The transit time for each Carrier Service in calendar days.
The origin and destination Service Details (Direct, Indirect, Partner, and Unspecified).
Estimated delivery dates from a specific pickup date.
The returned Service levels are used to filter Rate Entries before requesting rate information.
TMS Operation | SMC3 RateWare Endpoint | Request Type | Response |
---|---|---|---|
Load Rating | Transit | POST | 200: Success 4XX: Error |
TMS Fields Sent in Request
Object | Field | Type | SMC3 Field |
---|---|---|---|
Stop | Address | Formula (Text) | destination.address1 |
Stop | City | Text(40) | destination.city |
Stop | Country | Picklist | destination.countryCode |
Stop | Postal Code | Text(20) | destination.postalCode |
Stop | Address | Formula (Text) | origin.address1 |
Stop | City | Text(40) | origin.city |
Stop | Country | Picklist | origin.countryCode |
Stop | Postal Code | Text(20) | origin.postalCode |
Stop | Expected Date | Date | pickupDate |
Transportation Profile | SCAC | Text(4) | SCAC |
"LTL" or "TL" | terminals.serviceMethod | ||
“ALL_AVAILABLE” | terminals.serviceType |
Sample Transit SOAP Request Payload
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v3="http://v3.webservice.carrierconnectxl.smc.com"
xmlns:web="http://webservices.smc.com"
xmlns:tran="http://transit.v3.webservice.carrierconnectxl.smc.com"
xmlns:poj="http://pojos.webservice.carrierconnectxl.smc.com">
<soapenv:Header>
<v3:ApiVersion>V3_2</v3:ApiVersion>
<v3:AuthenticationToken>
<web:licenseKey>iKWMI09YN5GS</web:licenseKey>
<web:password>demosmc3</web:password>
<web:username>demo@smc3.com</web:username>
</v3:AuthenticationToken>
</soapenv:Header>
<soapenv:Body>
<v3:Transit>
<v3:TransitRequest>
<!--Zero or more repetitions:-->
<tran:carriers>
<!--Optional:-->
<poj:SCAC>SMCA</poj:SCAC>
<!--Optional:-->
<poj:serviceCode>PTP_City_Zip</poj:serviceCode>
<poj:serviceMethod>LTL</poj:serviceMethod>
<poj:serviceType>STANDARD</poj:serviceType>
</tran:carriers>
<!--Optional:-->
<tran:destination>
<!--Optional:-->
<poj:countryCode>USA</poj:countryCode>
<!--Optional:-->
<poj:postalCode>30269</poj:postalCode>
<!--Optional:-->
</tran:destination>
<!--Optional:-->
<tran:origin>
<!--Optional:-->
<poj:countryCode>USA</poj:countryCode>
<!--Optional:-->
<poj:postalCode>40401</poj:postalCode>
</tran:origin>
<!--Optional:-->
<tran:pickupDate>2021-12-27</tran:pickupDate>
</v3:TransitRequest>
</v3:Transit>
</soapenv:Body>
</soapenv:Envelope>
Sample Transit SOAP Response Payload
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns13:TransitResponse
xmlns:ns0="http://webservices.smc.com"
xmlns:ns10="http://terminalsbypostalcode.v3.webservice.carrierconnectxl.smc.com"
xmlns:ns10_="http://enums.webservice.carrierconnect.smc.com"
xmlns:ns11="http://transit.v3.webservice.carrierconnectxl.smc.com"
xmlns:ns11_="http://enums.objects.webservice.carrierconnect.smc.com"
xmlns:ns12="http://transitplanning.v3.webservice.carrierconnectxl.smc.com"
xmlns:ns12_="http://enums.webservice.carrierconnectxl.smc.com"
xmlns:ns13="http://v3.webservice.carrierconnectxl.smc.com"
xmlns:ns4="http://pojos.webservice.carrierconnectxl.smc.com"
xmlns:ns6="http://carrierservices.v3.webservice.carrierconnectxl.smc.com"
xmlns:ns7="http://isready.v3.webservice.carrierconnectxl.smc.com"
xmlns:ns8="http://terminalbyterminalcode.v3.webservice.carrierconnectxl.smc.com"
xmlns:ns9="http://terminalsbycarrier.v3.webservice.carrierconnectxl.smc.com">
<ns13:TransitResponse>
<ns11:carriers>
<ns11:carrierServiceDetail>
<ns4:carrierName>SMC3 Alpha</ns4:carrierName>
<ns4:SCAC>SMCA</ns4:SCAC>
<ns4:serviceCode>PTP_City_Zip</ns4:serviceCode>
<ns4:serviceMethod>LTL</ns4:serviceMethod>
<ns4:serviceType>STANDARD</ns4:serviceType>
</ns11:carrierServiceDetail>
<ns11:dataGroup>
<ns4:expirationDate>9999-12-30</ns4:expirationDate>
<ns4:name>All</ns4:name>
<ns4:releaseDate>2021-11-30</ns4:releaseDate>
<ns4:supportId>LH0G0</ns4:supportId>
</ns11:dataGroup>
<ns11:messageStatus>
<ns4:code/>
<ns4:informations>
<ns4:infoType>LANE</ns4:infoType>
<ns4:informationMessage>This lane is only serviced on Monday, Wednesday and Friday.</ns4:informationMessage>
</ns4:informations>
<ns4:informations>
<ns4:effectiveDate>2021-11-30</ns4:effectiveDate>
<ns4:embargoAppliesTo>PICKUP</ns4:embargoAppliesTo>
<ns4:expirationDate>2021-12-30</ns4:expirationDate>
<ns4:infoType>EMBARGO</ns4:infoType>
<ns4:informationMessage>Terminal closed</ns4:informationMessage>
</ns4:informations>
<ns4:message/>
<ns4:resolution/>
<ns4:status>PASS</ns4:status>
</ns11:messageStatus>
<ns11:serviceDetail>
<ns4:destination>DIRECT</ns4:destination>
<ns4:origin>DIRECT</ns4:origin>
<ns4:service>DIRECT</ns4:service>
</ns11:serviceDetail>
<ns11:terminalCodes>
<ns4:destination>PTC01</ns4:destination>
<ns4:origin>LOU01</ns4:origin>
</ns11:terminalCodes>
<ns11:transitCalendar>
<ns4:calendarDays>4</ns4:calendarDays>
<ns4:estimatedDeliveryDate>2022-01-04</ns4:estimatedDeliveryDate>
<ns4:pickupDate>2021-12-31</ns4:pickupDate>
</ns11:transitCalendar>
<ns11:transitDays>2</ns11:transitDays>
</ns11:carriers>
<ns11:destination>
<ns4:countryCode>USA</ns4:countryCode>
<ns4:postalCode>30269</ns4:postalCode>
</ns11:destination>
<ns11:messageStatus>
<ns4:status>PASS</ns4:status>
</ns11:messageStatus>
<ns11:origin>
<ns4:countryCode>USA</ns4:countryCode>
<ns4:postalCode>40401</ns4:postalCode>
</ns11:origin>
<ns11:pickupDate>2021-12-27</ns11:pickupDate>
</ns13:TransitResponse>
</ns13:TransitResponse>
</soap:Body>
</soap:Envelope>
TMS Field Updates
Object | Field | Type | SMC3 Field |
---|---|---|---|
Carrier Quote | Destination Movement Type | Picklist | serviceDetail.destination |
Carrier Quote | Direct/Interline | Picklist | serviceDetail.service |
Carrier Quote | Estimated Delivery Date | Date | transitCalendar.estimatedDeliveryDate |
Carrier Quote | Estimated Pickup Date | Date | transitCalendar.pickupDate |
Carrier Quote | Estimated Travel Time (Days) | Number (3,0) | carriers.transitDays |
Carrier Quote | Origin Movement Type | Picklist | serviceDetail.origin |
The Transit API call can return an estimated travel time of 99 days. When 99 days returns, the Carrier provides service but the transit time is variable and cannot be calculated.
SMC3 uses an estimated delivery calculation logic to compare the requested pickup date with Carrier's available pickup dates. Note the Estimated Pickup Date field on the generated Carrier Quotes for any changes from the original pickup date.
TerminalsByPostalCode
Stop Postal Code and SCAC fields are sent to SMC3 and terminal address information is returned.
TMS Operation | SMC3 RateWare Endpoint | Request Type | Response |
---|---|---|---|
Load Rating | TerminalsByPostalCode | POST | 200: Success |
Before calling TerminalsByPostalCode, the TMS checks that the Load has an Expected Ship Date. If the Expected Ship Date is missing, an error displays and the call is not made.
Terminal information is returned and stored on the Carrier quote and Stop records.
TMS Fields Sent in Request
Multiple terminals may be sent in a single request.
Object | Field | Type | Value | SMC3 Field |
---|---|---|---|---|
Stop | City | Text(40) | Origin and Destination city names. | terminals.city |
Stop | Country | Picklist | Origin and Destination Country codes. | terminals.countryCode |
Stop | Expected Date | Date | Date the Carrier is expected at the stop. (YYYY-MM-DD) | terminals.shipmentDate |
Stop | Postal Code | Text(20) | Origin and Destination Postal Codes. | terminals.postalCode |
Stop | State/Province | Picklist | Origin and Destination state/province names. | terminals.stateProvince |
Transportation Profile | SCAC | Text(4) | 4 character identifier | terminals.SCAC |
Not a TMS field | String | “LTL” or “TL” | terminals.serviceMethod | |
Not a TMS field | String | “ALL_AVAILABLE” | terminals.serviceType | |
Not a TMS field | String | “PICKUP” or “DELIVERY” | terminals.terminalType |
Sample TerminalsByPostalCode SOAP Request Payload
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v3="http://v3.webservice.carrierconnectxl.smc.com"
xmlns:web="http://webservices.smc.com"
xmlns:ter="http://terminalsbypostalcode.v3.webservice.carrierconnectxl.smc.com"
xmlns:poj="http://pojos.webservice.carrierconnectxl.smc.com">
<soapenv:Header>
<v3:ApiVersion>V3_2</v3:ApiVersion>
<v3:AuthenticationToken>
<web:licenseKey>e3TLI64YNSHV</web:licenseKey>
<web:password>demosmc3</web:password>
<web:username>demo@smc3.com</web:username>
</v3:AuthenticationToken>
</soapenv:Header>
<soapenv:Body>
<v3:TerminalsByPostalCode>
<!--Optional:-->
<v3:TerminalsByPostalCodeRequest>
<!--Zero or more repetitions:-->
<ter:terminals>
<!--Optional:-->
<poj:countryCode>USA</poj:countryCode>
<!--Optional:-->
<poj:postalCode>40213</poj:postalCode>
<!--Optional:-->
<poj:SCAC>SMCA</poj:SCAC>
<poj:serviceMethod>ALL_AVAILABLE</poj:serviceMethod>
<poj:serviceType>ALL_AVAILABLE</poj:serviceType>
<!--Optional:-->
<poj:shipmentDate>2018-07-10</poj:shipmentDate>
<poj:terminalType>BOTH</poj:terminalType>
</ter:terminals>
</v3:TerminalsByPostalCodeRequest>
</v3:TerminalsByPostalCode>
</soapenv:Body>
</soapenv:Envelope>
Sample TerminalsByPostalCode SOAP Response Payload
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns13:TerminalsByPostalCodeResponse>
<ns13:TerminalResponse>
<ns4:carrierTerminals>
<ns4:carrierName>SMC3 ALPHA</ns4:carrierName>
<ns4:messageStatus>
<ns4:status>PASS</ns4:status>
</ns4:messageStatus>
<ns4:serviceMethod>ALL_AVAILABLE</ns4:serviceMethod>
<ns4:SCAC>SMCA</ns4:SCAC>
<ns4:terminalDetails>
<ns4:address1>200 HIGH RISE DRIVE</ns4:address1>
<ns4:address2>200 HIGH RISE DRIVE</ns4:address2>
<ns4:city>LOUISVILLE</ns4:city>
<ns4:code>LOU01</ns4:code>
<ns4:contact>
<ns4:email>LOU-01@SMCA.CC</ns4:email>
<ns4:fax>502-962-0939</ns4:fax>
<ns4:name>LOUIS VILLE</ns4:name>
<ns4:phone>888-342-6484</ns4:phone>
<ns4:title>MANAGER</ns4:title>
<ns4:tollFree>888-342-6484</ns4:tollFree>
</ns4:contact>
<ns4:countryCode>USA</ns4:countryCode>
<ns4:dataGroup>
<ns4:expirationDate>9999-12-30</ns4:expirationDate>
<ns4:name>All</ns4:name>
<ns4:releaseDate>2015-01-01</ns4:releaseDate>
<ns4:supportId>ZJWVQ</ns4:supportId>
</ns4:dataGroup>
<ns4:serviceMethod>LTL</ns4:serviceMethod>
<ns4:postalCode>40213</ns4:postalCode>
<ns4:serviceCode>Standard-LTL</ns4:serviceCode>
<ns4:serviceType>STANDARD</ns4:serviceType>
<ns4:stateProvince>KY</ns4:stateProvince>
<ns4:terminalName>LOUISVILLE DEMO</ns4:terminalName>
<ns4:terminalType>PICKUP</ns4:terminalType>
</ns4:terminalDetails>
<ns4:terminalDetails>
<ns4:address1>200 HIGH RISE DRIVE</ns4:address1>
<ns4:address2>200 HIGH RISE DRIVE</ns4:address2>
<ns4:city>LOUISVILLE</ns4:city>
<ns4:code>LOU01</ns4:code>
<ns4:contact>
<ns4:email>LOU-01@SMCA.CC</ns4:email>
<ns4:fax>502-962-0939</ns4:fax>
<ns4:name>LOUIS VILLE</ns4:name>
<ns4:phone>888-342-6484</ns4:phone>
<ns4:title>MANAGER</ns4:title>
<ns4:tollFree>888-342-6484</ns4:tollFree>
</ns4:contact>
<ns4:countryCode>USA</ns4:countryCode>
<ns4:dataGroup>
<ns4:expirationDate>9999-12-30</ns4:expirationDate>
<ns4:name>All</ns4:name>
<ns4:releaseDate>2015-01-01</ns4:releaseDate>
<ns4:supportId>ZJWVQ</ns4:supportId>
</ns4:dataGroup>
<ns4:serviceMethod>LTL</ns4:serviceMethod>
<ns4:postalCode>40213</ns4:postalCode>
<ns4:serviceCode>Standard-LTL</ns4:serviceCode>
<ns4:serviceType>STANDARD</ns4:serviceType>
<ns4:stateProvince>KY</ns4:stateProvince>
<ns4:terminalName>LOUISVILLE DEMO</ns4:terminalName>
<ns4:terminalType>DELIVERY</ns4:terminalType>
</ns4:terminalDetails>
</ns4:carrierTerminals>
<ns4:messageStatus>
<ns4:status>PASS</ns4:status>
</ns4:messageStatus>
</ns13:TerminalResponse>
</ns13:TerminalsByPostalCodeResponse>
</soap:Body>
</soap:Envelope>
When information returns successfully from the API, the following table of fields are updated on the Carrier quotes as appropriate.
TMS Field Updates
Object | Field | Type | Value | SMC3 Field |
---|---|---|---|---|
Carrier Quote | Destination Terminal Code | Text(50) | Read-Only terminal code field. | terminalDetails.code |
Carrier Quote | Destination Terminal Email | Read-Only terminal email address. | contact.email | |
Carrier Quote | Destination Terminal Location | Text(255) | Read-Only terminal location field. | terminalName, address1, city, stateProvince, postalCode, country |
Carrier Quote | Destination Terminal Phone | Phone | Read-Only terminal phone number. | contact.phone |
Carrier Quote | Origin Terminal Code | Text(50) | Read-Only terminal code field. | terminalDetails.code |
Carrier Quote | Origin Terminal Email | Read-Only terminal email address. | contact.email | |
Carrier Quote | Origin Terminal Location | Text(255) | Read-Only terminal location field. | terminalName, address1, city, stateProvince, postalCode, country |
Carrier Quote | Origin Terminal Phone | Phone | Read-Only terminal phone number. | contact.phone |
Stop | Terminal Email | Terminal Email Address. | contact.email | |
Stop | Terminal Location | Text(255) | Terminal address location | terminalName, address1, city, stateProvince, postalCode, country |
Stop | Terminal Phone | Phone | Terminal phone number. | contact.phone |
Terminal information returned from SMC3 is stored on the Carrier quote and Stop records. This information is not stored in the TMS as Account, Transportation Profile, or Contact records.
RateWare XL Web Service
The TMS contacts the SMC3 RateWare XL web service for three API calls to determine tariff pricing for Customer and Carrier quotes.
The SMC3 RateWare integration only supports 2 stop Loads. If more than 2 Stop locations are included on a Load, no quotes return.
The RateWare integration does not support the same location for Pickup and Delivery Stops. If the same location is used as a Pickup and Delivery, users receive an error.
Loads must contain a city, state, and postal code values for all stops. Each Load Line Item must have a weight and NMFC Class. Stops with missing information display an error.
Loads are rated when:
A user navigates to the Freight Quote Assistant for the first time.
A user refreshes quotes on the Carrier Quote Builder portion of the FQA.
A user clicks the Rerate action on the Customer Quote Builder portion of the FQA.
A user refreshes quotes on the Carrier Quote List LWC.
Users create loads with the Quote Wizard in the Customer Portal.
Creating loads with the LTL Pricing Workbench.
Saved with the Save & Rate feature enabled.
When Save & Rate is enabled, Loads are rated:
By clicking Save & Rate as part of new Load creation.
When loads are cloned and Save & Rate is Checked.
When inbound EDI 204 LTL Load Tenders are received.
AvailableTariffs
An organization's license key is sent in the AvailableTariffs API call. A list of accessible tariffs is returned based on the license key.
TMS Operation | SMC3 RateWare XL Endpoint | Request Type | Response |
---|---|---|---|
Load Rating | AvailableTariffs | POST | 200: Success 4XX: Error |
Sample AvailableTariffs SOAP Request Payload
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v2="http://v2.webservice.ratewarexl.smc.com"
xmlns:web="http://webservices.smc.com">
<soapenv:Header>
<v2:ApiVersion>V2_0</v2:ApiVersion>
<v2:AuthenticationToken>
<web:licenseKey>pCl9dNJws1Rt</web:licenseKey>
<web:password>demosmc3</web:password>
<web:username>demo@smc3.com</web:username>
</v2:AuthenticationToken>
</soapenv:Header>
<soapenv:Body>
<v2:AvailableTariffs/>
</soapenv:Body>
</soapenv:Envelope>
Sample AvailableTariffs SOAP Response Payload
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:AvailableTariffsResponse>
<ns2:AvailableTariffsResponse>
<ns13:messageStatus>
<ns4:status>PASS</ns4:status>
</ns13:messageStatus>
<ns13:tariffs>
<description>RatewareXL Density Demo</description>
<effectiveDate>20070703</effectiveDate>
<productNumber>12007-RWD</productNumber>
<release>01</release>
<tariffName>DEMODENA</tariffName>
</ns13:tariffs>
<ns13:tariffs>
<description>Rateware XL LTL Demo</description>
<effectiveDate>20070703</effectiveDate>
<productNumber>11990-RWM</productNumber>
<release>01</release>
<tariffName>DEMOLTLA</tariffName>
</ns13:tariffs>
<ns13:tariffs>
<description>Small Package Demo</description>
<effectiveDate>20170804</effectiveDate>
<productNumber>22360-RWP</productNumber>
<release>01</release>
<tariffName>DEMOSPKG</tariffName>
</ns13:tariffs>
</ns2:AvailableTariffsResponse>
</ns2:AvailableTariffsResponse>
</soap:Body>
</soap:Envelope>
No TMS fields are updated.
LTLRateShipment
The LTLRateShipment API call sends Load and Rate Entry information to SMC3 and returns rates based on the licensed tariff. The TMS performs verification checks on the fields returned and creates a single Customer quote and Carrier quotes.
The LTLRateShipment call returns from SMC3 and the Customer quote is created based on the values returned. Only one customer quote is generated.
The TMS completes the following steps once the Customer quote is generated.
Sets the Customer quote Currency.
Add the Customer quote to the Load.
The Status field is set to Accepted.
The Pricing field set to Contract.
The Quote Date field is set to today’s date.
The Rate Entry is linked on the Customer quote.
Compare the returned Freight Charges with the Rate Entry Minimum and Maximum Charge Calculations.
Apply any applicable Rate Entry Minimum or Maximum Calculations as Freight Charge Items.
If Checked, Apply as Negative Discounts are calculated and applied on the Customer quote.
Customer quotes created from SMC3 tariffs generate invoices that contain the SMC3 Minimum Charge, SMC3 Floor Charge, and the TMS Rate Entry Minimum and Maximum fields.
The LTLRateShipment call returns from SMC3 and a Carrier quote(s) is created based on the values returned.
The TMS completes the following steps for each Carrier quote generated.
Adds the Carrier quote(s) to the Load.
Sets the Accepted field to NOT Checked.
Adds the Carrier Service to the Carrier quote.
Sets the Carrier quote Currency.
The Rate Entry is linked on the Carrier quote.
Compare the returned Freight Charges with the Rate Entry Minimum and Maximum Charge Calculations.
Apply any applicable Rate Entry Minimum or Maximum Calculations as Freight Charge Items.
If Checked, Apply as Negative Discounts are calculated and applied on the Carrier quote(s).
Customer and Carrier quotes are only generated when each are matched to a Rate Entry.
TMS Operation | SMC3 RateWare XL Endpoint | Request Type | Response |
---|---|---|---|
Load Rating | LTLRateShipment | POST | 200: Success |
Sample LTLRateShipment SOAP Request Payload
<soapenv:Body>
<v2:LTLRateShipment>
<v2:LTLRateShipmentRequest>
<!--1 or more repetitions:-->
<ltl:shipmentRequests>
<ltl:destination>
<poj:country>USA</poj:country>
<poj:postalCode>30201</poj:postalCode>
</ltl:destination>
<!--1 or more repetitions:-->
<ltl:details>
<ltl:nmfcClass>77.5</ltl:nmfcClass>
<ltl:weight>600</ltl:weight>
</ltl:details>
<ltl:details>
<ltl:nmfcClass>50</ltl:nmfcClass>
<ltl:weight>1000</ltl:weight>
</ltl:details>
<ltl:ltlSurcharge>10.00</ltl:ltlSurcharge>
<ltl:minimumChargeDiscount>98.00</ltl:minimumChargeDiscount>
<ltl:origin>
<poj:country>USA</poj:country>
<poj:postalCode>38100</poj:postalCode>
</ltl:origin>
<ltl:stopAlternationWeight>20000</ltl:stopAlternationWeight>
<ltl:surchargeApplication>G</ltl:surchargeApplication>
<ltl:tariffEffectiveDate>20070703</ltl:tariffEffectiveDate>
<ltl:tariffName>DEMOLTLA</ltl:tariffName>
<ltl:tariffEffectiveDate>20070703</ltl:tariffEffectiveDate>
<ltl:tlSurcharge>20.00</ltl:tlSurcharge>
<ltl:useDiscounts>Y</ltl:useDiscounts>
<ltl:userMinimumChargeFloor>59.00</ltl:userMinimumChargeFloor>
<!--Zero or more repetitions:-->
<ltl:weightBreakDiscount>20.00</ltl:weightBreakDiscount>
<ltl:weightBreakDiscount>22.00</ltl:weightBreakDiscount>
<ltl:weightBreakDiscount>33.00</ltl:weightBreakDiscount>
<ltl:weightBreakDiscount>34.00</ltl:weightBreakDiscount>
<ltl:weightBreakDiscount>35.00</ltl:weightBreakDiscount>
<ltl:weightBreakDiscount>36.00</ltl:weightBreakDiscount>
<ltl:weightBreakDiscount>37.00</ltl:weightBreakDiscount>
<ltl:weightBreakDiscount>39.00</ltl:weightBreakDiscount>
<ltl:weightBreakDiscount>39.00</ltl:weightBreakDiscount>
</ltl:shipmentRequests>
</v2:LTLRateShipmentRequest>
</v2:LTLRateShipment>
</soapenv:Body>undefined</soapenv:Envelope>
The following fields are sent in the LTLRateShipment call.
Object | Field | Type | SMC3 Field |
---|---|---|---|
Carrier Service | Carrier | Lookup(Account) | shipmentID |
Line Item | *NMFC Class | Picklist | nmfcClass |
Line Item | *Weight | Number(18, 0) | weight |
Rate Entry | Apply Discounts To | Picklist | discountApplication |
Rate Entry | Apply Surcharge To | Picklist | surchargeApplication |
Rate Entry | LTL Surcharge | Percent(2, 2) | ltlSurcharge |
Rate Entry | Maximum Alternation Weight | Number(5, 0) | stopAlternationWeight |
Rate Entry | Minimum Charge Discount | Percent(2, 2) | minimumChargeDiscount |
Rate Entry | Minimum Charge Floor | Currency(5, 2) | userMinimumChargeFloor |
Rate Entry | Rate Adjustment Factor | Number(1, 4) | rateAdjustmentFactor |
Rate Entry | *Tariff Effective Date | Date | tariffEffectiveDate |
Rate Entry | *Tariff Name | Picklist | tariffName |
Rate Entry | TL Surcharge | Percent(2, 2) | tlSurcharge |
Rate Entry | Weight Break (1-11) | Text(100) | weightBreakDiscount |
Stop | City | Text(40) | destination.city, origin.city |
Stop | *Country | Picklist | destination.country, origin.country |
Stop | *Postal Code | Text(20) | destination.postalCode, origin.postalCode |
Stop | State/Province | Picklist | destination.stateProvince, origin.stateProvince |
“Y” | useDiscounts | ||
“N” | useSingleShipmentCharges |
*Fields marked with an asterisk are required for the LTLRateShipmentCall.
Sample LTLRateShipment SOAP Response Payload
<soap:Body>
<ns2:LTLRateShipmentResponse>
<ns2:LTLRateShipmentResponse>
<ns11:messageStatus>
<ns4:status>PASS</ns4:status>
</ns11:messageStatus>
<ns11:shipmentResponses>
<ns11:absoluteMinimumChargeFloor>0</ns11:absoluteMinimumChargeFloor>
<ns11:actualWeight>1600</ns11:actualWeight>
<ns11:billedWeight>2000</ns11:billedWeight>
<ns11:currency>
<ns4:alphaCode>USD</ns4:alphaCode>
<ns4:entity>United States of America</ns4:entity>
<ns4:minorUnit>2</ns4:minorUnit>
<ns4:name>US Dollar</ns4:name>
<ns4:numericCode>840</ns4:numericCode>
</ns11:currency>
<ns11:deficitCharge>66.72</ns11:deficitCharge>
<ns11:deficitRate>16.68</ns11:deficitRate>
<ns11:deficitWeight>400</ns11:deficitWeight>
<ns11:details>
<ns11:charge>137.16</ns11:charge>
<ns11:error>0</ns11:error>
<ns11:nmfcClass>77.5</ns11:nmfcClass>
<ns11:rate>22.86</ns11:rate>
<ns11:weight>600</ns11:weight>
</ns11:details>
<ns11:details>
<ns11:charge>166.80</ns11:charge>
<ns11:error>0</ns11:error>
<ns11:nmfcClass>50</ns11:nmfcClass>
<ns11:rate>16.68</ns11:rate>
<ns11:weight>1000</ns11:weight>
</ns11:details>
<ns11:discountAmount>126.03</ns11:discountAmount>
<ns11:discountPercentUsed>34.00</ns11:discountPercentUsed>
<ns11:effectiveDate>20070703</ns11:effectiveDate>
<ns11:lineHaulGrossCharge>370.68</ns11:lineHaulGrossCharge>
<ns11:messageStatus>
<ns4:code>0</ns4:code>
<ns4:message/>
<ns4:resolution/>
<ns4:status>PASS</ns4:status>
</ns11:messageStatus>
<ns11:minimumCharge>181.43</ns11:minimumCharge>
<ns11:rateApplication>R</ns11:rateApplication>
<ns11:rbno>00008019</ns11:rbno>
<ns11:shipmentRequest>
<ns11:destination>
<ns4:country>USA</ns4:country>
<ns4:postalCode>30201</ns4:postalCode>
<ns4:stateProvince>GA</ns4:stateProvince>
</ns11:destination>
<ns11:details>
<ns11:nmfcClass>77.5</ns11:nmfcClass>
<ns11:weight>600</ns11:weight>
</ns11:details>
<ns11:details>
<ns11:nmfcClass>50</ns11:nmfcClass>
<ns11:weight>1000</ns11:weight>
</ns11:details>
<ns11:discountApplication>C</ns11:discountApplication>
<ns11:ltlSurcharge>10.00</ns11:ltlSurcharge>
<ns11:minimumChargeDiscount>98.00</ns11:minimumChargeDiscount>
<ns11:origin>
<ns4:country>USA</ns4:country>
<ns4:postalCode>38100</ns4:postalCode>
<ns4:stateProvince>TN</ns4:stateProvince>
</ns11:origin>
<ns11:stopAlternationWeight>20000</ns11:stopAlternationWeight>
<ns11:surchargeApplication>G</ns11:surchargeApplication>
<ns11:tariffEffectiveDate>20070703</ns11:tariffEffectiveDate>
<ns11:tariffName>DEMOLTLA</ns11:tariffName>
<ns11:tlSurcharge>20.00</ns11:tlSurcharge>
<ns11:useDiscounts>Y</ns11:useDiscounts>
<ns11:useSingleShipmentCharges>N</ns11:useSingleShipmentCharges>
<ns11:userMinimumChargeFloor>59.00</ns11:userMinimumChargeFloor>
<ns11:weightBreakDiscount>20.00</ns11:weightBreakDiscount>
<ns11:weightBreakDiscount>22.00</ns11:weightBreakDiscount>
<ns11:weightBreakDiscount>33.00</ns11:weightBreakDiscount>
<ns11:weightBreakDiscount>34.00</ns11:weightBreakDiscount>
<ns11:weightBreakDiscount>35.00</ns11:weightBreakDiscount>
<ns11:weightBreakDiscount>36.00</ns11:weightBreakDiscount>
<ns11:weightBreakDiscount>37.00</ns11:weightBreakDiscount>
<ns11:weightBreakDiscount>39.00</ns11:weightBreakDiscount>
<ns11:weightBreakDiscount>39.00</ns11:weightBreakDiscount>
</ns11:shipmentRequest>
<ns11:suffix/>
<ns11:surchargeAmount>37.07</ns11:surchargeAmount>
<ns11:surchargePercentUsed>10.00</ns11:surchargePercentUsed>
<ns11:tblno>00018</ns11:tblno>
<ns11:totalCharge>281.72</ns11:totalCharge>
</ns11:shipmentResponses>
</ns2:LTLRateShipmentResponse>
</ns2:LTLRateShipmentResponse>
</soap:Body>undefined</soap:Envelope>
TMS Fields Returned
Object | Field | Type | SMC3 Field |
---|---|---|---|
Carrier Quote | Carrier Service | Lookup(Carrier Service) | shipmentId |
Carrier Quote | Currency | Picklist | *currencyAlphaCode |
Carrier Quote | Deficit Charge | Currency(10, 2) | *deficitCharge |
Carrier Quote | Deficit Rate | Currency(16, 2) | *deficitRate |
Carrier Quote | Deficit Weight | Number(12, 0) | *deficitWeight |
Carrier Quote | Discount | Currency(16, 2) | *discountAmount |
Carrier Quote | Freight Charge Applied | Text(10) | *rateApplication |
Carrier Quote | Freight Charges | Currency(16, 2) | *lineHaulGrossCharge |
Carrier Quote | Freight Surcharge | Currency(16, 2) | *surchargeAmount |
Carrier Quote | Freight Surcharge Application | Text(10) | surchargeApplication |
Carrier Quote | Freight Surcharge Percentage | Percent(16, 2) | *surchargePercentUsed |
Carrier Quote | Minimum Freight Charge Floor | Currency(10, 2) | userMinimumChargeFloor |
Carrier Quote | Net Freight Charges | Currency(16, 2) | *totalCharge |
Carrier Quote | Tariff Minimum | Currency(10, 2) | *minimumCharge |
Customer Quote | Currency | Picklist | *currencyAlphaCode |
Customer Quote | Deficit Charge | Currency(10, 2) | *deficitCharge |
Customer Quote | Deficit Rate | Currency(16, 2) | *deficitRate |
Customer Quote | Deficit Weight | Number(12, 0) | *deficitWeight |
Customer Quote | Discount | Currency(16, 2) | *discountAmount |
Customer Quote | Freight Charge Applied | Text(10) | *rateApplication |
Customer Quote | Freight Charges | Currency(16, 2) | *lineHaulGrossCharge |
Customer Quote | Freight Surcharge | Currency(16, 2) | *surchargeAmount |
Customer Quote | Freight Surcharge Application | Text(10) | surchargeApplication |
Customer Quote | Freight Surcharge Percentage | Percent(16, 2) | *surchargePercentUsed |
Customer Quote | Minimum Freight Charge Floor | Currency(10, 2) | userMinimumChargeFloor |
Customer Quote | Net Freight Charges | Currency(16, 2) | *totalCharge |
Customer Quote | Tariff Minimum | Currency(10, 2) | *minimumCharge |
absoluteMinimumChargeFloor | |||
minimumChargeDiscount | |||
“PASS” or “FAIL” | *status |
*Fields marked with an asterisk always return in the LTLRateShipment responses.
LTLClassesandWeights
This call provides a list of classes and weights for a particular tariff and effective date. Rate Entries that contain discounts for specific weight breaks trigger this call to confirm the correct weight break information from SMC3. When necessary, this call is included during the quote operation when the TMS calls the LTLRateShipment API .
The TMS uses the classes and weights from this call to determine the Weight Break Discounts when creating Carrier quotes.
Some tariffs provided by SMC3 do not have the standard 18 NMFC classes and 9 weight breaks. Confirm all Rate Entry weight break discounts match the specific tariff weight break values.
TMS Operation | SMC3 RateWare XL Endpoint | Request Type | Response |
---|---|---|---|
Load Rating | LTLClassesAndWeights | POST | 200: Success |
TMS Fields Sent in Request
Object | Field | Value | SMC3 Field |
---|---|---|---|
Rate Entry | Effective Date | Date | effectiveDate |
Rate Entry | Tariff Name | Picklist | tariffName |
Sample LTLClassesandWeights SOAP Request Payload
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v2="http://v2.webservice.ratewarexl.smc.com"
xmlns:web="http://webservices.smc.com"
xmlns:ltl="http://ltlclassesandweights.v2.ltl.ratewarexl.smc.com">
<soapenv:Header>
<v2:ApiVersion>V2_0</v2:ApiVersion>
<v2:AuthenticationToken>
<web:licenseKey>pCl9dNJws1Rt</web:licenseKey>
<web:password>demosmc3</web:password>
<web:username>demo@smc3.com</web:username>
</v2:AuthenticationToken>
</soapenv:Header>
<soapenv:Body>
<v2:LTLClassesAndWeights>
<v2:LTLClassesAndWeightsRequest>
<ltl:effectiveDate>20070703</ltl:effectiveDate>
<ltl:tariffName>DEMOLTLA</ltl:tariffName>
</v2:LTLClassesAndWeightsRequest>
</v2:LTLClassesAndWeights>
</soapenv:Body>
</soapenv:Envelope>
Sample LTLClassesandWeights SOAP Response Payload
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:LTLClassesAndWeightsResponse >
<ns2:LTLClassesAndWeightsResponse>
<ns9:classesAndWeights>
<ns4:classLabels>500</ns4:classLabels>
<ns4:classLabels>400</ns4:classLabels>
<ns4:classLabels>300</ns4:classLabels>
<ns4:classLabels>250</ns4:classLabels>
<ns4:classLabels>200</ns4:classLabels>
<ns4:classLabels>175</ns4:classLabels>
<ns4:classLabels>150</ns4:classLabels>
<ns4:classLabels>125</ns4:classLabels>
<ns4:classLabels>110</ns4:classLabels>
<ns4:classLabels>100</ns4:classLabels>
<ns4:classLabels>92</ns4:classLabels>
<ns4:classLabels>85</ns4:classLabels>
<ns4:classLabels>77</ns4:classLabels>
<ns4:classLabels>70</ns4:classLabels>
<ns4:classLabels>65</ns4:classLabels>
<ns4:classLabels>60</ns4:classLabels>
<ns4:classLabels>55</ns4:classLabels>
<ns4:classLabels>50</ns4:classLabels>
<ns4:weightLabelsAndWeightBreaks>
<ns4:weightBreakLabels>L5C</ns4:weightBreakLabels>
<ns4:weightBreakLabels>M5C</ns4:weightBreakLabels>
<ns4:weightBreakLabels>M1M</ns4:weightBreakLabels>
<ns4:weightBreakLabels>M2M</ns4:weightBreakLabels>
<ns4:weightBreakLabels>M5M</ns4:weightBreakLabels>
<ns4:weightBreakLabels>M10M</ns4:weightBreakLabels>
<ns4:weightBreakLabels>M20M</ns4:weightBreakLabels>
<ns4:weightBreakLabels>M30M</ns4:weightBreakLabels>
<ns4:weightBreakLabels>M40M</ns4:weightBreakLabels>
<ns4:weightBreaks>0</ns4:weightBreaks>
<ns4:weightBreaks>500</ns4:weightBreaks>
<ns4:weightBreaks>1000</ns4:weightBreaks>
<ns4:weightBreaks>2000</ns4:weightBreaks>
<ns4:weightBreaks>5000</ns4:weightBreaks>
<ns4:weightBreaks>10000</ns4:weightBreaks>
<ns4:weightBreaks>20000</ns4:weightBreaks>
<ns4:weightBreaks>30000</ns4:weightBreaks>
<ns4:weightBreaks>40000</ns4:weightBreaks>
</ns4:weightLabelsAndWeightBreaks>
</ns9:classesAndWeights>
<ns9:ltlClassesAndWeightsRequest>
<ns9:effectiveDate>20070703</ns9:effectiveDate>
<ns9:tariffName>DEMOLTLA</ns9:tariffName>
</ns9:ltlClassesAndWeightsRequest>
<ns9:messageStatus>
<ns4:status>PASS</ns4:status>
</ns9:messageStatus>
</ns2:LTLClassesAndWeightsResponse>
</ns2:LTLClassesAndWeightsResponse>
</soap:Body>
</soap:Envelope>
No TMS fields are updated by the LTLClassesandWeights call.
Field Reference Table
The following table relates TMS fields with the equivalent SMC3 fields included in SMC3 API calls.
Object | Field | Type | SMC3 Field |
---|---|---|---|
Carrier Quote | Carrier Service | Lookup(Carrier Service) | shipmentId |
Carrier Quote | Deficit Charge | Currency(10, 2) | deficitCharge |
Carrier Quote | Deficit Rate | Currency(16, 2) | deficitRate |
Carrier Quote | Deficit Weight | Number(12, 0) | deficitWeight |
Carrier Quote | Destination Movement Type | Picklist | serviceDetail.destination |
Carrier Quote | Destination Terminal Code | Text(50) | terminalDetails.code |
Carrier Quote | Destination Terminal Email | contact.email | |
Carrier Quote | Destination Terminal Location | Text(255) | terminalName, address1, city, stateProvince, postalCode, country |
Carrier Quote | Destination Terminal Phone | Phone | contact.phone |
Carrier Quote | Direct/Interline | Picklist | serviceDetail.service |
Carrier Quote | Discount | Currency(16, 2) | discountAmount |
Carrier Quote | Estimated Delivery Date | Date | transitCalendar.estimatedDeliveryDate |
Carrier Quote | Estimated Pickup Date | Date | transitCalendar.pickupDate |
Carrier Quote | Estimated Travel Time (Days) | Number (3,0) | carriers.transitDays |
Carrier Quote | Freight Charge Applied | Text(10) | rateApplication |
Carrier Quote | Freight Charges | Currency(16, 2) | lineHaulGrossCharge |
Carrier Quote | Freight Surcharge | Currency(16, 2) | surchargeAmount |
Carrier Quote | Freight Surcharge Application | Text(10) | surchargeApplication |
Carrier Quote | Freight Surcharge Percentage | Percent(16, 2) | surchargePercentUsed |
Carrier Quote | Minimum Freight Charge Floor | Currency(10, 2) | userMinimumChargeFloor |
Carrier Quote | Net Freight Charges | Currency(16, 2) | totalCharge |
Carrier Quote | Origin Movement Type | Picklist | serviceDetail.origin |
Carrier Quote | Origin Terminal Code | Text(50) | terminalDetails.code |
Carrier Quote | Origin Terminal Email | contact.email | |
Carrier Quote | Origin Terminal Location | Text(255) | terminalName, address1, city, stateProvince, postalCode, country |
Carrier Quote | Origin Terminal Phone | Phone | contact.phone |
Carrier Quote | Tariff Minimum | Currency(10, 2) | minimumCharge |
Carrier Service | Carrier | Lookup(Account) | shipmentID |
Customer Quote | Currency | Picklist | currencyAlphaCode |
Customer Quote | Deficit Charge | Currency(10, 2) | deficitCharge |
Customer Quote | Deficit Rate | Currency(16, 2) | deficitRate |
Customer Quote | Deficit Weight | Number(12, 0) | deficitWeight |
Customer Quote | Discount | Currency(16, 2) | discountAmount |
Customer Quote | Freight Charge Applied | Text(10) | rateApplication |
Customer Quote | Freight Charges | Currency(16, 2) | lineHaulGrossCharge |
Customer Quote | Freight Surcharge | Currency(16, 2) | surchargeAmount |
Customer Quote | Freight Surcharge Application | Text(10) | surchargeApplication |
Customer Quote | Freight Surcharge Percentage | Percent(16, 2) | surchargePercentUsed |
Customer Quote | Minimum Freight Charge Floor | Currency(10, 2) | userMinimumChargeFloor |
Customer Quote | Net Freight Charges | Currency(16, 2) | totalCharge |
Customer Quote | Tariff Minimum | Currency(10, 2) | minimumCharge |
Line Item | *NMFC Class | Picklist | nmfcClass |
Line Item | *Weight | Number(18, 0) | weight |
Rate Entry | Apply Discounts To | Picklist | discountApplication |
Rate Entry | Apply Surcharge To | Picklist | surchargeApplication |
Rate Entry | LTL Surcharge | Percent(2, 2) | ltlSurcharge |
Rate Entry | Maximum Alternation Weight | Number(5, 0) | stopAlternationWeight |
Rate Entry | Minimum Charge Discount | Percent(2, 2) | minimumChargeDiscount |
Rate Entry | Minimum Charge Floor | Currency(5, 2) | userMinimumChargeFloor |
Rate Entry | Rate Adjustment Factor | Number(1, 4) | rateAdjustmentFactor |
Rate Entry | *Tariff Effective Date | Date | tariffEffectiveDate |
Rate Entry | *Tariff Name | Picklist | tariffName |
Rate Entry | TL Surcharge | Percent(2, 2) | tlSurcharge |
Rate Entry | Weight Break (1-11) | Text(100) | weightBreakDiscount |
Stop | Address | Formula (Text) | destination.address1, origin.address1 |
Stop | City | Text(40) | destination.city, origin.city |
Stop | *Country | Picklist | destination.country, origin.country |
Stop | Expected Date | Date | terminals.shipmentDate |
Stop | *Postal Code | Text(20) | destination.postalCode, origin.postalCode |
Stop | State/Province | Picklist | destination.stateProvince, origin.stateProvince |
Stop | Terminal Email | contact.emai | |
Stop | Terminal Location | Text(255) | terminalName, address1, city, stateProvince, postalCode, country |
Stop | Terminal Phone | Phone | contact.phone |
Transportation Profile | SCAC | Text(4) | terminals.SCAC |
*Fields marked with an asterisk are required for the SMC3 RateWare/CarrierConnect integrations.