{"id":898,"date":"2026-08-12T08:06:33","date_gmt":"2026-08-12T08:06:33","guid":{"rendered":"https:\/\/trendroute.ai\/?page_id=898"},"modified":"2026-09-21T07:35:12","modified_gmt":"2026-09-21T07:35:12","slug":"product-overview","status":"publish","type":"page","link":"https:\/\/trendroute.ai\/en\/product-overview\/","title":{"rendered":"Product Overview"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"898\" class=\"elementor elementor-898\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-452972d e-con-full e-flex e-con e-parent\" data-id=\"452972d\" data-element_type=\"container\" data-e-type=\"container\" data-no-translation=\"\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ae2df19 elementor-widget elementor-widget-html\" data-id=\"ae2df19\" 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<!--\r\n  TrendRoute.ai - Elementor HTML Widget\r\n  Updated from TrendRoute_ai_Product_Overview_v3.pdf\r\n  Paste this whole file into ONE Elementor HTML widget.\r\n  Best result: set the Elementor container\/section to Full Width and remove default padding.\r\n-->\r\n\r\n<style>\r\n  .trv3-page,\r\n  .trv3-page * { box-sizing: border-box; }\r\n\r\n  .trv3-page {\r\n    --navy: #0d3659;\r\n    --navy2: #0a2b49;\r\n    --teal: #0aa3a6;\r\n    --teal2: #0b8f92;\r\n    --blue: #2469c9;\r\n    --green: #178c67;\r\n    --orange: #ea8a20;\r\n    --ink: #143451;\r\n    --muted: #536b82;\r\n    --line: #d4e1ea;\r\n    --soft: #f3f7fa;\r\n    --soft-teal: #e7f6f5;\r\n    --soft-blue: #edf4fd;\r\n    --white: #ffffff;\r\n    --shadow: 0 22px 65px rgba(13, 54, 89, .10);\r\n    width: 100%;\r\n    overflow: hidden;\r\n    background: #fff;\r\n    color: var(--ink);\r\n    font-family: Inter, Arial, Helvetica, sans-serif;\r\n    line-height: 1.55;\r\n    -webkit-font-smoothing: antialiased;\r\n  }\r\n\r\n  .trv3-page a { color: inherit; }\r\n  .trv3-wrap { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }\r\n  .trv3-section { padding: 86px 0; position: relative; }\r\n  .trv3-section-soft { background: var(--soft); }\r\n  .trv3-section-dark { background: var(--navy); color: #fff; }\r\n\r\n  .trv3-brand {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    gap: 12px;\r\n    margin-bottom: 48px;\r\n    color: var(--navy);\r\n    font-size: 30px;\r\n    font-weight: 850;\r\n    letter-spacing: -.03em;\r\n  }\r\n\r\n  .trv3-brand-mark { width: 62px; height: 34px; display: block; }\r\n  .trv3-brand .dot { color: var(--teal); }\r\n\r\n  .trv3-kicker {\r\n    margin: 0 0 10px;\r\n    color: var(--teal2);\r\n    font-size: 13px;\r\n    font-weight: 850;\r\n    letter-spacing: .075em;\r\n    text-transform: uppercase;\r\n  }\r\n\r\n  .trv3-title {\r\n    margin: 0;\r\n    max-width: 980px;\r\n    color: var(--navy);\r\n    font-size: clamp(42px, 6vw, 74px);\r\n    line-height: 1.02;\r\n    letter-spacing: -.04em;\r\n    font-weight: 850;\r\n  }\r\n\r\n  .trv3-hero-accent {\r\n    margin: 4px 0 0;\r\n    color: var(--teal2);\r\n    font-size: clamp(22px, 2.6vw, 34px);\r\n    line-height: 1.16;\r\n    font-weight: 850;\r\n  }\r\n\r\n  .trv3-hero-sub {\r\n    margin: 10px 0 0;\r\n    max-width: 940px;\r\n    color: var(--muted);\r\n    font-size: clamp(18px, 2vw, 24px);\r\n    line-height: 1.4;\r\n  }\r\n\r\n  .trv3-h2 {\r\n    margin: 0;\r\n    color: var(--navy);\r\n    font-size: clamp(34px, 4.2vw, 56px);\r\n    line-height: 1.08;\r\n    letter-spacing: -.03em;\r\n    font-weight: 850;\r\n  }\r\n\r\n  .trv3-lead {\r\n    margin: 14px 0 0;\r\n    max-width: 980px;\r\n    color: var(--muted);\r\n    font-size: 18px;\r\n    line-height: 1.6;\r\n  }\r\n\r\n  .trv3-section-dark .trv3-h2,\r\n  .trv3-section-dark .trv3-lead { color: #fff; }\r\n  .trv3-section-dark .trv3-lead { color: #c8d7e4; }\r\n\r\n  .trv3-hero {\r\n    padding: 34px 0 82px;\r\n    background:\r\n      radial-gradient(circle at 88% 10%, rgba(10,163,166,.10), transparent 25%),\r\n      #fff;\r\n  }\r\n\r\n  .trv3-overview {\r\n    margin-top: 38px;\r\n    padding: 32px;\r\n    border-radius: 24px;\r\n    background: var(--navy);\r\n    box-shadow: var(--shadow);\r\n  }\r\n\r\n  .trv3-overview h2 { margin: 0; color: #fff; font-size: 24px; }\r\n  .trv3-overview p { margin: 14px 0 0; color: #fff; font-size: 17px; line-height: 1.65; }\r\n\r\n  .trv3-proof {\r\n    margin-top: 18px;\r\n    display: grid;\r\n    grid-template-columns: auto 1fr;\r\n    align-items: center;\r\n    gap: 26px;\r\n    padding: 22px 28px;\r\n    border-radius: 20px;\r\n    background: var(--soft-teal);\r\n  }\r\n\r\n  .trv3-proof-number { color: var(--teal2); font-size: 48px; line-height: 1; font-weight: 900; }\r\n  .trv3-proof strong { display: block; color: var(--navy); font-size: 14px; letter-spacing: .04em; text-transform: uppercase; }\r\n  .trv3-proof span { display: block; margin-top: 4px; color: var(--ink); font-size: 15px; }\r\n\r\n  .trv3-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; }\r\n  .trv3-grid-4 { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; }\r\n\r\n  .trv3-card {\r\n    position: relative;\r\n    overflow: hidden;\r\n    border: 1px solid var(--line);\r\n    border-radius: 20px;\r\n    padding: 26px;\r\n    background: #fff;\r\n    box-shadow: 0 10px 30px rgba(13,54,89,.045);\r\n  }\r\n\r\n  .trv3-card:before {\r\n    content: \"\";\r\n    position: absolute;\r\n    left: 0; right: 0; top: 0;\r\n    height: 5px;\r\n    background: var(--accent, var(--teal));\r\n  }\r\n\r\n  .trv3-card h3 { margin: 0; color: var(--navy); font-size: 21px; line-height: 1.2; }\r\n  .trv3-card p { margin: 12px 0 0; color: var(--ink); font-size: 15px; line-height: 1.55; }\r\n  .trv3-card-teal { --accent: var(--teal); }\r\n  .trv3-card-blue { --accent: var(--blue); }\r\n  .trv3-card-green { --accent: var(--green); }\r\n  .trv3-card-orange { --accent: var(--orange); }\r\n\r\n  .trv3-business { margin-top: 24px; }\r\n\r\n  .trv3-questions {\r\n    margin-top: 34px;\r\n    padding: 30px;\r\n    border-radius: 24px;\r\n    background: var(--soft);\r\n  }\r\n\r\n  .trv3-questions h2 { margin: 0 0 18px; color: var(--navy); font-size: 30px; }\r\n  .trv3-question { display: grid; grid-template-columns: 34px 1fr; gap: 14px; align-items: start; padding: 12px 0; }\r\n  .trv3-qnum {\r\n    width: 30px; height: 30px;\r\n    display: grid; place-items: center;\r\n    border-radius: 50%;\r\n    background: var(--teal);\r\n    color: #fff;\r\n    font-weight: 850;\r\n    font-size: 14px;\r\n  }\r\n  .trv3-question p { margin: 3px 0 0; color: var(--ink); font-size: 15px; }\r\n\r\n  .trv3-geo-grid { margin-top: 34px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }\r\n  .trv3-geo-card { min-height: 290px; }\r\n  .trv3-geo-card h3 { font-size: 24px; }\r\n  .trv3-geo-card .trv3-mini-line { margin-top: 7px; color: var(--ink); font-weight: 600; }\r\n\r\n  .trv3-visual {\r\n    height: 125px;\r\n    margin: 22px 0 18px;\r\n    border-radius: 16px;\r\n    border: 1px solid #dfe9ef;\r\n    background:\r\n      linear-gradient(90deg, rgba(36,105,201,.06) 1px, transparent 1px),\r\n      linear-gradient(rgba(36,105,201,.06) 1px, transparent 1px),\r\n      #f8fbfd;\r\n    background-size: 22px 22px;\r\n    position: relative;\r\n    overflow: hidden;\r\n  }\r\n\r\n  .trv3-road-a, .trv3-road-b, .trv3-route-line {\r\n    position: absolute;\r\n    height: 8px;\r\n    border-radius: 20px;\r\n    transform-origin: left center;\r\n  }\r\n  .trv3-road-a { width: 78%; left: 10%; top: 55%; background: #e5ebef; transform: rotate(-13deg); }\r\n  .trv3-road-b { width: 72%; left: 12%; top: 37%; background: #d7e6e8; transform: rotate(31deg); }\r\n  .trv3-route-line { width: 70%; left: 14%; top: 68%; height: 4px; background: var(--teal); transform: rotate(-23deg); }\r\n  .trv3-pin { position: absolute; width: 18px; height: 18px; border-radius: 50% 50% 50% 0; background: var(--navy); transform: rotate(-45deg); }\r\n  .trv3-pin:after { content: \"\"; position: absolute; width: 6px; height: 6px; border-radius: 50%; background: #fff; left: 6px; top: 6px; }\r\n  .trv3-pin.one { left: 24%; top: 24%; }\r\n  .trv3-pin.two { right: 18%; bottom: 22%; background: var(--teal); }\r\n\r\n  .trv3-callout {\r\n    margin-top: 20px;\r\n    padding: 18px 22px;\r\n    border-radius: 16px;\r\n    background: var(--navy);\r\n    color: #fff;\r\n    font-size: 16px;\r\n  }\r\n\r\n  .trv3-quality-top {\r\n    margin-top: 32px;\r\n    display: grid;\r\n    grid-template-columns: 1.25fr .75fr;\r\n    gap: 20px;\r\n    align-items: stretch;\r\n  }\r\n\r\n  .trv3-benchmark {\r\n    border: 1px solid var(--line);\r\n    border-radius: 22px;\r\n    padding: 24px;\r\n    background: #fff;\r\n  }\r\n\r\n  .trv3-benchmark-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\r\n  .trv3-benchmark-item { overflow: hidden; border: 1px solid #dbe5ec; border-radius: 14px; background: #f9fbfc; }\r\n  .trv3-benchmark-head { padding: 9px 12px; background: var(--navy); color: #fff; text-align: center; font-size: 13px; font-weight: 800; }\r\n  .trv3-benchmark-head.alt { background: var(--blue); }\r\n  .trv3-route-mock { height: 130px; position: relative; background: linear-gradient(135deg,#e6f0e8,#edf4f7); }\r\n  .trv3-route-mock svg { width: 100%; height: 100%; }\r\n  .trv3-score { padding: 8px 10px 12px; text-align: center; color: var(--navy); font-size: 14px; font-weight: 700; }\r\n  .trv3-score strong { display: block; font-size: 42px; line-height: 1; }\r\n  .trv3-benchmark-caption { margin: 18px 0 0; color: var(--muted); font-size: 14px; }\r\n\r\n  .trv3-quality-panel {\r\n    padding: 26px;\r\n    border-radius: 22px;\r\n    background: #eef3f7;\r\n  }\r\n  .trv3-quality-panel h3 { margin: 0; color: var(--navy); font-size: 28px; line-height: 1.1; }\r\n  .trv3-quality-item { display: grid; grid-template-columns: 9px 1fr; gap: 12px; margin-top: 20px; }\r\n  .trv3-quality-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--teal); margin-top: 8px; }\r\n  .trv3-quality-item strong { display: block; color: var(--ink); font-size: 15px; }\r\n  .trv3-quality-item p { margin: 2px 0 0; color: var(--muted); font-size: 14px; }\r\n\r\n  .trv3-trade { margin-top: 28px; }\r\n\r\n  .trv3-walk-flow {\r\n    margin-top: 22px;\r\n    padding: 22px 24px;\r\n    display: grid;\r\n    grid-template-columns: auto 1fr auto 1fr auto 1fr auto;\r\n    align-items: center;\r\n    gap: 14px;\r\n    border-radius: 18px;\r\n    background: var(--soft-teal);\r\n    color: var(--navy);\r\n    font-size: 14px;\r\n    font-weight: 800;\r\n  }\r\n  .trv3-flow-arrow { height: 3px; background: var(--teal); position: relative; }\r\n  .trv3-flow-arrow:after { content: \"\"; position: absolute; right: -1px; top: -5px; border-left: 10px solid var(--teal); border-top: 6px solid transparent; border-bottom: 6px solid transparent; }\r\n  .trv3-flow-icon { width: 28px; height: 28px; border-radius: 8px; background: var(--navy); display: inline-block; margin-right: 8px; vertical-align: middle; }\r\n  .trv3-flow-icon.park { border-radius: 50%; background: var(--teal); position: relative; }\r\n  .trv3-flow-icon.park:after { content: \"P\"; position: absolute; inset: 0; display: grid; place-items: center; color: #fff; font-size: 13px; }\r\n  .trv3-walk-dots { display: inline-flex; gap: 8px; margin-right: 8px; vertical-align: middle; }\r\n  .trv3-walk-dots i { width: 13px; height: 13px; border-radius: 50%; background: var(--teal); display: block; }\r\n\r\n  .trv3-learning-box {\r\n    margin-top: 34px;\r\n    padding: 30px;\r\n    border-radius: 24px;\r\n    background: var(--navy);\r\n  }\r\n  .trv3-learning-box h3 { margin: 0; color: #fff; font-size: 24px; }\r\n  .trv3-learning-flow { margin-top: 18px; display: grid; grid-template-columns: 1fr 30px 1fr 30px 1fr 30px 1fr; gap: 10px; align-items: center; }\r\n  .trv3-learning-step { padding: 20px 15px; border-radius: 16px; background: #fff; color: var(--navy); font-weight: 850; text-align: center; font-size: 17px; }\r\n  .trv3-learning-step:before { content: \"\"; width: 25px; height: 25px; display: inline-block; margin-right: 9px; border-radius: 50%; background: var(--step, var(--teal)); vertical-align: -7px; }\r\n  .trv3-learning-arrow { color: #fff; text-align: center; font-size: 30px; font-weight: 800; }\r\n  .trv3-learning-note { margin: 22px 0 0; color: #fff; text-align: center; font-size: 15px; }\r\n\r\n  .trv3-trust { margin-top: 22px; }\r\n\r\n  .trv3-engine-title { margin-top: 34px; color: var(--teal2); font-size: 16px; font-weight: 850; letter-spacing: .03em; text-transform: uppercase; }\r\n  .trv3-engine-box { margin-top: 14px; padding: 28px; border-radius: 22px; background: var(--soft); }\r\n  .trv3-engine-flow { display: grid; grid-template-columns: 1fr 44px 1fr 44px 1fr; gap: 12px; align-items: center; }\r\n  .trv3-engine-node { padding: 22px; border-radius: 16px; background: var(--soft-teal); text-align: center; }\r\n  .trv3-engine-node.core { background: var(--navy); color: #fff; }\r\n  .trv3-engine-node strong { display: block; color: var(--navy); font-size: 16px; }\r\n  .trv3-engine-node.core strong { color: #fff; }\r\n  .trv3-engine-node span { display: block; margin-top: 7px; font-size: 14px; }\r\n  .trv3-engine-arrow { color: var(--teal); text-align: center; font-size: 30px; }\r\n  .trv3-engine-stats { margin-top: 20px; display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }\r\n  .trv3-engine-stat { padding: 18px 16px; border-radius: 16px; background: var(--soft-blue); color: var(--navy); text-align: center; font-size: 13px; font-weight: 850; }\r\n  .trv3-engine-stat:nth-child(2) { background: var(--soft-teal); color: var(--teal2); }\r\n\r\n  .trv3-contact {\r\n    margin-top: 26px;\r\n    display: grid;\r\n    grid-template-columns: 1fr 1.25fr;\r\n    border: 1px solid var(--line);\r\n    border-radius: 22px;\r\n    overflow: hidden;\r\n    background: var(--soft-teal);\r\n  }\r\n  .trv3-contact-copy, .trv3-contact-person { padding: 28px; }\r\n  .trv3-contact-copy { border-right: 1px solid #cbdcdf; }\r\n  .trv3-contact h3 { margin: 0; color: var(--navy); font-size: 28px; }\r\n  .trv3-contact p { margin: 8px 0 0; color: var(--ink); font-size: 15px; }\r\n  .trv3-person-row { display: grid; grid-template-columns: 50px 1fr; gap: 16px; align-items: start; }\r\n  .trv3-avatar { width: 50px; height: 50px; border-radius: 50%; display: grid; place-items: center; background: var(--teal2); color: #fff; font-weight: 900; }\r\n  .trv3-person-row strong { display: block; color: var(--navy); font-size: 19px; }\r\n  .trv3-contact-link { display: block; margin-top: 5px; color: var(--ink) !important; text-decoration: none !important; font-size: 15px; }\r\n  .trv3-contact-link.phone { margin-top: 8px; color: var(--navy) !important; font-weight: 850; font-size: 17px; }\r\n\r\n  .trv3-final-cta {\r\n    margin-top: 18px;\r\n    padding: 24px 28px;\r\n    display: grid;\r\n    grid-template-columns: 1fr auto;\r\n    gap: 24px;\r\n    align-items: center;\r\n    border-radius: 18px;\r\n    background: var(--navy);\r\n    color: #fff;\r\n  }\r\n  .trv3-final-cta h3 { margin: 0; color: #fff; font-size: 28px; }\r\n  .trv3-final-cta p { margin: 6px 0 0; color: #fff; font-size: 14px; }\r\n  .trv3-final-cta a { color: var(--teal) !important; text-decoration: none !important; font-size: 18px; font-weight: 900; white-space: nowrap; }\r\n\r\n  .trv3-footer { padding: 30px 0 42px; }\r\n  .trv3-footer-inner { border-top: 1px solid var(--line); padding-top: 20px; display: flex; justify-content: space-between; gap: 18px; color: var(--muted); font-size: 13px; }\r\n  .trv3-footer a { color: var(--teal2) !important; text-decoration: none !important; font-weight: 850; }\r\n\r\n  @media (max-width: 980px) {\r\n    .trv3-grid-2, .trv3-grid-4, .trv3-geo-grid, .trv3-quality-top, .trv3-contact { grid-template-columns: 1fr; }\r\n    .trv3-contact-copy { border-right: 0; border-bottom: 1px solid #cbdcdf; }\r\n    .trv3-learning-flow { grid-template-columns: 1fr; }\r\n    .trv3-learning-arrow { transform: rotate(90deg); }\r\n    .trv3-engine-flow { grid-template-columns: 1fr; }\r\n    .trv3-engine-arrow { transform: rotate(90deg); }\r\n    .trv3-engine-stats { grid-template-columns: 1fr; }\r\n    .trv3-walk-flow { grid-template-columns: 1fr; text-align: center; }\r\n    .trv3-flow-arrow { width: 3px; height: 34px; margin: 0 auto; }\r\n    .trv3-flow-arrow:after { right: -5px; top: auto; bottom: -1px; border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 10px solid var(--teal); border-bottom: 0; }\r\n    .trv3-final-cta { grid-template-columns: 1fr; }\r\n  }\r\n\r\n  @media (max-width: 767px) {\r\n    .trv3-wrap { width: min(100% - 28px, 1180px); }\r\n    .trv3-section { padding: 62px 0; }\r\n    .trv3-hero { padding: 24px 0 58px; }\r\n    .trv3-brand { margin-bottom: 34px; font-size: 25px; }\r\n    .trv3-title { font-size: clamp(40px, 12vw, 58px); }\r\n    .trv3-overview, .trv3-card, .trv3-questions, .trv3-learning-box, .trv3-engine-box { padding: 22px; }\r\n    .trv3-proof { grid-template-columns: 1fr; gap: 10px; }\r\n    .trv3-benchmark-grid { grid-template-columns: 1fr; }\r\n    .trv3-final-cta a { white-space: normal; }\r\n    .trv3-footer-inner { flex-direction: column; }\r\n  }\r\n<\/style>\r\n\r\n<div class=\"trv3-page\">\r\n  <section class=\"trv3-hero\">\r\n    <div class=\"trv3-wrap\">\r\n      <div class=\"trv3-brand\" aria-label=\"TrendRoute\">\r\n        <svg class=\"trv3-brand-mark\" viewBox=\"0 0 90 45\" fill=\"none\" aria-hidden=\"true\">\r\n          <path d=\"M7 35L25 18L42 27L59 9L78 14\" stroke=\"#0AA3A6\" stroke-width=\"3.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n          <circle cx=\"7\" cy=\"35\" r=\"4\" fill=\"#2469C9\"\/><circle cx=\"25\" cy=\"18\" r=\"4\" fill=\"#0AA3A6\"\/><circle cx=\"42\" cy=\"27\" r=\"4\" fill=\"#0AA3A6\"\/><circle cx=\"59\" cy=\"9\" r=\"4\" fill=\"#2469C9\"\/><circle cx=\"78\" cy=\"14\" r=\"4\" fill=\"#0AA3A6\"\/>\r\n        <\/svg>\r\n        <span>TrendRoute<span class=\"dot\">.<\/span><\/span>\r\n      <\/div>\r\n\r\n      <h1 class=\"trv3-title\">AI-Powered Route Optimisation<br>for Real-World Logistics<\/h1>\r\n      <div class=\"trv3-hero-accent\">Beyond the shortest route.<\/div>\r\n      <p class=\"trv3-hero-sub\">Smarter routes. Better ETAs. Operational intelligence beyond the solver.<\/p>\r\n\r\n      <div class=\"trv3-overview\">\r\n        <h2>What is TrendRoute.ai?<\/h2>\r\n        <p>TrendRoute.ai is an API-first route optimisation engine and ETA prediction platform built for real-world delivery and fleet operations. It combines mathematical optimisation, geospatial intelligence, adaptive clustering, machine learning and operational feedback to generate routes that are efficient on paper and practical in daily operations.<\/p>\r\n        <p>The difference is that TrendRoute.ai does not treat route optimisation as only a question of which stop should come next. It also reasons about road access, walking, parking, operational constraints, route quality, ETA confidence and learning from execution.<\/p>\r\n      <\/div>\r\n\r\n      <div class=\"trv3-proof\">\r\n        <div class=\"trv3-proof-number\">2M+<\/div>\r\n        <div>\r\n          <strong>PROVEN IN NORDIC OPERATIONS<\/strong>\r\n          <span>More than 2 million deliveries in the Nordics have been performed using TrendRoute.ai routing plans.<\/span>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"trv3-business\">\r\n        <div class=\"trv3-kicker\">BUSINESS VALUE<\/div>\r\n        <div class=\"trv3-grid-4\">\r\n          <article class=\"trv3-card trv3-card-teal\">\r\n            <h3>Lower delivery cost<\/h3>\r\n            <p>Reduce unnecessary driving, walking, travel time, vehicle movement and avoidable operational waste.<\/p>\r\n          <\/article>\r\n          <article class=\"trv3-card trv3-card-blue\">\r\n            <h3>More automation<\/h3>\r\n            <p>Generate practical routes that need fewer manual corrections and shorten the planning cycle.<\/p>\r\n          <\/article>\r\n          <article class=\"trv3-card trv3-card-green\">\r\n            <h3>Better fleet productivity<\/h3>\r\n            <p>Improve courier and vehicle utilisation, route capacity and stops per hour while respecting constraints.<\/p>\r\n          <\/article>\r\n          <article class=\"trv3-card trv3-card-orange\">\r\n            <h3>More reliable ETAs<\/h3>\r\n            <p>Use ML-based ETA prediction that can adapt to customer operations and historical execution patterns.<\/p>\r\n          <\/article>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"trv3-questions\">\r\n        <h2>What generic route solvers often miss<\/h2>\r\n        <div class=\"trv3-question\"><div class=\"trv3-qnum\">1<\/div><p>Is the delivery coordinate connected to the correct accessible street, or is it mapped to another nearby street?<\/p><\/div>\r\n        <div class=\"trv3-question\"><div class=\"trv3-qnum\">2<\/div><p>Should the courier drive or walk among nearby stops, and where should the vehicle stop?<\/p><\/div>\r\n        <div class=\"trv3-question\"><div class=\"trv3-qnum\">3<\/div><p>Can this specific driver access this building or delivery, for example with an access code or physical key?<\/p><\/div>\r\n        <div class=\"trv3-question\"><div class=\"trv3-qnum\">4<\/div><p>Does the route shape make operational sense to dispatchers and couriers, or will they adjust it later?<\/p><\/div>\r\n        <div class=\"trv3-question\"><div class=\"trv3-qnum\">5<\/div><p>Can the engine learn when people repeatedly correct the same decision - for example a blocked street or the wrong entrance street for a building?<\/p><\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <section class=\"trv3-section trv3-section-soft\">\r\n    <div class=\"trv3-wrap\">\r\n      <div class=\"trv3-kicker\">GEOSPATIAL INTELLIGENCE<\/div>\r\n      <h2 class=\"trv3-h2\">Geospatial intelligence before the solver starts<\/h2>\r\n      <p class=\"trv3-lead\">A mathematically strong solver still produces the wrong result if the road access, map data or travel path is wrong.<\/p>\r\n\r\n      <div class=\"trv3-geo-grid\">\r\n        <article class=\"trv3-card trv3-card-teal trv3-geo-card\">\r\n          <h3>1. Snap-to-road validation<\/h3>\r\n          <p class=\"trv3-mini-line\">The closest road is not always the correct road.<\/p>\r\n          <div class=\"trv3-visual\" aria-hidden=\"true\"><span class=\"trv3-road-a\"><\/span><span class=\"trv3-road-b\"><\/span><span class=\"trv3-route-line\"><\/span><span class=\"trv3-pin one\"><\/span><span class=\"trv3-pin two\"><\/span><\/div>\r\n          <p>A delivery can be physically close to a highway while its real entrance is on a local street. TrendRoute.ai validates the mapped road before the location is passed to the optimiser, helping prevent a correct coordinate from becoming the wrong operational access point.<\/p>\r\n        <\/article>\r\n\r\n        <article class=\"trv3-card trv3-card-blue trv3-geo-card\">\r\n          <h3>2. Actual driving path, not just stop sequence<\/h3>\r\n          <p class=\"trv3-mini-line\">Stops that look close may be far apart by road.<\/p>\r\n          <div class=\"trv3-visual\" aria-hidden=\"true\">\r\n            <svg viewBox=\"0 0 500 125\" preserveAspectRatio=\"none\">\r\n              <path d=\"M28 93 C98 30, 120 112, 182 52 S284 104, 350 34 S430 58, 474 24\" fill=\"none\" stroke=\"#2469c9\" stroke-width=\"5\" stroke-linecap=\"round\"\/>\r\n              <path d=\"M28 93 L114 87 L149 33 L227 96 L301 84 L350 34 L474 24\" fill=\"none\" stroke=\"#0aa3a6\" stroke-width=\"3\" stroke-dasharray=\"5 7\"\/>\r\n            <\/svg>\r\n          <\/div>\r\n          <p>In the example above, stop 37 appears visually close to stops 28 and 29. But the actual road network requires a significant detour. Direction-aware planning explains why the optimiser may choose a sequence that looks less obvious on a straight-line map.<\/p>\r\n        <\/article>\r\n\r\n        <article class=\"trv3-card trv3-card-teal trv3-geo-card\" style=\"background:#e8f7f6;\">\r\n          <h3>3. Local map intelligence<\/h3>\r\n          <p>Route quality depends on the accuracy of the underlying road network. TrendRoute.ai can complement standard map data with relevant local sources - for example Trafikverket data in Sweden - and operational feedback to identify outdated restrictions, blocked streets or incorrect access information.<\/p>\r\n        <\/article>\r\n\r\n        <article class=\"trv3-card trv3-card-blue trv3-geo-card\" style=\"background:#edf4fd;\">\r\n          <h3>4. Explainability for dispatchers<\/h3>\r\n          <p>A route should not be judged only by the order of stops. Showing the real path between stops helps planners understand why a decision was made, reduces false &quot;solver errors&quot;, and gives dispatchers better information before they manually change a route.<\/p>\r\n        <\/article>\r\n      <\/div>\r\n\r\n      <div class=\"trv3-callout\">Good optimisation starts with good geospatial input. Optimising the wrong road access perfectly still produces the wrong operational route.<\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <section class=\"trv3-section\">\r\n    <div class=\"trv3-wrap\">\r\n      <div class=\"trv3-kicker\">OPERATIONAL ROUTE QUALITY<\/div>\r\n      <h2 class=\"trv3-h2\">A good route is more than the shortest route<\/h2>\r\n      <p class=\"trv3-lead\">Real-world route quality is multi-objective: distance and duration matter, but so do shape, risk, walking effort and operational acceptance.<\/p>\r\n\r\n      <div class=\"trv3-quality-top\">\r\n        <div class=\"trv3-benchmark\">\r\n          <div class=\"trv3-benchmark-grid\">\r\n            <div class=\"trv3-benchmark-item\">\r\n              <div class=\"trv3-benchmark-head\">Trendroute.ai<\/div>\r\n              <div class=\"trv3-route-mock\">\r\n                <svg viewBox=\"0 0 260 130\" fill=\"none\">\r\n                  <path d=\"M18 102L54 89L68 57L102 69L115 41L145 51L164 35L201 54L229 27\" stroke=\"#7757d7\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                  <g fill=\"#fff\" stroke=\"#7757d7\" stroke-width=\"2\"><circle cx=\"18\" cy=\"102\" r=\"4\"\/><circle cx=\"54\" cy=\"89\" r=\"4\"\/><circle cx=\"68\" cy=\"57\" r=\"4\"\/><circle cx=\"102\" cy=\"69\" r=\"4\"\/><circle cx=\"115\" cy=\"41\" r=\"4\"\/><circle cx=\"145\" cy=\"51\" r=\"4\"\/><circle cx=\"164\" cy=\"35\" r=\"4\"\/><circle cx=\"201\" cy=\"54\" r=\"4\"\/><circle cx=\"229\" cy=\"27\" r=\"4\"\/><\/g>\r\n                <\/svg>\r\n              <\/div>\r\n              <div class=\"trv3-score\">Route Quality:<strong>96.7<\/strong><\/div>\r\n            <\/div>\r\n            <div class=\"trv3-benchmark-item\">\r\n              <div class=\"trv3-benchmark-head alt\">OR-tool as baseline<\/div>\r\n              <div class=\"trv3-route-mock\">\r\n                <svg viewBox=\"0 0 260 130\" fill=\"none\">\r\n                  <path d=\"M18 103L115 38L47 84L166 92L85 63L210 72L152 29L230 23\" stroke=\"#7757d7\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n                  <g fill=\"#fff\" stroke=\"#7757d7\" stroke-width=\"2\"><circle cx=\"18\" cy=\"103\" r=\"4\"\/><circle cx=\"115\" cy=\"38\" r=\"4\"\/><circle cx=\"47\" cy=\"84\" r=\"4\"\/><circle cx=\"166\" cy=\"92\" r=\"4\"\/><circle cx=\"85\" cy=\"63\" r=\"4\"\/><circle cx=\"210\" cy=\"72\" r=\"4\"\/><circle cx=\"152\" cy=\"29\" r=\"4\"\/><circle cx=\"230\" cy=\"23\" r=\"4\"\/><\/g>\r\n                <\/svg>\r\n              <\/div>\r\n              <div class=\"trv3-score\">Route Quality:<strong>91.1<\/strong><\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <p class=\"trv3-benchmark-caption\">Route Quality adds another dimension to benchmarking: not only &quot;How short is the route?&quot; but also &quot;How well is it structured for real operations?&quot;<\/p>\r\n        <\/div>\r\n\r\n        <aside class=\"trv3-quality-panel\">\r\n          <h3>5. Route quality intelligence<\/h3>\r\n          <div class=\"trv3-quality-item\"><span class=\"trv3-quality-dot\"><\/span><div><strong>Geographic coherence<\/strong><p>Complete one area before repeatedly returning to it.<\/p><\/div><\/div>\r\n          <div class=\"trv3-quality-item\"><span class=\"trv3-quality-dot\"><\/span><div><strong>Cleaner route shape<\/strong><p>Reduce unnecessary zig-zags, crossings and backtracking.<\/p><\/div><\/div>\r\n          <div class=\"trv3-quality-item\"><span class=\"trv3-quality-dot\"><\/span><div><strong>Human acceptance<\/strong><p>Generate plans that are easier for dispatchers and couriers to understand and trust.<\/p><\/div><\/div>\r\n          <div class=\"trv3-quality-item\"><span class=\"trv3-quality-dot\"><\/span><div><strong>Beyond one metric<\/strong><p>Balance multiple operational factors rather than optimising only distance or duration.<\/p><\/div><\/div>\r\n        <\/aside>\r\n      <\/div>\r\n\r\n      <div class=\"trv3-trade\">\r\n        <div class=\"trv3-kicker\">REAL-WORLD TRADE-OFFS<\/div>\r\n        <div class=\"trv3-grid-2\">\r\n          <article class=\"trv3-card trv3-card-orange\"><h3>6. Shortest distance vs operational risk<\/h3><p>For long routes, a slightly longer sequence may complete more deliveries earlier in the shift. If traffic, an accident or a road closure occurs later, fewer undelivered parcels remain exposed to delay.<\/p><\/article>\r\n          <article class=\"trv3-card trv3-card-green\"><h3>7. Walk vs drive and parking intelligence<\/h3><p>In dense areas, it may be better to park once and serve several nearby stops on foot. TrendRoute.ai can reason about which stops to walk, which point should act as the parking location, and how to minimise unnecessary walking before the next driving leg.<\/p><\/article>\r\n          <article class=\"trv3-card trv3-card-teal\"><h3>8. Customer-specific operational constraints<\/h3><p>Real operations go beyond capacity and time windows. Deliveries can be grouped or assigned according to door keys, entrance codes, access permissions, vehicle capability, courier qualification or customer-specific rules.<\/p><\/article>\r\n          <article class=\"trv3-card trv3-card-blue\"><h3>9. Route shape vs minimum distance<\/h3><p>A visually cleaner route is not always the shortest route. TrendRoute.ai can evaluate both numerical efficiency and operational route shape instead of assuming that one metric always defines the best plan.<\/p><\/article>\r\n        <\/div>\r\n\r\n        <div class=\"trv3-walk-flow\">\r\n          <div><span class=\"trv3-flow-icon\"><\/span>Drive<\/div>\r\n          <span class=\"trv3-flow-arrow\"><\/span>\r\n          <div><span class=\"trv3-flow-icon park\"><\/span>Park once<\/div>\r\n          <span class=\"trv3-flow-arrow\"><\/span>\r\n          <div><span class=\"trv3-walk-dots\"><i><\/i><i><\/i><i><\/i><i><\/i><\/span>Walk nearby stops<\/div>\r\n          <span class=\"trv3-flow-arrow\"><\/span>\r\n          <div><span class=\"trv3-flow-icon\"><\/span>Continue route<\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <section class=\"trv3-section trv3-section-soft\">\r\n    <div class=\"trv3-wrap\">\r\n      <div class=\"trv3-kicker\">LEARNING, TRUST &amp; SCALE<\/div>\r\n      <h2 class=\"trv3-h2\">An optimisation engine that learns from operations<\/h2>\r\n      <p class=\"trv3-lead\">The future of routing is not only generating a plan. It is learning from how that plan is executed and improving the next one.<\/p>\r\n\r\n      <div class=\"trv3-learning-box\">\r\n        <h3>From one-time optimisation to continuous improvement<\/h3>\r\n        <div class=\"trv3-learning-flow\">\r\n          <div class=\"trv3-learning-step\" style=\"--step:#0aa3a6;\">Optimise<\/div>\r\n          <div class=\"trv3-learning-arrow\">\u2192<\/div>\r\n          <div class=\"trv3-learning-step\" style=\"--step:#2469c9;\">Execute<\/div>\r\n          <div class=\"trv3-learning-arrow\">\u2192<\/div>\r\n          <div class=\"trv3-learning-step\" style=\"--step:#ea8a20;\">Learn<\/div>\r\n          <div class=\"trv3-learning-arrow\">\u2192<\/div>\r\n          <div class=\"trv3-learning-step\" style=\"--step:#178c67;\">Improve<\/div>\r\n        <\/div>\r\n        <p class=\"trv3-learning-note\">Dispatcher corrections and execution data can become input for better future planning when feedback is enabled.<\/p>\r\n      <\/div>\r\n\r\n      <div class=\"trv3-grid-2 trv3-trust\">\r\n        <article class=\"trv3-card trv3-card-teal\">\r\n          <h3>10. Human trust in route sequence and ETA<\/h3>\r\n          <p>Even when the optimiser is mathematically strong, planners may change a route if the sequence looks wrong or the ETA feels unrealistic. Historical accuracy, route visibility, explainability and feedback help build confidence so good plans are not unnecessarily overridden.<\/p>\r\n        <\/article>\r\n        <article class=\"trv3-card trv3-card-blue\">\r\n          <h3>11. Learning from repeated corrections<\/h3>\r\n          <p>Couriers and route planners accumulate valuable local knowledge. If the same routing decision is repeatedly corrected, an intelligent engine should be able to recognise the pattern, investigate the cause and improve future plans instead of making the same mistake every day.<\/p>\r\n        <\/article>\r\n      <\/div>\r\n\r\n      <div class=\"trv3-engine-title\">COMPLETE ENGINE - NOT JUST A SOLVER<\/div>\r\n      <div class=\"trv3-engine-box\">\r\n        <div class=\"trv3-engine-flow\">\r\n          <div class=\"trv3-engine-node\"><strong>Your logistics platform<\/strong><span>Orders - vehicles - drivers - constraints<\/span><\/div>\r\n          <div class=\"trv3-engine-arrow\">\u2192<\/div>\r\n          <div class=\"trv3-engine-node core\"><strong>TrendRoute.ai engine<\/strong><span>Optimisation - ETA - geospatial - route quality<\/span><\/div>\r\n          <div class=\"trv3-engine-arrow\">\u2192<\/div>\r\n          <div class=\"trv3-engine-node\"><strong>Operational outputs<\/strong><span>Routes - assignments - ETAs - KPIs<\/span><\/div>\r\n        <\/div>\r\n        <div class=\"trv3-engine-stats\">\r\n          <div class=\"trv3-engine-stat\">1,000 stops in a few seconds<\/div>\r\n          <div class=\"trv3-engine-stat\">Large single routes with thousands of orders<\/div>\r\n          <div class=\"trv3-engine-stat\">REST API integration into existing workflows<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"trv3-contact\">\r\n        <div class=\"trv3-contact-copy\">\r\n          <h3>Talk to our team<\/h3>\r\n          <p>Curious about TrendRoute.ai or want to discuss how it can fit your operation?<\/p>\r\n        <\/div>\r\n        <div class=\"trv3-contact-person\">\r\n          <div class=\"trv3-person-row\">\r\n            <div class=\"trv3-avatar\">J<\/div>\r\n            <div>\r\n              <strong>Jennie&nbsp;&nbsp;|&nbsp;&nbsp;Sales Specialist<\/strong>\r\n              <a class=\"trv3-contact-link phone\" href=\"tel:+46707301096\">+46 70 730 10 96<\/a>\r\n              <a class=\"trv3-contact-link\" href=\"mailto:info@trendplus.se\">info@trendplus.se<\/a>\r\n              <a class=\"trv3-contact-link\" href=\"mailto:sales@trendplus.se\">sales@trendplus.se<\/a>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"trv3-final-cta\">\r\n        <div>\r\n          <h3>Test it. Compare it. Challenge it.<\/h3>\r\n          <p>Benchmark route quality, geospatial behaviour, ETA and operational constraints in realistic scenarios.<\/p>\r\n        <\/div>\r\n        <a href=\"https:\/\/trendroute.ai\/route-optimisation-sandbox\/\" target=\"_blank\" rel=\"noopener\">trendroute.ai\/sandbox<\/a>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <footer class=\"trv3-footer\">\r\n    <div class=\"trv3-wrap trv3-footer-inner\">\r\n      <div>TrendRoute.ai&nbsp;&nbsp;|&nbsp;&nbsp;AI-powered route optimisation for real-world logistics<\/div>\r\n      <a href=\"https:\/\/trendroute.ai\" target=\"_blank\" rel=\"noopener\">trendroute.ai<\/a>\r\n    <\/div>\r\n  <\/footer>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ab21d9d e-flex e-con-boxed e-con e-parent\" data-id=\"ab21d9d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e15bf0b elementor-widget elementor-widget-shortcode\" data-id=\"e15bf0b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">        <div id=\"tpgp-6743671\" class=\"tpgp-wrap\" data-pdf-id=\"1\" data-pdf-label=\"PDF 1\">\n            <button type=\"button\" class=\"tpgp-open\">Download PDF<\/button>\n\n            <div class=\"tpgp-modal\" aria-hidden=\"true\">\n                <div class=\"tpgp-backdrop\"><\/div>\n                <div class=\"tpgp-dialog\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"tpgp-6743671-title\">\n                    <button type=\"button\" class=\"tpgp-close\" aria-label=\"Close\">&times;<\/button>\n                    <h3 id=\"tpgp-6743671-title\">Get the PDF<\/h3>\n                    <form class=\"tpgp-form\" novalidate>\n                        <input type=\"hidden\" name=\"action\" value=\"trendplus_gated_pdf_submit\">\n                        <input type=\"hidden\" name=\"nonce\" value=\"07de616405\">\n                        <input type=\"hidden\" name=\"pdf_id\" value=\"1\">\n                        <input type=\"hidden\" name=\"page_url\" value=\"https:\/\/trendroute.ai\/en\/wp-json\/wp\/v2\/pages\/898\">\n                        <div class=\"tpgp-hp\" aria-hidden=\"true\"><label>Website<input type=\"text\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\"><\/label><\/div>\n\n                        <label>\n                            <span>Work email<\/span>\n                            <input type=\"email\" name=\"email\" autocomplete=\"email\" required>\n                        <\/label>\n\n                        <label>\n                            <span>Company name<\/span>\n                            <input type=\"text\" name=\"company\" autocomplete=\"organization\" required maxlength=\"190\">\n                        <\/label>\n\n                        <button type=\"submit\" class=\"tpgp-submit\">Download PDF<\/button>\n                        <p class=\"tpgp-privacy\">We\u2019ll use your details to provide the requested resource. See our Privacy Policy for more information.<\/p>\n                        <div class=\"tpgp-message\" role=\"status\" aria-live=\"polite\"><\/div>\n                    <\/form>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <style>\n            #tpgp-6743671 .tpgp-open,\n            #tpgp-6743671 .tpgp-submit{appearance:none;border:0;border-radius:8px;padding:13px 20px;cursor:pointer;font:inherit;font-weight:600;background:#111;color:#fff;line-height:1.2}\n            #tpgp-6743671 .tpgp-open:hover,\n            #tpgp-6743671 .tpgp-submit:hover{opacity:.88}\n            #tpgp-6743671 .tpgp-modal{display:none;position:fixed;inset:0;z-index:999999}\n            #tpgp-6743671 .tpgp-modal.is-open{display:block}\n            #tpgp-6743671 .tpgp-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.58)}\n            #tpgp-6743671 .tpgp-dialog{position:relative;z-index:2;width:min(92vw,480px);margin:10vh auto;background:#fff;color:#111;border-radius:14px;padding:28px;box-shadow:0 24px 80px rgba(0,0,0,.25)}\n            #tpgp-6743671 .tpgp-dialog h3{margin:0 34px 20px 0;font-size:26px;line-height:1.2}\n            #tpgp-6743671 .tpgp-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:32px;line-height:1;cursor:pointer;color:#555}\n            #tpgp-6743671 .tpgp-form label{display:block;margin:0 0 14px;font-weight:600}\n            #tpgp-6743671 .tpgp-hp{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}\n            #tpgp-6743671 .tpgp-form label span{display:block;margin-bottom:7px}\n            #tpgp-6743671 .tpgp-form input{width:100%;box-sizing:border-box;border:1px solid #d7d7d7;border-radius:8px;padding:12px 13px;font:inherit;background:#fff;color:#111}\n            #tpgp-6743671 .tpgp-submit{width:100%;margin-top:4px}\n            #tpgp-6743671 .tpgp-submit[disabled]{opacity:.55;cursor:wait}\n            #tpgp-6743671 .tpgp-privacy{font-size:12px;line-height:1.45;color:#666;margin:12px 0 0}\n            #tpgp-6743671 .tpgp-message{font-size:14px;margin-top:10px}\n            @media (max-width:600px){#tpgp-6743671 .tpgp-dialog{margin:6vh auto;padding:22px}}\n        <\/style>\n\n        <script>\n        (function(){\n            var root = document.getElementById(\"tpgp-6743671\");\n            if(!root) return;\n            var modal = root.querySelector('.tpgp-modal');\n            var openBtn = root.querySelector('.tpgp-open');\n            var closeBtn = root.querySelector('.tpgp-close');\n            var backdrop = root.querySelector('.tpgp-backdrop');\n            var form = root.querySelector('.tpgp-form');\n            var submitBtn = root.querySelector('.tpgp-submit');\n            var msg = root.querySelector('.tpgp-message');\n            var ajaxUrl = \"https:\\\/\\\/trendroute.ai\\\/wp-admin\\\/admin-ajax.php\";\n\n            function ga(name){\n                if(typeof window.gtag === 'function'){\n                    window.gtag('event', name, {\n                        pdf_id: root.getAttribute('data-pdf-id'),\n                        pdf_label: root.getAttribute('data-pdf-label')\n                    });\n                }\n            }\n            function openModal(){\n                modal.classList.add('is-open');\n                modal.setAttribute('aria-hidden','false');\n                document.documentElement.style.overflow='hidden';\n                ga('pdf_form_open');\n                setTimeout(function(){ var e=form.querySelector('input[name=\"email\"]'); if(e) e.focus(); }, 30);\n            }\n            function closeModal(){\n                modal.classList.remove('is-open');\n                modal.setAttribute('aria-hidden','true');\n                document.documentElement.style.overflow='';\n            }\n            openBtn.addEventListener('click', openModal);\n            closeBtn.addEventListener('click', closeModal);\n            backdrop.addEventListener('click', closeModal);\n            document.addEventListener('keydown', function(e){ if(e.key === 'Escape' && modal.classList.contains('is-open')) closeModal(); });\n\n            form.addEventListener('submit', function(e){\n                e.preventDefault();\n                msg.textContent = '';\n                if(!form.checkValidity()){\n                    form.reportValidity();\n                    return;\n                }\n                submitBtn.disabled = true;\n                submitBtn.textContent = 'Preparing\u2026';\n\n                fetch(ajaxUrl, {\n                    method: 'POST',\n                    credentials: 'same-origin',\n                    headers: {'Content-Type':'application\/x-www-form-urlencoded; charset=UTF-8'},\n                    body: new URLSearchParams(new FormData(form)).toString()\n                })\n                .then(function(r){ return r.json(); })\n                .then(function(data){\n                    if(!data || !data.success || !data.data || !data.data.download_url){\n                        throw new Error(data && data.data && data.data.message ? data.data.message : 'Could not prepare the download.');\n                    }\n                    ga('pdf_form_submit');\n                    ga('pdf_download');\n                    msg.textContent = 'Your download is starting\u2026';\n                    window.location.href = data.data.download_url;\n                    setTimeout(closeModal, 900);\n                })\n                .catch(function(err){\n                    msg.textContent = err.message || 'Something went wrong. Please try again.';\n                })\n                .finally(function(){\n                    submitBtn.disabled = false;\n                    submitBtn.textContent = 'Download PDF';\n                });\n            });\n        })();\n        <\/script>\n        <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>TrendRoute. AI-Powered Route Optimisationfor Real-World Logistics Beyond the shortest route. Smarter routes. Better ETAs. Operational intelligence beyond the solver. What is TrendRoute.ai? TrendRoute.ai is an API-first route optimisation engine and ETA prediction platform built for real-world delivery and fleet operations. It combines mathematical optimisation, geospatial intelligence, adaptive clustering, machine learning and operational feedback to generate [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-898","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Produkt\u00f6versikt: ruttoptimering och ETA | TrendRoute<\/title>\n<meta name=\"description\" content=\"Utforska TrendRoutes funktioner f\u00f6r ruttoptimering, ETA och analys. Se hur motorn st\u00f6der olika leveransfl\u00f6den och ansluts till er befintliga plattform via API.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/trendroute.ai\/en\/product-overview\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Produkt\u00f6versikt: ruttoptimering och ETA | TrendRoute\" \/>\n<meta property=\"og:description\" content=\"Utforska TrendRoutes funktioner f\u00f6r ruttoptimering, ETA och analys. Se hur motorn st\u00f6der olika leveransfl\u00f6den och ansluts till er befintliga plattform via API.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/trendroute.ai\/en\/product-overview\/\" \/>\n<meta property=\"og:site_name\" content=\"TrendRoute\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-21T07:35:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/trendroute.ai\/wp-content\/uploads\/2025\/02\/Untitled-design-56.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1120\" \/>\n\t<meta property=\"og:image:height\" content=\"1120\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/trendroute.ai\\\/product-overview\\\/\",\"url\":\"https:\\\/\\\/trendroute.ai\\\/product-overview\\\/\",\"name\":\"Produkt\u00f6versikt: ruttoptimering och ETA | TrendRoute\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/trendroute.ai\\\/#website\"},\"datePublished\":\"2026-08-12T08:06:33+00:00\",\"dateModified\":\"2026-09-21T07:35:12+00:00\",\"description\":\"Utforska TrendRoutes funktioner f\u00f6r ruttoptimering, ETA och analys. Se hur motorn st\u00f6der olika leveransfl\u00f6den och ansluts till er befintliga plattform via API.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/trendroute.ai\\\/product-overview\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/trendroute.ai\\\/product-overview\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/trendroute.ai\\\/product-overview\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/trendroute.ai\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Product Overview\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/trendroute.ai\\\/#website\",\"url\":\"https:\\\/\\\/trendroute.ai\\\/\",\"name\":\"TrendRoute\",\"description\":\"AI Route Optimization API for Last-Mile Delivery | TrendRoute\",\"publisher\":{\"@id\":\"https:\\\/\\\/trendroute.ai\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/trendroute.ai\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/trendroute.ai\\\/#organization\",\"name\":\"TrendRoute\",\"url\":\"https:\\\/\\\/trendroute.ai\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/trendroute.ai\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/trendroute.ai\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/Untitled-design-56.png\",\"contentUrl\":\"https:\\\/\\\/trendroute.ai\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/Untitled-design-56.png\",\"width\":1120,\"height\":1120,\"caption\":\"TrendRoute\"},\"image\":{\"@id\":\"https:\\\/\\\/trendroute.ai\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Produkt\u00f6versikt: ruttoptimering och ETA | TrendRoute","description":"Utforska TrendRoutes funktioner f\u00f6r ruttoptimering, ETA och analys. Se hur motorn st\u00f6der olika leveransfl\u00f6den och ansluts till er befintliga plattform via API.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/trendroute.ai\/en\/product-overview\/","og_locale":"en_US","og_type":"article","og_title":"Produkt\u00f6versikt: ruttoptimering och ETA | TrendRoute","og_description":"Utforska TrendRoutes funktioner f\u00f6r ruttoptimering, ETA och analys. Se hur motorn st\u00f6der olika leveransfl\u00f6den och ansluts till er befintliga plattform via API.","og_url":"https:\/\/trendroute.ai\/en\/product-overview\/","og_site_name":"TrendRoute","article_modified_time":"2026-09-21T07:35:12+00:00","og_image":[{"width":1120,"height":1120,"url":"https:\/\/trendroute.ai\/wp-content\/uploads\/2025\/02\/Untitled-design-56.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/trendroute.ai\/product-overview\/","url":"https:\/\/trendroute.ai\/product-overview\/","name":"Produkt\u00f6versikt: ruttoptimering och ETA | TrendRoute","isPartOf":{"@id":"https:\/\/trendroute.ai\/#website"},"datePublished":"2026-08-12T08:06:33+00:00","dateModified":"2026-09-21T07:35:12+00:00","description":"Utforska TrendRoutes funktioner f\u00f6r ruttoptimering, ETA och analys. Se hur motorn st\u00f6der olika leveransfl\u00f6den och ansluts till er befintliga plattform via API.","breadcrumb":{"@id":"https:\/\/trendroute.ai\/product-overview\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/trendroute.ai\/product-overview\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/trendroute.ai\/product-overview\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/trendroute.ai\/"},{"@type":"ListItem","position":2,"name":"Product Overview"}]},{"@type":"WebSite","@id":"https:\/\/trendroute.ai\/#website","url":"https:\/\/trendroute.ai\/","name":"TrendRoute","description":"AI Route Optimization API for Last-Mile Delivery | TrendRoute","publisher":{"@id":"https:\/\/trendroute.ai\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/trendroute.ai\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/trendroute.ai\/#organization","name":"TrendRoute","url":"https:\/\/trendroute.ai\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/trendroute.ai\/#\/schema\/logo\/image\/","url":"https:\/\/trendroute.ai\/wp-content\/uploads\/2025\/02\/Untitled-design-56.png","contentUrl":"https:\/\/trendroute.ai\/wp-content\/uploads\/2025\/02\/Untitled-design-56.png","width":1120,"height":1120,"caption":"TrendRoute"},"image":{"@id":"https:\/\/trendroute.ai\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/trendroute.ai\/en\/wp-json\/wp\/v2\/pages\/898","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/trendroute.ai\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/trendroute.ai\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/trendroute.ai\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/trendroute.ai\/en\/wp-json\/wp\/v2\/comments?post=898"}],"version-history":[{"count":20,"href":"https:\/\/trendroute.ai\/en\/wp-json\/wp\/v2\/pages\/898\/revisions"}],"predecessor-version":[{"id":1027,"href":"https:\/\/trendroute.ai\/en\/wp-json\/wp\/v2\/pages\/898\/revisions\/1027"}],"wp:attachment":[{"href":"https:\/\/trendroute.ai\/en\/wp-json\/wp\/v2\/media?parent=898"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}