{"id":3604,"date":"2026-03-25T16:01:05","date_gmt":"2026-03-25T16:01:05","guid":{"rendered":"https:\/\/aidevlab.com\/?page_id=3604"},"modified":"2026-03-25T17:09:49","modified_gmt":"2026-03-25T17:09:49","slug":"freight-quote-automation","status":"publish","type":"page","link":"https:\/\/aidevlab.com\/case-studies\/freight-quote-automation\/","title":{"rendered":"Freight Quote Automation"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"3604\" class=\"elementor elementor-3604\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-fe347b5 ct-section-stretched elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"fe347b5\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ab80109\" data-id=\"ab80109\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-f28ab17 elementor-widget elementor-widget-html\" data-id=\"f28ab17\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\r\n     CASE STUDY: FREIGHT QUOTE AUTOMATION\r\n     Page slug: \/case-studies\/freight-quote-automation\/\r\n     Three sections. paste each as its own widget\r\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n\r\n\r\n<!-- \u2550\u2550 SECTION A: HERO \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n<style>\r\n@keyframes fr-fadeUp { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:translateY(0)} }\r\n\r\n.fr-hero {\r\n  background: #0A1628;\r\n  padding: 140px var(--gutter,clamp(1.5rem,5vw,4.5rem)) 80px;\r\n  position: relative; overflow: hidden;\r\n}\r\n.fr-hero::before {\r\n  content: '';\r\n  position: absolute; inset: 0;\r\n  background: radial-gradient(ellipse at 65% 25%, rgba(37,159,108,0.12) 0%, transparent 55%),\r\n              radial-gradient(ellipse at 20% 75%, rgba(20,58,162,0.18) 0%, transparent 50%);\r\n  pointer-events: none;\r\n}\r\n.fr-hero-inner { max-width: 1160px; margin: 0 auto; position: relative; z-index: 1; }\r\n.fr-hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }\r\n\r\n.fr-back {\r\n  display: inline-flex; align-items: center; gap: 0.5rem;\r\n  font-size: 0.78rem; color: rgba(220,230,245,0.42);\r\n  text-decoration: none; font-family: 'DM Sans', system-ui, sans-serif;\r\n  margin-bottom: 2rem; transition: color 0.2s;\r\n  opacity: 0; animation: fr-fadeUp 0.6s 0.1s forwards;\r\n}\r\n.fr-back:hover { color: rgba(220,230,245,0.78); }\r\n\r\n.fr-industry {\r\n  font-size: 0.67rem; font-weight: 700; letter-spacing: 0.15em;\r\n  text-transform: uppercase; color: #259F6C;\r\n  font-family: 'DM Sans', system-ui, sans-serif; margin-bottom: 1rem;\r\n  opacity: 0; animation: fr-fadeUp 0.6s 0.2s forwards;\r\n}\r\n.fr-hero h1 {\r\n  font-family: 'Playfair Display', Georgia, serif !important;\r\n  font-size: clamp(2.25rem,4vw,3.75rem) !important;\r\n  font-weight: 500 !important; line-height: 1.08 !important;\r\n  letter-spacing: -0.02em !important;\r\n  color: rgba(220,230,245,0.95); margin-bottom: 1.5rem !important;\r\n  opacity: 0; animation: fr-fadeUp 0.7s 0.3s forwards;\r\n}\r\n.fr-hero h1 em { font-style: italic; font-weight: 400; color: #E8A820; }\r\n.fr-hero-desc {\r\n  font-size: 1rem; color: rgba(220,230,245,0.65); line-height: 1.82;\r\n  font-weight: 300; font-family: 'DM Sans', system-ui, sans-serif;\r\n  opacity: 0; animation: fr-fadeUp 0.7s 0.4s forwards;\r\n}\r\n\r\n.fr-meta {\r\n  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08);\r\n  border-radius: 12px; overflow: hidden;\r\n  opacity: 0; animation: fr-fadeUp 0.7s 0.5s forwards;\r\n}\r\n.fr-meta-row {\r\n  display: flex; justify-content: space-between; align-items: center;\r\n  padding: 1.25rem 1.625rem; border-bottom: 1px solid rgba(255,255,255,0.06); gap: 1rem;\r\n}\r\n.fr-meta-row:last-child { border-bottom: none; }\r\n.fr-meta-lbl { font-size: 0.65rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(220,230,245,0.28); font-family: 'DM Sans', system-ui, sans-serif; flex-shrink: 0; }\r\n.fr-meta-val { font-size: 0.875rem; color: rgba(220,230,245,0.75); font-weight: 400; font-family: 'DM Sans', system-ui, sans-serif; text-align: right; line-height: 1.4; }\r\n.fr-meta-val.gold { color: #E8A820; font-weight: 600; }\r\n.fr-meta-val.green { color: #52D09A; font-weight: 600; }\r\n\r\n@media (max-width: 900px) { .fr-hero-grid { grid-template-columns: 1fr; gap: 3rem; } }\r\n<\/style>\r\n\r\n<section class=\"fr-hero adl-section\">\r\n  <div class=\"fr-hero-inner\">\r\n    <a href=\"\/case-studies\/\" class=\"fr-back\">\r\n      <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\"><path d=\"M11.5 7h-9M5.5 3.5L2 7l3.5 3.5\" stroke=\"currentColor\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\r\n      All Case Studies\r\n    <\/a>\r\n    <div class=\"fr-hero-grid\">\r\n      <div>\r\n        <div class=\"fr-industry\">Freight &amp; Logistics<\/div>\r\n        <h1>The Sales Team Stopped<br>Processing Emails.<br><em>They Started Closing Deals.<\/em><\/h1>\r\n        <p class=\"fr-hero-desc\">\r\n          A global freight forwarding company was losing thousands of hours a year to a single problem: someone had to read every inbound quote request, figure out what was being asked, track down the missing details, and package it up before pricing could even begin. We eliminated that entire workflow with AI. Completely. The sales team never touched another intake email.\r\n        <\/p>\r\n      <\/div>\r\n      <div class=\"fr-meta\">\r\n        <div class=\"fr-meta-row\"><span class=\"fr-meta-lbl\">Industry<\/span><span class=\"fr-meta-val\">Global Freight Forwarding<\/span><\/div>\r\n        <div class=\"fr-meta-row\"><span class=\"fr-meta-lbl\">Client Location<\/span><span class=\"fr-meta-val\">Germany. international operations<\/span><\/div>\r\n        <div class=\"fr-meta-row\"><span class=\"fr-meta-lbl\">Volume<\/span><span class=\"fr-meta-val\">Hundreds of RFQ emails processed daily<\/span><\/div>\r\n        <div class=\"fr-meta-row\"><span class=\"fr-meta-lbl\">Languages<\/span><span class=\"fr-meta-val\">Multilingual. responds in kind<\/span><\/div>\r\n        <div class=\"fr-meta-row\"><span class=\"fr-meta-lbl\">Manual classification<\/span><span class=\"fr-meta-val green\">Eliminated entirely<\/span><\/div>\r\n        <div class=\"fr-meta-row\"><span class=\"fr-meta-lbl\">Sales team time on intake<\/span><span class=\"fr-meta-val gold\">Zero<\/span><\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n\r\n<!-- \u2550\u2550 SECTION B: BODY \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n<style>\r\n.fr-body { background: #F5F2EB; padding: clamp(80px,10vw,120px) var(--gutter,clamp(1.5rem,5vw,4.5rem)); }\r\n.fr-body-inner { max-width: 1160px; margin: 0 auto; }\r\n.fr-lbl { font-size: 0.65rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #259F6C; font-family: 'DM Sans', system-ui, sans-serif; margin-bottom: 1rem; display: block; }\r\n.fr-body h2 { font-family: 'Playfair Display', Georgia, serif !important; font-size: clamp(1.75rem,2.75vw,2.5rem) !important; font-weight: 500 !important; line-height: 1.15 !important; letter-spacing: -0.015em !important; color: #140F1E; margin-bottom: 1.25rem !important; }\r\n.fr-body h2 em { font-style: italic; font-weight: 400; color: #143AA2; }\r\n.fr-body p { font-size: 0.95rem; color: #4A4E5A; line-height: 1.85; font-weight: 300; font-family: 'DM Sans', system-ui, sans-serif; margin-bottom: 1.25rem; }\r\n.fr-body p:last-child { margin-bottom: 0; }\r\n.fr-body strong { color: #140F1E; font-weight: 500; }\r\n.fr-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: start; margin-bottom: clamp(4rem,6vw,6rem); }\r\n\r\n\/* Cost callout *\/\r\n.fr-cost {\r\n  background: #fff; border: 1px solid #E2DDD6; border-radius: 12px;\r\n  padding: 2rem; margin-top: 2rem;\r\n  display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem;\r\n}\r\n.fr-cost-label { grid-column: 1 \/ -1; font-size: 0.63rem; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase; color: #9B9690; font-family: 'DM Sans', system-ui, sans-serif; margin-bottom: 0.25rem; }\r\n.fr-cost-item { border-left: 3px solid #E2DDD6; padding-left: 1rem; }\r\n.fr-cost-item.red { border-color: rgba(220,50,50,0.3); }\r\n.fr-cost-item.green { border-color: #259F6C; }\r\n.fr-cost-num { font-family: 'Playfair Display', Georgia, serif; font-size: 1.75rem; font-weight: 600; line-height: 1; margin-bottom: 0.3rem; }\r\n.fr-cost-num.red { color: rgba(200,40,40,0.7); }\r\n.fr-cost-num.green { color: #259F6C; }\r\n.fr-cost-desc { font-size: 0.78rem; color: #4A4E5A; line-height: 1.5; font-weight: 300; font-family: 'DM Sans', system-ui, sans-serif; }\r\n\r\n\/* Complexity callout *\/\r\n.fr-complexity {\r\n  background: #0A1628; border-radius: 10px; padding: 2rem 2.25rem; margin-top: 2rem;\r\n}\r\n.fr-complexity-lbl { font-size: 0.62rem; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase; color: rgba(232,168,32,0.65); font-family: 'DM Sans', system-ui, sans-serif; margin-bottom: 1rem; }\r\n.fr-complexity p {\r\n  font-family: 'Playfair Display', Georgia, serif !important;\r\n  font-size: 1.1rem !important; font-style: italic;\r\n  color: rgba(220,230,245,0.88) !important; margin: 0 !important; line-height: 1.65 !important;\r\n}\r\n.fr-complexity p em { color: #E8A820; font-style: normal; }\r\n\r\n\/* Pipeline visualization *\/\r\n.fr-pipeline { margin-top: clamp(3rem,4vw,4rem); }\r\n.fr-pipeline-title { font-family: 'Playfair Display', Georgia, serif; font-size: clamp(1.75rem,2.75vw,2.5rem); font-weight: 500; line-height: 1.15; letter-spacing: -0.015em; color: #140F1E; margin-bottom: 0.5rem; }\r\n.fr-pipeline-title em { font-style: italic; font-weight: 400; color: #143AA2; }\r\n.fr-pipeline-sub { font-size: .95rem; color: #4A4E5A; line-height: 1.82; font-weight: 300; font-family: 'DM Sans', system-ui, sans-serif; max-width: 580px; margin-bottom: 2.5rem; }\r\n\r\n.fr-steps { display: flex; flex-direction: column; gap: 0; }\r\n.fr-step {\r\n  display: grid; grid-template-columns: 56px 1fr;\r\n  gap: 0 1.5rem; align-items: stretch;\r\n}\r\n.fr-step-left { display: flex; flex-direction: column; align-items: center; }\r\n.fr-step-num {\r\n  width: 44px; height: 44px; border-radius: 50%;\r\n  background: #143AA2; color: #fff;\r\n  display: flex; align-items: center; justify-content: center;\r\n  font-family: 'Playfair Display', Georgia, serif;\r\n  font-size: 1rem; font-weight: 600; flex-shrink: 0;\r\n  box-shadow: 0 0 0 6px rgba(20,58,162,0.08);\r\n}\r\n.fr-step-line {\r\n  width: 2px; background: rgba(20,58,162,0.12);\r\n  flex-grow: 1; margin: 8px auto 0;\r\n}\r\n.fr-step:last-child .fr-step-line { display: none; }\r\n.fr-step-body {\r\n  background: #fff; border: 1px solid #E2DDD6; border-radius: 12px;\r\n  padding: 1.625rem 1.875rem; margin-bottom: 1rem;\r\n  transition: border-color 0.25s, box-shadow 0.25s;\r\n  opacity: 0; transform: translateX(16px);\r\n  transition: border-color 0.25s, box-shadow 0.25s, opacity 0.6s ease, transform 0.6s ease;\r\n}\r\n.fr-step-body.visible { opacity: 1; transform: translateX(0); }\r\n.fr-step:nth-child(1) .fr-step-body { transition-delay: 0.05s; }\r\n.fr-step:nth-child(2) .fr-step-body { transition-delay: 0.15s; }\r\n.fr-step:nth-child(3) .fr-step-body { transition-delay: 0.25s; }\r\n.fr-step:nth-child(4) .fr-step-body { transition-delay: 0.35s; }\r\n.fr-step:nth-child(5) .fr-step-body { transition-delay: 0.45s; }\r\n.fr-step-body:hover { border-color: rgba(20,58,162,0.2); box-shadow: 0 6px 20px rgba(20,58,162,0.07); }\r\n.fr-step-name { font-size: 1rem; font-weight: 600; color: #140F1E; margin-bottom: 0.4rem; font-family: 'DM Sans', system-ui, sans-serif; }\r\n.fr-step-desc { font-size: 0.875rem; color: #4A4E5A; line-height: 1.7; font-weight: 300; font-family: 'DM Sans', system-ui, sans-serif; margin: 0; }\r\n.fr-step-tag { display: inline-block; margin-top: 0.75rem; font-size: 0.65rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 0.2rem 0.625rem; border-radius: 100px; font-family: 'DM Sans', system-ui, sans-serif; }\r\n.fr-step-tag.ai { background: rgba(20,58,162,0.08); color: #143AA2; }\r\n.fr-step-tag.auto { background: rgba(37,159,108,0.1); color: #259F6C; }\r\n\r\n\/* The hard part *\/\r\n.fr-hard-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1.25rem; margin-top: clamp(3rem,4vw,4rem); }\r\n.fr-hard-card {\r\n  background: #fff; border: 1px solid #E2DDD6; border-radius: 12px; padding: 1.875rem;\r\n  opacity: 0; transform: translateY(18px);\r\n  transition: opacity 0.65s ease, transform 0.65s ease;\r\n}\r\n.fr-hard-card.visible { opacity: 1; transform: translateY(0); }\r\n.fr-hard-card:nth-child(1){transition-delay:0.05s} .fr-hard-card:nth-child(2){transition-delay:0.18s} .fr-hard-card:nth-child(3){transition-delay:0.31s}\r\n.fr-hard-card:hover { box-shadow: 0 8px 28px rgba(20,58,162,0.08); border-color: rgba(20,58,162,0.18); }\r\n.fr-hard-icon { font-size: 1.5rem; margin-bottom: 0.875rem; line-height: 1; }\r\n.fr-hard-name { font-size: 0.97rem; font-weight: 600; color: #140F1E; margin-bottom: 0.45rem; font-family: 'DM Sans', system-ui, sans-serif; }\r\n.fr-hard-desc { font-size: 0.84rem; color: #4A4E5A; line-height: 1.7; font-weight: 300; font-family: 'DM Sans', system-ui, sans-serif; margin: 0; }\r\n\r\n\/* Outcomes *\/\r\n.fr-outcomes {\r\n  display: grid; grid-template-columns: repeat(4, 1fr);\r\n  gap: 1px; background: rgba(255,255,255,0.07);\r\n  border: 1px solid rgba(255,255,255,0.07);\r\n  border-radius: 12px; overflow: hidden;\r\n  margin-top: clamp(3rem,4vw,4rem);\r\n}\r\n.fr-outcome { background: #0A1628; padding: 2rem 1.875rem; transition: background 0.25s; }\r\n.fr-outcome:hover { background: rgba(37,159,108,0.08); }\r\n.fr-outcome strong { display: block; font-family: 'Playfair Display', Georgia, serif; font-size: 2rem; font-weight: 600; color: #E8A820; line-height: 1; margin-bottom: 0.5rem; }\r\n.fr-outcome span { font-size: 0.8rem; color: rgba(220,230,245,0.58); font-weight: 300; font-family: 'DM Sans', system-ui, sans-serif; line-height: 1.5; }\r\n\r\n@media (max-width: 960px) {\r\n  .fr-two-col { grid-template-columns: 1fr; gap: 3rem; }\r\n  .fr-hard-grid { grid-template-columns: 1fr 1fr; }\r\n  .fr-outcomes { grid-template-columns: 1fr 1fr; }\r\n  .fr-cost { grid-template-columns: 1fr; }\r\n}\r\n@media (max-width: 600px) { .fr-hard-grid { grid-template-columns: 1fr; } }\r\n<\/style>\r\n\r\n<section class=\"fr-body adl-section\">\r\n  <div class=\"fr-body-inner\">\r\n\r\n    <!-- Problem -->\r\n    <div class=\"fr-two-col\">\r\n      <div>\r\n        <span class=\"fr-lbl\">The Problem<\/span>\r\n        <h2>Every hour spent<br>on intake was an hour<br><em>not spent closing.<\/em><\/h2>\r\n        <p>Freight forwarding is a relationship business. The companies that win do so by responding faster, building trust faster, and converting inquiries before a competitor does. Every minute a sales rep spends reading an email to determine whether it is a genuine quote request is a minute not spent on a client conversation.<\/p>\r\n        <p>The company was receiving hundreds of RFQ emails each day across multiple languages and formats. Some arrived as structured forms. Some were dense paragraphs buried in an email chain. Some were missing half the information needed to actually produce a quote. Every single one required a human to read it, interpret it, decide what to do with it, and act accordingly.<\/p>\r\n        <p><strong>The scale of the waste was staggering<\/strong> when measured honestly. Not just the time to read each email. but the cognitive overhead of context switching, the errors from manual data entry, the delays from back and forth clarification chains, and the deals lost to competitors who responded faster because they were not drowning in the same process.<\/p>\r\n\r\n        <div class=\"fr-cost\">\r\n          <div class=\"fr-cost-label\">Before vs After<\/div>\r\n          <div class=\"fr-cost-item red\">\r\n            <div class=\"fr-cost-num red\">Hours<\/div>\r\n            <div class=\"fr-cost-desc\">Lost daily to manual email reading, classification, data extraction and routing<\/div>\r\n          <\/div>\r\n          <div class=\"fr-cost-item green\">\r\n            <div class=\"fr-cost-num green\">Zero<\/div>\r\n            <div class=\"fr-cost-desc\">Sales team time on intake after deployment. The pipeline handles every step without human involvement.<\/div>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div>\r\n        <span class=\"fr-lbl\">The Real Complexity<\/span>\r\n        <h2>This was harder to solve<br>than it <em>sounds.<\/em><\/h2>\r\n        <p>The instinct when hearing \"automate email processing\" is to imagine a simple rule based filter. That instinct is wrong. and it is why most attempts at this fail.<\/p>\r\n        <p>Freight RFQs do not arrive in a consistent format. A request from a logistics manager in Tokyo looks nothing like one from a procurement officer in Rotterdam. One arrives as a structured PDF attachment. One is three sentences embedded in a reply chain that started three weeks ago. One references cargo by its common name. One uses the technical classification code. One has every detail. One is missing the most important one.<\/p>\r\n        <p>A rule based system collapses on the first exception. And in freight forwarding, exceptions are not edge cases. They are the normal case.<\/p>\r\n\r\n        <div class=\"fr-complexity\">\r\n          <div class=\"fr-complexity-lbl\">What made this genuinely hard<\/div>\r\n          <p>\"The system needed to understand freight the way an experienced ops person does. not just read words, but interpret intent, <em>know what was missing<\/em>, and know how to ask for it in a way that got a response.\"<\/p>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- Pipeline -->\r\n    <div class=\"fr-pipeline\">\r\n      <span class=\"fr-lbl\">The Solution<\/span>\r\n      <div class=\"fr-pipeline-title\">A five stage AI pipeline that never<br><em>misses a step.<\/em><\/div>\r\n      <p class=\"fr-pipeline-sub\">We built a system that handles the entire intake workflow from the moment an email arrives to the moment a fully formatted RFQ package lands in the hands of the pricing team. with zero human involvement at any stage.<\/p>\r\n\r\n      <div class=\"fr-steps\">\r\n        <div class=\"fr-step\">\r\n          <div class=\"fr-step-left\">\r\n            <div class=\"fr-step-num\">01<\/div>\r\n            <div class=\"fr-step-line\"><\/div>\r\n          <\/div>\r\n          <div class=\"fr-step-body\">\r\n            <div class=\"fr-step-name\">Intelligent Classification<\/div>\r\n            <p class=\"fr-step-desc\">Every inbound email is read and classified before anything else happens. Genuine RFQs, general inquiries, existing client communications, and noise are sorted instantly. Only real quote requests proceed. Everything else is handled or flagged appropriately without touching a human queue.<\/p>\r\n            <span class=\"fr-step-tag ai\">AI Classification<\/span>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"fr-step\">\r\n          <div class=\"fr-step-left\">\r\n            <div class=\"fr-step-num\">02<\/div>\r\n            <div class=\"fr-step-line\"><\/div>\r\n          <\/div>\r\n          <div class=\"fr-step-body\">\r\n            <div class=\"fr-step-name\">Deep Data Extraction<\/div>\r\n            <p class=\"fr-step-desc\">Named entity recognition and custom freight domain models extract every quote relevant data point from the email body, attachments, and thread history: origin and destination, cargo type and classification, weight and volume, timeline, Incoterms, and any special handling or hazmat requirements. The model understands freight terminology. both formal and informal. across multiple languages.<\/p>\r\n            <span class=\"fr-step-tag ai\">Named Entity Recognition<\/span>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"fr-step\">\r\n          <div class=\"fr-step-left\">\r\n            <div class=\"fr-step-num\">03<\/div>\r\n            <div class=\"fr-step-line\"><\/div>\r\n          <\/div>\r\n          <div class=\"fr-step-body\">\r\n            <div class=\"fr-step-name\">Gap Detection and Validation<\/div>\r\n            <p class=\"fr-step-desc\">The system cross references extracted data against what is required to produce a viable quote. Every missing field is identified and prioritized. Weight but no volume? Destination but no Incoterms? The system knows what the pricing team needs, and knows which gaps are critical versus which can be reasonably assumed. Nothing moves forward with holes that would stall the quoting process.<\/p>\r\n            <span class=\"fr-step-tag ai\">Validation Logic<\/span>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"fr-step\">\r\n          <div class=\"fr-step-left\">\r\n            <div class=\"fr-step-num\">04<\/div>\r\n            <div class=\"fr-step-line\"><\/div>\r\n          <\/div>\r\n          <div class=\"fr-step-body\">\r\n            <div class=\"fr-step-name\">Conversational Follow Up Generation<\/div>\r\n            <p class=\"fr-step-desc\">When critical information is missing, the system generates and sends a targeted follow up email. written in the same language as the original inquiry, matching the tone and formality of the sender, asking only for the specific details that are needed. No generic reply templates. No unnecessary back and forth. A precise, professional ask that gets answered because it respects the sender's time.<\/p>\r\n            <span class=\"fr-step-tag auto\">Fully Automated<\/span>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"fr-step\">\r\n          <div class=\"fr-step-left\">\r\n            <div class=\"fr-step-num\">05<\/div>\r\n            <div class=\"fr-step-line\"><\/div>\r\n          <\/div>\r\n          <div class=\"fr-step-body\">\r\n            <div class=\"fr-step-name\">Formatted Package Routing<\/div>\r\n            <p class=\"fr-step-desc\">Once all required data is confirmed, the system assembles a complete, consistently formatted RFQ package and routes it directly to the sales and pricing team. organized, structured, and ready to price. The team opens a package. They do not open an email. The difference in cognitive load and response time is significant.<\/p>\r\n            <span class=\"fr-step-tag auto\">Fully Automated<\/span>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- What made it hard -->\r\n    <div style=\"margin-top:clamp(4rem,6vw,6rem);\">\r\n      <span class=\"fr-lbl\">Engineering Decisions That Mattered<\/span>\r\n      <h2 style=\"font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.75rem,2.75vw,2.5rem);font-weight:500;line-height:1.15;letter-spacing:-0.015em;color:#140F1E;margin-bottom:0.5rem;\">Three problems most<br><em style=\"font-style:italic;color:#143AA2;\">automation tools never solve.<\/em><\/h2>\r\n      <p style=\"font-size:.95rem;color:#4A4E5A;line-height:1.82;font-weight:300;font-family:'DM Sans',system-ui,sans-serif;max-width:580px;margin-bottom:0;\">The difference between a system that works in a demo and one that works in production is the edge cases. These were the three we had to solve to make this work at real freight forwarding scale.<\/p>\r\n\r\n      <div class=\"fr-hard-grid\">\r\n        <div class=\"fr-hard-card\">\r\n          <div class=\"fr-hard-icon\">\ud83c\udf0d<\/div>\r\n          <div class=\"fr-hard-name\">Format Chaos<\/div>\r\n          <p class=\"fr-hard-desc\">RFQs arrive as plain text, PDF attachments, Excel files, reply chains, forwarded threads, and everything in between. The system needed to extract structured data from fundamentally unstructured input. reliably, not just when conditions are ideal. We built extraction logic that handles the real distribution of email formats, not the idealized version.<\/p>\r\n        <\/div>\r\n        <div class=\"fr-hard-card\">\r\n          <div class=\"fr-hard-icon\">\ud83d\udd24<\/div>\r\n          <div class=\"fr-hard-name\">Multilingual Understanding<\/div>\r\n          <p class=\"fr-hard-desc\">A German freight forwarder with international clients receives RFQs in English, German, Dutch, French, Spanish, Mandarin, and more. The system needed to classify, extract, and respond in the language of the sender. not translate everything into a single language and lose the nuance. Domain specific multilingual models made this possible.<\/p>\r\n        <\/div>\r\n        <div class=\"fr-hard-card\">\r\n          <div class=\"fr-hard-icon\">\ud83e\udde9<\/div>\r\n          <div class=\"fr-hard-name\">Freight Domain Knowledge<\/div>\r\n          <p class=\"fr-hard-desc\">A general NLP model does not know that \"LCL\" means less than container load, that EXW and DDP represent opposite ends of Incoterms responsibility, or that a request for \"hazmat\" transport triggers an entirely different set of required fields. We built domain specific freight understanding into the model so it operates with the context of an experienced ops professional, not a generic language processor.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- Outcomes -->\r\n    <div class=\"fr-outcomes\">\r\n      <div class=\"fr-outcome\">\r\n        <strong>100%<\/strong>\r\n        <span>Of inbound RFQs handled without manual reading or classification<\/span>\r\n      <\/div>\r\n      <div class=\"fr-outcome\">\r\n        <strong>Zero<\/strong>\r\n        <span>Sales team hours spent on intake. returned entirely to client facing work<\/span>\r\n      <\/div>\r\n      <div class=\"fr-outcome\">\r\n        <strong>Faster<\/strong>\r\n        <span>Quote response times. packages reach pricing the moment data is complete<\/span>\r\n      <\/div>\r\n      <div class=\"fr-outcome\">\r\n        <strong>Multilingual<\/strong>\r\n        <span>Responds in the sender's language. no translation layer required<\/span>\r\n      <\/div>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/section>\r\n\r\n\r\n<!-- \u2550\u2550 SECTION C: CTA \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\r\n<style>\r\n.fr-cta { background: #0A1628; padding: clamp(80px,10vw,100px) var(--gutter,clamp(1.5rem,5vw,4.5rem)); position: relative; overflow: hidden; }\r\n.fr-cta::before { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 800px; height: 400px; background: radial-gradient(ellipse, rgba(37,159,108,0.1) 0%, rgba(20,58,162,0.15) 40%, transparent 68%); pointer-events: none; }\r\n.fr-cta-inner { max-width: 780px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; position: relative; z-index: 1; }\r\n.fr-cta h2 { font-family: 'Playfair Display', Georgia, serif !important; font-size: clamp(2rem,3.5vw,3rem) !important; font-weight: 500 !important; line-height: 1.12 !important; color: rgba(220,230,245,0.95); margin-bottom: 1.25rem !important; }\r\n.fr-cta h2 em { font-style: italic; color: #E8A820; font-weight: 400; }\r\n.fr-cta p { font-size: 0.95rem; color: rgba(220,230,245,0.58); line-height: 1.82; font-weight: 300; font-family: 'DM Sans', system-ui, sans-serif; margin-bottom: 2rem; }\r\n.fr-cta-btn { display: block; text-align: center; background: #259F6C; color: #fff; padding: 0.95rem 2.25rem; border-radius: 5px; text-decoration: none; font-weight: 600; font-size: 0.9rem; font-family: 'DM Sans', system-ui, sans-serif; border: 2px solid #259F6C; transition: background 0.22s, color 0.22s, transform 0.15s; }\r\n.fr-cta-btn:hover { background: #fff; color: #259F6C; transform: translateY(-1px); }\r\n.fr-cta-link { display: block; margin-top: 1rem; text-align: center; font-size: 0.82rem; color: rgba(220,230,245,0.35); text-decoration: none; font-family: 'DM Sans', system-ui, sans-serif; transition: color 0.2s; }\r\n.fr-cta-link:hover { color: rgba(220,230,245,0.65); }\r\n.fr-cta-right { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 12px; padding: 2.25rem; }\r\n.fr-cta-right-lbl { font-size: 0.63rem; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase; color: rgba(232,168,32,0.6); font-family: 'DM Sans', system-ui, sans-serif; margin-bottom: 1.25rem; display: block; }\r\n.fr-cta-right h3 { font-family: 'Playfair Display', Georgia, serif; font-size: 1.15rem; font-weight: 500; color: rgba(220,230,245,0.9); margin-bottom: 0.875rem; line-height: 1.35; }\r\n.fr-cta-right p { font-size: 0.84rem; color: rgba(220,230,245,0.45); line-height: 1.72; font-weight: 300; font-family: 'DM Sans', system-ui, sans-serif; margin: 0; }\r\n@media (max-width: 860px) { .fr-cta-inner { grid-template-columns: 1fr; gap: 3rem; max-width: 560px; } }\r\n<\/style>\r\n\r\n<section class=\"fr-cta adl-section\">\r\n  <div class=\"fr-cta-inner\">\r\n    <div>\r\n      <h2>Your team is doing<br>work that <em>AI should be doing.<\/em><\/h2>\r\n      <p>If any part of your inbound process involves a person reading something to determine what it is and what to do with it, that is a problem worth solving. The technology to eliminate it exists. Tell us what your intake looks like.<\/p>\r\n      <a href=\"https:\/\/calendly.com\/aidevlab-info\/aidevlab-lets-talk-ai\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"fr-cta-btn\">Start a Conversation<\/a>\r\n      <a href=\"\/case-studies\/\" class=\"fr-cta-link\">\u2190 Back to all case studies<\/a>\r\n    <\/div>\r\n    <div class=\"fr-cta-right\">\r\n      <span class=\"fr-cta-right-lbl\">This approach scales across industries<\/span>\r\n      <h3>Inbound processing automation is one of the highest ROI AI applications in operations<\/h3>\r\n      <p>The freight forwarding use case is distinctive in its complexity, but the underlying problem. high volume inbound requests arriving in unstructured formats that require classification, extraction, follow up, and routing. exists in insurance, legal services, professional services, manufacturing, and beyond. The architecture is the same. The domain knowledge changes.<\/p>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(function() {\r\n  const io = new IntersectionObserver(entries => {\r\n    entries.forEach(e => { if(e.isIntersecting){e.target.classList.add('visible');io.unobserve(e.target);} });\r\n  }, {threshold:0.1});\r\n  document.querySelectorAll('.fr-step-body, .fr-hard-card').forEach(el => io.observe(el));\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>All Case Studies Freight &amp; Logistics The Sales Team StoppedProcessing Emails.They Started Closing Deals. A global freight forwarding company was losing thousands of hours a year to a single problem: someone had to read every inbound quote request, figure out what was being asked, track down the missing details, and package it up before pricing [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":3585,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"nf_dc_page":"","footnotes":""},"class_list":["post-3604","page","type-page","status-publish","hentry"],"blocksy_meta":{"has_hero_section":"disabled","styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":6}},"featured_image_src":null,"featured_image_src_square":null,"_links":{"self":[{"href":"https:\/\/aidevlab.com\/wp-json\/wp\/v2\/pages\/3604","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aidevlab.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/aidevlab.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/aidevlab.com\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/aidevlab.com\/wp-json\/wp\/v2\/comments?post=3604"}],"version-history":[{"count":19,"href":"https:\/\/aidevlab.com\/wp-json\/wp\/v2\/pages\/3604\/revisions"}],"predecessor-version":[{"id":3740,"href":"https:\/\/aidevlab.com\/wp-json\/wp\/v2\/pages\/3604\/revisions\/3740"}],"up":[{"embeddable":true,"href":"https:\/\/aidevlab.com\/wp-json\/wp\/v2\/pages\/3585"}],"wp:attachment":[{"href":"https:\/\/aidevlab.com\/wp-json\/wp\/v2\/media?parent=3604"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}