TCMS Transportation Management System
website·Indexed 30 days ago
https://fusion.tcms.aiA comprehensive transportation management platform featuring Route Planning V2 for order optimization, a Transportation Cockpit for booking management, and a Vendor RFQ module for quote handling. The system includes tools for Proof of Delivery (POD) uploads, self-billed e-invoicing, live route tracking, and developer APIs for order ingestion and invoice summaries.
What's inside TCMS
- tcms-fusion is the official documentation portal for tcms.ai, a SaaS platform designed for logistics operations automation and analytics. The portal provides resources for developers (API integration), fleet managers (analytics), and partners, including feature guides for invoicing, tracking, and compliance, API references, setup instructions, and troubleshooting tips.
Overview of the Vendor RFQ workflow
The Vendor RFQ module allows planners to assign bookings to external vendors by soliciting price quotes. The process involves creating a Request for Quote (RFQ) for a booking, sharing a unique link with vendors, comparing submitted quotes (price, truck, driver), and accepting a quote to automatically pre-fill the Quick Assign page for final assignment.Overview of the Route Planning V2 workflow
Route Planning V2 is a wizard-based workflow in the TCMS Booking Web App used to transform delivery orders into optimized truck routes. The process consists of six primary steps:
- Upload: Load orders via Excel/CSV or Webhook to create a planning session.
- Locations: Geocode addresses and verify stop pins on the map.
- Route Setup: Define the depot (start/end point) and planning date.
- Fleet: Configure trucks, capacities, and shifts.
- Route Preview: Run optimization via HERE Maps to calculate the best routes.
- Assignment: Perform a final review and assign routes to the TCMS Planner or export them to third-party systems.
Planning runs are saved as sessions. You can track progress in Usage metrics & history, where statuses like 'Optimized' or 'Planned in TCMS' indicate the current stage of the workflow.
TCMS Inventory Module API Overview
The TCMS Inventory Module provides a set of REST APIs for managing parts, retail stock, purchase orders, and sales. The APIs are divided into three primary functional groups:
- Stock API (
/rest/inventory/stock/): Manages categories, stock locations, adjustments, and low-stock alerts. - Purchase Order API (
/rest/inventory/purchaseOrder/): Manages the full purchase order (PO) lifecycle. - Retail Sale API (
/rest/inventory/sale/): Manages sales with automatic stock level updates.
- Stock API (
Understand the Inventory module 3-layer architecture
The Inventory module uses a 3-layer architecture to separate concerns between the API, business logic, and data persistence:
- REST API Layer: Handles JAX-RS endpoints, authentication, and JSON parsing (e.g.,
StockAPI,RetailSaleAPI). - Service Layer: Contains business logic and manages database operations via
SafeSqlExecutor(e.g.,StockService,InventoryService). - Model Layer: Defines JPA
@Entityclasses that map to MySQL tables (e.g.,Item,Warehouse,StockLocation).
Persistence is handled by Hibernate and MySQL 8 using a schema-based multi-tenant approach with HikariCP connection pooling.
- REST API Layer: Handles JAX-RS endpoints, authentication, and JSON parsing (e.g.,
Access Analytics and Booking Analysis features
The Analytics module provides several data-driven tools:
- Booking Analysis: Includes stats in the Booking Dashboard, Excel download capabilities, and status filters (including 'Awaiting pod' and 'Awaiting cancel').
- Expense and Payment Analysis: Features dynamic filtering upon tab selection, a month graph for expenses, and interactive data points on graphs that display corresponding values when clicked.
- Sales Analysis: Includes a Sales Graph with a 24-hour time format.
- Truck Maintenance: Provides a dedicated UI and API integration for maintenance analysis graphs.
General usage of the GenerateInvoiceAPI
The
GenerateInvoiceAPIis a JAX-RS resource used for invoice operations. All endpoints use thePOSTmethod and require a raw JSON string body (typically sent withContent-Type: application/json). While the API is declared to producetext/plain, successful responses are JSON strings that should be parsed as JSON.Key Connection Details:
- Base Path:
/rest/generateinvoice - Full URL Prefix:
/rest/generateinvoice/{subpath} - Authentication: Most methods require a valid
userNameandauthKey. Invalid credentials result in a401error withAccess-Control-Allow-Origin: *.
- Base Path:
Inventory Data Model Overview
The inventory system uses JPA@Entityclasses that map directly to MySQL tables. Whenhbm2ddl.auto=updateis configured, these tables are automatically created upon application startup.Route Planning V2 user roles and responsibilities
Route Planning V2 involves three primary roles with distinct operational tasks:
- Dispatcher: Responsible for the tactical execution of routing, including uploading order files, correcting location data, configuring the fleet, reviewing generated routes, and assigning or exporting them.
- IT / Integration: Handles the technical setup, including webhook configuration, managing secrets, migrations, HERE map keys, and feature flags.
- Operations Manager: Focuses on oversight, monitoring usage metrics, reviewing session history, and managing retries for failed sessions.
Understand the Dedicated Booking feature
The Dedicated Booking feature enables drivers to independently create and assign jobs without requiring intervention from the operations team. This ensures real-time updates and increases efficiency and transparency in booking management.InvoiceHomePageAPI Base Configuration and Access
TheInvoiceHomePageAPIis a JAX-RS resource used for managing invoicing, acknowledgments, courier/Postlaju operations, e-invoice metadata lists, and cash bookings. All API endpoints are relative to the base path/rest/invoicehome. The system identifies the tenant usingTmsUtil.getTenantIdFromServlet(request). Most responses includeAccess-Control-Allow-Origin: *, though some multipart uploads may be exceptions.Manage booking drafts in Transportation Cockpit
Drafts allow users to save a booking form's progress locally to finish later. Users can maintain up to 20 separate drafts. Drafts are stored on the local device (browser), not on the server, meaning they are not synced across different devices or browsers and may be lost if browser data/cookies are cleared or if using incognito mode. To save a booking permanently to the system, use the 'Submit Booking' action.