The Challenge
Freight enquiries arrived across multiple mailboxes in inconsistent free-text formats, with rate tables buried in PDFs, spreadsheets and inline text. Staff read each message, identified origin, destination, vehicle type and cargo specification, and composed a reply by hand. Enquiries were frequently missed with no central record.
Enquiries arriving across separate email accounts.
Rates buried in attachments and inline text.
Quotations and rate replies following no structure.
No record of what stage an enquiry reached.
Approach & Solution
smartData built the platform on Python and Django with a React front end, PostgreSQL and cloud infrastructure, using a large language model for natural language understanding. A multi-mailbox connector polls the client's accounts and captures every inbound email exactly once, preventing duplicates from threaded replies.
Extraction reads the unstructured message and its attachments, pulls out the logistics fields and attaches a field-level confidence score; low-confidence or missing fields surface to an operator before the workflow proceeds. Separate handlers for quotations and rate requests evolve independently over a shared layer.
Key Features
Every inbound enquiry captured exactly once.
Uncertain fields raised to a human operator.
Quotations and rate requests processed independently.
Scheduled reminders with automatic status transitions.
Product Showcase
Final Outcome
Every enquiry lands in one tracked record with its logistics detail already extracted, responses follow a consistent structure, and the fields the model is unsure about reach a person before anything goes out.