Translate the generic vehicle-routing terms you know from other tools, such as VRP, depot, time windows, or pickup and delivery, into Kardinal’s own vocabulary.
If you’ve worked with another routing or optimization tool, the underlying problem is familiar — this maps the vocabulary the field generally uses to what it’s actually called in Kardinal’s Route Optimization API.
Generic vehicle-routing term
Kardinal equivalent
Vehicle Routing Problem (VRP)
A Plan — resources, orders, and any plan-level constraints or objectives. See Data model.
Route / trip
A tour in the solution (item.tours[]). See Glossary.
Depot
Not a first-class object — a resource’s departure/arrival position. See Depot vs. position.
Multi-depot VRP
Multiple resources with different departure/arrival positions inside the samePlan — not one Plan per depot. See Depot vs. position.
Hard time windows
authorizedTimeWindows — outside of it, the stop can’t be planned at all. See Hard vs soft constraints.
capacities — free-form named dimensions declared on both resources and stops. See Capacities.
VRP with Pickup and Delivery (VRPPD)
Pickup- and delivery-kind stops inside the same Order, in array order. See Order, stop.
Skill-based / heterogeneous fleet routing
requiredSkills (hard match) or preferredStopTags with maximizePreferredStops (soft preference). See Skills and assignments.
Multi-trip VRP (vehicle reloads mid-shift)
The depot-return pattern in Multi-trip tours — no dedicated field, built from capacities and stop kind.
Precedence constraints
Strict: the stops of one Order keep their array order, on one vehicle (see Order, stop). Between different orders the engine has no hard precedence; you can pin a sequence yourself with fixed assignments. Soft: the maximizePrecedences objective, with tagged pairs counted inside one tour (see maximizePrecedences).
Cost / objective function
An ordered objectives list, optimized in strict lexicographic priority — not a single weighted score. See Objectives and how they’re ranked.
Dynamic / live re-optimization
Submitting the complete plan again under the same id (PUT /plans/{planId}) — the engine updates the existing solution instead of solving from scratch. See Real-time re-optimization.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Kardinal Route Optimization API","description":"Documentation for Kardinal's self-service logistics optimization API. Create an account and get an API key at https://console.kardinal.ai.","colors":{"primary":"#4D6AFF","light":"#C5A4FF","dark":"#1B1813"},"logo":{"light":"https://mintcdn.com/kardinal/NzVu4E70FNnktm7V/images/Logo-blue-black.png?fit=max\u0026auto=format\u0026n=NzVu4E70FNnktm7V\u0026q=85\u0026s=877e4130943370aa62e85ed76662c9bc","dark":"https://mintcdn.com/kardinal/NzVu4E70FNnktm7V/images/Logo-blue-white.png?fit=max\u0026auto=format\u0026n=NzVu4E70FNnktm7V\u0026q=85\u0026s=65aa4a2a695f749b32d5fe890b8017ec","href":"/"},"favicon":"https://mintcdn.com/kardinal/NzVu4E70FNnktm7V/images/Icon-blue.png?fit=max\u0026auto=format\u0026n=NzVu4E70FNnktm7V\u0026q=85\u0026s=e8d6c833a0278ea081ea2f0507ed7cd5","navbar":{"links":[{"href":"mailto:customer.success@kardinal.ai","label":"Support"},{"href":"https://console.kardinal.ai","label":"Sign in"}],"primary":{"type":"button","label":"Get API key","href":"https://console.kardinal.ai/keys"}},"footer":{"socials":{"website":"https://kardinal.ai"}},"seo":{"organization":{"id":"https://kardinal.ai/#organization","name":"Kardinal","url":"https://kardinal.ai/","sameAs":["https://www.linkedin.com/company/kardinalai","https://github.com/KardinalAI"]},"indexing":"navigable"},"integrations":{"gtm":{"tagId":"GTM-W6RBWSX"}},"banner":{"content":"Every new account starts with 1,000 free credits. [Create your account](https://console.kardinal.ai)","dismissible":true},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","default":true,"href":""}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"kardinal","hasAudioNarration":false,"actualSubdomain":"kardinal","customDomains":["developers.kardinal.ai"],"gitSource":{"type":"gitlab","owner":"public-docs","repo":"mintlify","deployBranch":"main","contentDirectory":"","isPrivate":true,"projectId":682,"hostUrl":"https://gitlab.kardinal.ai","mountPath":"","label":""},"chroma":{"collectionId":"44807bae-0c5b-41f5-baf0-105d62e503c8","liveDeploymentHistoryId":"6ae45060aff4ffe6b582b403","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae45060aff4ffe6b582b403"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae45060aff4ffe6b582b403","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"en","tag":"Guides","count":16},{"language":"en","tag":"API Reference","count":14},{"language":"en","tag":"SDKs","count":12},{"language":"en","tag":"API","count":9},{"language":"en","tag":"Modeling examples by industry","count":8},{"language":"en","tag":"By industry","count":8},{"language":"en","tag":"Plan","count":7},{"language":"en","tag":"Advanced modeling","count":5},{"language":"en","tag":"Concepts","count":4},{"language":"en","tag":"Getting started","count":4}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"html.dark #topbar-cta-button .bg-primary-dark{background-color:rgb(var(--primary))}"}],"page":{"pagePath":"guides/vocabulary-mapping","slug":"/guides/vocabulary-mapping","pageMetadata":{"title":"Vocabulary mapping","description":"Translate the generic vehicle-routing terms you know from other tools, such as VRP, depot, time windows, or pickup and delivery, into Kardinal's own vocabulary.","mode":"wide","href":"/guides/vocabulary-mapping"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Translate the generic vehicle-routing terms you know from other tools, such as VRP, depot, time windows, or pickup and delivery, into Kardinal’s own vocabulary.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,li:`li`,p:`p`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Table}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`If you’ve worked with another routing or optimization tool, the underlying problem is familiar — this maps the vocabulary the field generally uses to what it’s actually called in Kardinal’s Route Optimization API.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Generic vehicle-routing term`}),_jsx(_components.th,{children:`Kardinal equivalent`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Vehicle Routing Problem (VRP)`}),_jsxs(_components.td,{children:[`A `,_jsx(_components.code,{children:`Plan`}),` — `,_jsx(_components.code,{children:`resources`}),`, `,_jsx(_components.code,{children:`orders`}),`, and any plan-level constraints or objectives. See `,_jsx(_components.a,{href:`/reference/data-model`,children:`Data model`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Route / trip`}),_jsxs(_components.td,{children:[`A `,_jsx(_components.code,{children:`tour`}),` in the solution (`,_jsx(_components.code,{children:`item.tours[]`}),`). See `,_jsx(_components.a,{href:`/reference/glossary`,children:`Glossary`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Depot`}),_jsxs(_components.td,{children:[`Not a first-class object — a resource’s `,_jsx(_components.code,{children:`departure`}),`/`,_jsx(_components.code,{children:`arrival`}),` position. See `,_jsx(_components.a,{href:`/reference/data-model#depot-vs-position`,children:`Depot vs. position`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Multi-depot VRP`}),_jsxs(_components.td,{children:[`Multiple resources with different `,_jsx(_components.code,{children:`departure`}),`/`,_jsx(_components.code,{children:`arrival`}),` positions inside the `,_jsx(_components.em,{children:`same`}),` `,_jsx(_components.code,{children:`Plan`}),` — not one `,_jsx(_components.code,{children:`Plan`}),` per depot. See `,_jsx(_components.a,{href:`/reference/data-model#depot-vs-position`,children:`Depot vs. position`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Hard time windows`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`authorizedTimeWindows`}),` — outside of it, the stop can’t be planned at all. See `,_jsx(_components.a,{href:`/concepts/hard-vs-soft-constraints#hard-constraints`,children:`Hard vs soft constraints`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Soft time windows / lateness penalty`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`preferredTimeWindows`}),`, tracked by the `,_jsx(_components.code,{children:`minimizeDelay`}),` objective. See `,_jsx(_components.a,{href:`/concepts/hard-vs-soft-constraints#soft-constraints`,children:`Hard vs soft constraints`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Capacitated VRP (CVRP)`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`capacities`}),` — free-form named dimensions declared on both resources and stops. See `,_jsx(_components.a,{href:`/reference/data-model#capacities`,children:`Capacities`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`VRP with Pickup and Delivery (VRPPD)`}),_jsxs(_components.td,{children:[`Pickup- and delivery-kind stops inside the same `,_jsx(_components.code,{children:`Order`}),`, in array order. See `,_jsx(_components.a,{href:`/reference/data-model#order-stop`,children:`Order, stop`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Skill-based / heterogeneous fleet routing`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`requiredSkills`}),` (hard match) or `,_jsx(_components.code,{children:`preferredStopTags`}),` with `,_jsx(_components.code,{children:`maximizePreferredStops`}),` (soft preference). See `,_jsx(_components.a,{href:`/guides/skills-and-assignments#reserve-an-order-for-qualified-resources`,children:`Skills and assignments`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Multi-trip VRP (vehicle reloads mid-shift)`}),_jsxs(_components.td,{children:[`The depot-return pattern in `,_jsx(_components.a,{href:`/guides/multi-trip-tours#the-core-mechanic-pair-each-delivery-with-its-own-depot-pickup`,children:`Multi-trip tours`}),` — no dedicated field, built from `,_jsx(_components.code,{children:`capacities`}),` and stop `,_jsx(_components.code,{children:`kind`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Precedence constraints`}),_jsxs(_components.td,{children:[`Strict: the stops of one `,_jsx(_components.code,{children:`Order`}),` keep their array order, on one vehicle (see `,_jsx(_components.a,{href:`/reference/data-model#order-stop`,children:`Order, stop`}),`). Between different orders the engine has no hard precedence; you can pin a sequence yourself with `,_jsx(_components.a,{href:`/guides/manual-assignment-and-supervision`,children:`fixed assignments`}),`. Soft: the `,_jsx(_components.code,{children:`maximizePrecedences`}),` objective, with tagged pairs counted inside one tour (see `,_jsx(_components.a,{href:`/concepts/objectives#maximizeprecedences`,children:`maximizePrecedences`}),`).`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Cost / objective function`}),_jsxs(_components.td,{children:[`An ordered `,_jsx(_components.code,{children:`objectives`}),` list, optimized in strict lexicographic priority — not a single weighted score. See `,_jsx(_components.a,{href:`/concepts/objectives`,children:`Objectives and how they’re ranked`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Dynamic / live re-optimization`}),_jsxs(_components.td,{children:[`Submitting the complete plan again under the same `,_jsx(_components.code,{children:`id`}),` (`,_jsx(_components.code,{children:`PUT /plans/{planId}`}),`) — the engine updates the existing solution instead of solving from scratch. See `,_jsx(_components.a,{href:`/guides/real-time-reoptimization`,children:`Real-time re-optimization`}),`.`]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`see-also`,children:`See also`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/reference/glossary`,children:`Glossary`}),` — the full list of Kardinal-specific terms.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/reference/data-model`,children:`Data model`}),` — an overview of `,_jsx(_components.code,{children:`Resource`}),`, `,_jsx(_components.code,{children:`Order`}),`, and `,_jsx(_components.code,{children:`Stop`}),`, each linking to its schema in the API reference.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/concepts/how-the-optimization-engine-works`,children:`How the optimization engine works`}),` — objectives and the optimization loop.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Vocabulary mapping","description":"Translate the generic vehicle-routing terms you know from other tools, such as VRP, depot, time windows, or pickup and delivery, into Kardinal's own vocabulary.","mode":"wide","href":"/guides/vocabulary-mapping"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"See also","slug":"see-also","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/kardinal/d55e84efee54b775/kd-att-docs.js"],"subdomain":"kardinal","siteName":"Kardinal Route Optimization API","title":"Vocabulary mapping - Kardinal Route Optimization API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/guides/vocabulary-mapping","matchLevel":0}}},"lastModified":"2026-10-30T08:02:28.032Z","originalFileLocation":"guides/vocabulary-mapping.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Translate the generic vehicle-routing terms you know from other tools, such as VRP, depot, time windows, or pickup and delivery, into Kardinal\u0026#x27;s own vocabulary.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Kardinal Route Optimization API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/kardinal/4VnUJAe0ozIKpmRZ/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/kardinal/4VnUJAe0ozIKpmRZ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/kardinal/4VnUJAe0ozIKpmRZ/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/kardinal/4VnUJAe0ozIKpmRZ/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/kardinal/4VnUJAe0ozIKpmRZ/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/kardinal/4VnUJAe0ozIKpmRZ/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/kardinal/4VnUJAe0ozIKpmRZ/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/kardinal/4VnUJAe0ozIKpmRZ/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/kardinal/4VnUJAe0ozIKpmRZ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Vocabulary mapping - Kardinal Route Optimization API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Translate the generic vehicle-routing terms you know from other tools, such as VRP, depot, time windows, or pickup and delivery, into Kardinal\u0026#x27;s own vocabulary.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Kardinal Route Optimization API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.kardinal.ai/guides/vocabulary-mapping\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://kardinal.mintlify.app/_mintlify/api/og/v2?division=Vocabulary+mapping\u0026amp;title=Vocabulary+mapping\u0026amp;description=Translate+the+generic+vehicle-routing+terms+you+know+from+other+tools%2C+such+as+VRP%2C+depot%2C+time+windows%2C+or+pickup+and+delivery%2C+into+Kardinal%27s+own+vocabulary.\u0026amp;theme=36328a05d721350f0182956e\u0026amp;signature=60a81329208dd734decbed084d61f9e55fa15dbcb87280c4e2833d1fa71390d6\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Vocabulary mapping - Kardinal Route Optimization API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Translate the generic vehicle-routing terms you know from other tools, such as VRP, depot, time windows, or pickup and delivery, into Kardinal\u0026#x27;s own vocabulary.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://kardinal.mintlify.app/_mintlify/api/og/v2?division=Vocabulary+mapping\u0026amp;title=Vocabulary+mapping\u0026amp;description=Translate+the+generic+vehicle-routing+terms+you+know+from+other+tools%2C+such+as+VRP%2C+depot%2C+time+windows%2C+or+pickup+and+delivery%2C+into+Kardinal%27s+own+vocabulary.\u0026amp;theme=36328a05d721350f0182956e\u0026amp;signature=60a81329208dd734decbed084d61f9e55fa15dbcb87280c4e2833d1fa71390d6\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/kardinal/4VnUJAe0ozIKpmRZ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Kardinal Route Optimization API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4D6AFF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developers.kardinal.ai/guides/vocabulary-mapping\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/guides/vocabulary-mapping.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://kardinal.ai/#organization\",\"name\":\"Kardinal\",\"url\":\"https://kardinal.ai/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/kardinal/NzVu4E70FNnktm7V/images/Logo-blue-black.png?fit=max\u0026auto=format\u0026n=NzVu4E70FNnktm7V\u0026q=85\u0026s=877e4130943370aa62e85ed76662c9bc\"},\"sameAs\":[\"https://www.linkedin.com/company/kardinalai\",\"https://github.com/KardinalAI\"]},{\"@type\":\"WebSite\",\"@id\":\"https://developers.kardinal.ai#website\",\"name\":\"Kardinal Route Optimization API\",\"url\":\"https://developers.kardinal.ai\",\"publisher\":{\"@id\":\"https://kardinal.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developers.kardinal.ai/guides/vocabulary-mapping#webpage\",\"url\":\"https://developers.kardinal.ai/guides/vocabulary-mapping\",\"name\":\"Vocabulary mapping\",\"description\":\"Translate the generic vehicle-routing terms you know from other tools, such as VRP, depot, time windows, or pickup and delivery, into Kardinal's own vocabulary.\",\"dateModified\":\"2026-10-30T08:02:28.032Z\",\"isPartOf\":{\"@id\":\"https://developers.kardinal.ai#website\"},\"breadcrumb\":{\"@id\":\"https://developers.kardinal.ai/guides/vocabulary-mapping#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.kardinal.ai/guides/vocabulary-mapping#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Kardinal Route Optimization API\",\"item\":\"https://developers.kardinal.ai\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Vocabulary mapping\",\"item\":\"https://developers.kardinal.ai/guides/vocabulary-mapping\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://developers.kardinal.ai/guides/vocabulary-mapping#article\",\"headline\":\"Vocabulary mapping\",\"name\":\"Vocabulary mapping\",\"description\":\"Translate the generic vehicle-routing terms you know from other tools, such as VRP, depot, time windows, or pickup and delivery, into Kardinal's own vocabulary.\",\"url\":\"https://developers.kardinal.ai/guides/vocabulary-mapping\",\"mainEntityOfPage\":{\"@id\":\"https://developers.kardinal.ai/guides/vocabulary-mapping#webpage\"},\"dateModified\":\"2026-10-30T08:02:28.032Z\",\"publisher\":{\"@id\":\"https://kardinal.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://developers.kardinal.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Kardinal Route Optimization API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Kardinal Route Optimization API","nav":{"global":null,"languages":[{"language":"en","default":true,"tabs":[{"tab":"Getting started","pages":[{"title":"Getting started","href":""}]},{"tab":"Concepts","pages":[{"title":"Concepts","href":"/concepts/how-the-optimization-engine-works"}]},{"tab":"Guides","groups":[{"group":"Vocabulary mapping","pages":[{"title":"Vocabulary mapping","mode":"wide","href":"/guides/vocabulary-mapping"}]},{"group":"Before modeling","pages":[{"title":"Requirements briefing checklist","description":"Questions to ask about an operation before modeling it as a Kardinal plan: business facts, like hard time windows or depot reloads, a data export can't show.","href":"/guides/requirements-briefing"}]},{"group":"Modeling business rules","pages":[{"title":"Time windows","href":"/guides/time-windows"},{"title":"Breaks","href":"/guides/breaks"},{"title":"Skills and assignments","href":"/guides/skills-and-assignments"},{"title":"Capacities","href":"/guides/capacities"}]},{"group":"Integration","pages":[{"title":"Authentication and API keys","href":"/guides/authentication"},{"title":"Moving from sandbox to production","href":"/guides/sandbox-to-production"},{"title":"Handling large volumes","href":"/guides/handling-large-volumes"}]},{"group":"Advanced modeling","pages":[{"title":"Modeling advanced constraints","href":"/guides/advanced-constraints"},{"title":"Cost modeling","href":"/guides/cost-modeling"},{"title":"Multi-trip tours (depot returns)","href":"/guides/multi-trip-tours"},{"title":"Swap-body and container-exchange orders","href":"/guides/swap-body-exchange"},{"title":"Handling infeasibility","href":"/guides/handling-infeasibility"}]},{"group":"Operations","pages":[{"title":"Real-time re-optimization","href":"/guides/real-time-reoptimization"},{"title":"Manual assignment and supervision","href":"/guides/manual-assignment-and-supervision"}]}]},{"tab":"SDKs","pages":[{"title":"SDKs","href":"/sdks/overview"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/plan/retrieve-the-list-of-plans-in-a-light-representation"}]},{"tab":"Modeling examples by industry","pages":[{"title":"Modeling examples by industry","href":"/case-studies/overview"}]}]}]},"basePath":"","title":"Vocabulary mapping - Kardinal Route Optimization API","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["10e4515597"],"chunks":["BannerMarkdown-CX_qQQOL.js","dist-BTZUMDnx.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-xpJZXxdP.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js"]}