The solver will try to find the best values to assign to each shift. In order to do this, constraints are used to
determine how good a solution is. These constraints represent different numbers used to score the solution. These
constraints are prioritised by being either HARD, MEDIUM or SOFT. All improvements in HARD constraints trump any
deterioration in MEDIUM or SOFT constraints. All improvements in MEDIUM constraints trump any deterioration in SOFT
constraints.
In this table is a summary of all constraints and what they mean, along with the priority level the solver assigns to
each. These priority levels are fixed internally by the solver and are not currently configurable through the request.
Name
Level
Description
Total Demand
HARD
The total required demand must be met (only relevant in fixed mode).
Max available resources
HARD
Only the maximum number of available resources for every resource type can be used.
Min Time Between Shift Start
HARD
Two shifts with different start times cannot have start times closer to each other than the minimum allowed time specified (optionally) by the user.
Under demand
MEDIUM
For every demand time block, the supply that is less than the demand must be minimised.
Over demand
MEDIUM
For every demand time block, the supply that is more than the demand must be minimised.
Under Demand Cumulative
MEDIUM
Only relevant in flexible mode. For every demand time block, the cumulative supply that is less than the demand’s min value must be minimised.
Time Wasted Cumulative
MEDIUM
Only relevant in flexible mode. Penalises cumulative supply that exceeds the demand’s max value (work that would be wasted).
As Late As Possible
SOFT
Only relevant in flexible mode. When a demand’s priorityRule is ALAP, try to plan shifts as late as possible while respecting the Over Demand and Under Demand constraints.
As Soon As Possible
SOFT
Only relevant in flexible mode. When a demand’s priorityRule is ASAP, try to plan shifts as soon as possible while respecting the Over Demand and Under Demand constraints.
{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"Solvice Docs","description":"Solvice API documentation for cloud-native optimization solvers. Build powerful route optimization, workforce scheduling, and resource allocation solutions with our VRP, shift planning, and clustering APIs.","colors":{"primary":"#0f62fe","light":"#0f62fe","dark":"#0f62fe"},"logo":{"light":"https://mintcdn.com/solvice-68592f22/1KJ_2AIotizI1Bng/logo/light.svg?fit=max\u0026auto=format\u0026n=1KJ_2AIotizI1Bng\u0026q=85\u0026s=e93560fee320491613107060a1afc094","dark":"https://mintcdn.com/solvice-68592f22/1KJ_2AIotizI1Bng/logo/dark.svg?fit=max\u0026auto=format\u0026n=1KJ_2AIotizI1Bng\u0026q=85\u0026s=1baeb15bf7826f571444a1d6a36fb31a"},"favicon":"https://mintcdn.com/solvice-68592f22/noMIHjSWP2Tg_tTz/favicon.png?fit=max\u0026auto=format\u0026n=noMIHjSWP2Tg_tTz\u0026q=85\u0026s=beff99df9d507e0794596b5437be687f","api":{"mdx":{"auth":{"method":"key","name":"Authorization"}}},"navbar":{"links":[{"href":"mailto:support@solvice.io","label":"Support"},{"href":"https://www.solvice.io","label":"Solvice website"}],"primary":{"type":"button","label":"Dashboard","href":"https://platform.solvice.io"}},"footer":{"socials":{"website":"https://www.solvice.io","x":"https://x.com/solvice_io","github":"https://github.com/solvice","linkedin":"https://linkedin.com/company/solvice"}},"seo":{"metatags":{"og:image":"link to your default meta tag image","charset":"UTF-8","viewport":"width=device-width, initial-scale=1.0","description":"Solvice API documentation for cloud-native optimization solvers. Build powerful route optimization, workforce scheduling, and resource allocation solutions with our VRP, shift planning, and clustering APIs.","keywords":"Route Optimization, Route API, Optimization API, Workforce Scheduling, Solvice","author":"Christophe Van Huele","robots":"index, follow","googlebot":"index, follow","google":"notranslate","google-site-verification":"verification_token"},"indexing":"all"},"integrations":{"ga4":{"measurementId":"G-2L8R78J6J9"}},"banner":{"content":"Solvice VRP API v3 is in beta. General availability (GA) is planned for January 2027.","dismissible":false},"contextual":{"options":["claude","copy"],"display":"header"},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Dashboard","icon":"book-open-cover","href":"https://platform.solvice.io"},{"anchor":"Website","icon":"planet-ringed","href":"https://www.solvice.io"},{"anchor":"Blog","icon":"newspaper","href":"https://www.solvice.io/blog/news"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"solvice-68592f22","hasAudioNarration":false,"actualSubdomain":"solvice-68592f22","customDomains":["docs.solvice.io"],"gitSource":{"type":"gitlab","owner":"solvice","repo":"solver2","projectId":44919668,"deployBranch":"main","contentDirectory":"mintlify","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae35beb9b40269dc6b4b8b0","collectionId":"524016b9-4bce-41ca-889d-c854269b0749","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae35beb9b40269dc6b4b8b0"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"REMOVE_BRANDING":{"status":"DISABLED"}},"buildId":"6ae35beb9b40269dc6b4b8b0","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"default","tag":"Guides","count":81},{"language":"default","tag":"VRP API","count":49},{"language":"default","tag":"Features","count":32},{"language":"default","tag":"Routing API","count":28},{"language":"default","tag":"API Reference","count":26},{"language":"default","tag":"Fill API","count":20},{"language":"default","tag":"Platform","count":10},{"language":"default","tag":"Examples","count":9},{"language":"default","tag":"Concepts","count":9},{"language":"default","tag":"Info","count":6}]},"assistantConfig":{"deflection":{"enabled":true,"email":"support@solvice.io","showHelpButton":true}},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"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":"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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"guides/create/schemas/response","slug":"/guides/create/schemas/response","pageMetadata":{"title":"CREATE response","description":null,"href":"/guides/create/schemas/response"},"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={code:`code`,p:`p`,pre:`pre`,span:`span`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`1`,id:`response`,children:`Response`}),`\n`,_jsx(_components.p,{children:`The solution to the Create request is the Create response:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`11`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"shifts\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"pattern\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"9:5\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"skill\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"skill\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"from\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2023-12-25T09:00:00\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"to\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2023-12-25T17:00:00\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"value\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`5`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`created-shift`,children:`Created Shift`}),`\n`,_jsx(_components.p,{children:`Used to represent the output. Each entry corresponds with a pattern that was given as input.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Property`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Type`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`pattern`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`string`}),_jsx(_components.td,{style:{textAlign:`left`},children:`The name of the corresponding pattern that was given as input.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`skill`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`string`}),_jsx(_components.td,{style:{textAlign:`left`},children:`The skill of the corresponding pattern.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`value`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`integer`}),_jsx(_components.td,{style:{textAlign:`left`},children:`The amount of people the solver chose to assign to this shift.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`from`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`datetime`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Shift start time`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`to`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`datetime`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Shift end time`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`objective`,children:`Objective`}),`\n`,_jsx(_components.p,{children:`The solver will try to find the best values to assign to each shift. In order to do this, constraints are used to\ndetermine how good a solution is. These constraints represent different numbers used to score the solution. These\nconstraints are prioritised by being either HARD, MEDIUM or SOFT. All improvements in HARD constraints trump any\ndeterioration in MEDIUM or SOFT constraints. All improvements in MEDIUM constraints trump any deterioration in SOFT\nconstraints.`}),`\n`,_jsx(Heading,{level:`2`,id:`constraints`,children:`Constraints`}),`\n`,_jsx(_components.p,{children:`In this table is a summary of all constraints and what they mean, along with the priority level the solver assigns to\neach. These priority levels are fixed internally by the solver and are not currently configurable through the request.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Name`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Level`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`Total Demand`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`HARD`}),_jsx(_components.td,{style:{textAlign:`left`},children:`The total required demand must be met (only relevant in fixed mode).`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`Max available resources`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`HARD`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Only the maximum number of available resources for every resource type can be used.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`Min Time Between Shift Start`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`HARD`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Two shifts with different start times cannot have start times closer to each other than the minimum allowed time specified (optionally) by the user.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`Under demand`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`MEDIUM`}),_jsx(_components.td,{style:{textAlign:`left`},children:`For every demand time block, the supply that is less than the demand must be minimised.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`Over demand`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`MEDIUM`}),_jsx(_components.td,{style:{textAlign:`left`},children:`For every demand time block, the supply that is more than the demand must be minimised.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`Under Demand Cumulative`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`MEDIUM`}),_jsxs(_components.td,{style:{textAlign:`left`},children:[`Only relevant in flexible mode. For every demand time block, the cumulative supply that is less than the demand’s `,_jsx(_components.code,{children:`min`}),` value must be minimised.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`Time Wasted Cumulative`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`MEDIUM`}),_jsxs(_components.td,{style:{textAlign:`left`},children:[`Only relevant in flexible mode. Penalises cumulative supply that exceeds the demand’s `,_jsx(_components.code,{children:`max`}),` value (work that would be wasted).`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`As Late As Possible`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`SOFT`}),_jsxs(_components.td,{style:{textAlign:`left`},children:[`Only relevant in flexible mode. When a demand’s `,_jsx(_components.code,{children:`priorityRule`}),` is `,_jsx(_components.code,{children:`ALAP`}),`, try to plan shifts as late as possible while respecting the `,_jsx(_components.code,{children:`Over Demand`}),` and `,_jsx(_components.code,{children:`Under Demand`}),` constraints.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`As Soon As Possible`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`SOFT`}),_jsxs(_components.td,{style:{textAlign:`left`},children:[`Only relevant in flexible mode. When a demand’s `,_jsx(_components.code,{children:`priorityRule`}),` is `,_jsx(_components.code,{children:`ASAP`}),`, try to plan shifts as soon as possible while respecting the `,_jsx(_components.code,{children:`Over Demand`}),` and `,_jsx(_components.code,{children:`Under Demand`}),` constraints.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`Costs`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`SOFT`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Cost based minimisation of the shifts.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`Preferred Shift Patterns`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`SOFT`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Preference based maximisation of the shifts.`})]})]})]}),`\n`,_jsx(Heading,{level:`1`,id:`explanation`,children:`Explanation`})]})}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":"CREATE response","description":null,"href":"/guides/create/schemas/response"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Response","slug":"response","depth":1,"children":[{"title":"Created Shift","slug":"created-shift","depth":3,"children":[]}]},{"title":"Objective","slug":"objective","depth":2,"children":[]},{"title":"Constraints","slug":"constraints","depth":2,"children":[]},{"title":"Explanation","slug":"explanation","depth":1,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"solvice-68592f22","siteName":"Solvice Docs","title":"CREATE response - Solvice Docs","navMaps":{"firstHrefInVersion":{"v2":{"href":"/guides/create/schemas/response","matchLevel":0},"v3":{"href":"/guides/platform/platform","matchLevel":4}},"firstHrefInLanguage":{}},"lastModified":"2026-10-29T14:45:18.839Z","originalFileLocation":"guides/create/schemas/response.mdx"},"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=\"Solvice API documentation for cloud-native optimization solvers. Build powerful route optimization, workforce scheduling, and resource allocation solutions with our VRP, shift planning, and clustering APIs.\">\u003cmeta data-mint-head name=\"keywords\" content=\"Route Optimization, Route API, Optimization API, Workforce Scheduling, Solvice\">\u003cmeta data-mint-head name=\"application-name\" content=\"Solvice Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index, follow\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/solvice-68592f22/wZOj_k-mDHXJa5jh/_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/solvice-68592f22/wZOj_k-mDHXJa5jh/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/solvice-68592f22/wZOj_k-mDHXJa5jh/_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/solvice-68592f22/wZOj_k-mDHXJa5jh/_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/solvice-68592f22/wZOj_k-mDHXJa5jh/_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/solvice-68592f22/wZOj_k-mDHXJa5jh/_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/solvice-68592f22/wZOj_k-mDHXJa5jh/_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/solvice-68592f22/wZOj_k-mDHXJa5jh/_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/solvice-68592f22/wZOj_k-mDHXJa5jh/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"CREATE response - Solvice Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Solvice API documentation for cloud-native optimization solvers. Build powerful route optimization, workforce scheduling, and resource allocation solutions with our VRP, shift planning, and clustering APIs.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Solvice Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.solvice.io/guides/create/schemas/response\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://solvice-68592f22.mintlify.app/link to your default meta tag image\">\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=\"CREATE response - Solvice Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Solvice API documentation for cloud-native optimization solvers. Build powerful route optimization, workforce scheduling, and resource allocation solutions with our VRP, shift planning, and clustering APIs.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://solvice-68592f22.mintlify.app/link to your default meta tag image\">\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/solvice-68592f22/wZOj_k-mDHXJa5jh/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Solvice Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0f62fe\">\u003cmeta data-mint-head name=\"charset\" content=\"UTF-8\">\u003cmeta data-mint-head name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\u003cmeta data-mint-head name=\"author\" content=\"Christophe Van Huele\">\u003cmeta data-mint-head name=\"googlebot\" content=\"index, follow\">\u003cmeta data-mint-head name=\"google\" content=\"notranslate\">\u003cmeta data-mint-head name=\"google-site-verification\" content=\"verification_token\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.solvice.io/guides/create/schemas/response\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/guides/create/schemas/response.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.solvice.io/#organization\",\"name\":\"Solvice Docs\",\"url\":\"https://docs.solvice.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/solvice-68592f22/1KJ_2AIotizI1Bng/logo/light.svg?fit=max\u0026auto=format\u0026n=1KJ_2AIotizI1Bng\u0026q=85\u0026s=e93560fee320491613107060a1afc094\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.solvice.io#website\",\"name\":\"Solvice Docs\",\"url\":\"https://docs.solvice.io\",\"publisher\":{\"@id\":\"https://docs.solvice.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.solvice.io/guides/create/schemas/response#webpage\",\"url\":\"https://docs.solvice.io/guides/create/schemas/response\",\"name\":\"CREATE response\",\"dateModified\":\"2026-10-29T14:45:18.839Z\",\"isPartOf\":{\"@id\":\"https://docs.solvice.io#website\"}},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.solvice.io/guides/create/schemas/response#article\",\"headline\":\"CREATE response\",\"name\":\"CREATE response\",\"url\":\"https://docs.solvice.io/guides/create/schemas/response\",\"mainEntityOfPage\":{\"@id\":\"https://docs.solvice.io/guides/create/schemas/response#webpage\"},\"image\":\"https://docs.solvice.io/link%20to%20your%20default%20meta%20tag%20image\",\"dateModified\":\"2026-10-29T14:45:18.839Z\",\"publisher\":{\"@id\":\"https://docs.solvice.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.solvice.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Solvice Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Solvice Docs","nav":{"global":{"anchors":[{"anchor":"Dashboard","icon":"book-open-cover","href":"https://platform.solvice.io"},{"anchor":"Website","icon":"planet-ringed","href":"https://www.solvice.io"},{"anchor":"Blog","icon":"newspaper","href":"https://www.solvice.io/blog/news"}]},"versions":[{"version":"v3","pages":[{"title":"v3","href":"/guides/platform/platform"}]},{"version":"v2","default":true,"tabs":[{"tab":"Guides","groups":[{"group":"Platform","pages":[{"title":"Platform Overview","href":"/guides/platform/platform"},{"title":"Scheduling Framework","href":"/guides/platform/scheduling-framework"},{"title":"Authentication","href":"/guides/platform/authentication"},{"group":"SDKs","pages":[{"title":"Overview","href":"/guides/platform/sdks"},{"title":"TypeScript SDK","icon":"js","href":"/guides/platform/sdks/typescript"},{"title":"Python SDK","icon":"python","href":"/guides/platform/sdks/python"}]},{"title":"Machine Learning","href":"/guides/platform/machine-learning"},{"title":"Introduction to Optimization","href":"/guides/platform/optimisation"},{"title":"Explainable AI","href":"/guides/platform/explainable-ai"},{"title":"Claude \u0026 MCP","href":"/guides/platform/claude-mcp"}]},{"group":"VRP API","pages":[{"title":"Quickstart","href":"/guides/vrp/quickstart"},{"title":"API Overview","href":"/guides/vrp/overview"},{"title":"Roadmap","href":"/guides/vrp/roadmap"},{"group":"Concepts","pages":[{"title":"Scoring System","href":"/guides/vrp/concepts/scoring-explanation"},{"title":"VRP Constraint System","href":"/guides/vrp/concepts/constraint-system"},{"title":"Constraints Reference","href":"/guides/vrp/concepts/constraints-reference"},{"title":"Distance Matrix Integration","href":"/guides/vrp/concepts/distance-matrices"}]},{"group":"Features","pages":[{"title":"Capacity Management","href":"/guides/vrp/features/capacity-management"},{"title":"Advanced Time \u0026 Scheduling","href":"/guides/vrp/features/time-scheduling-advanced"},{"title":"Load Compatibility","href":"/guides/vrp/features/load-compatibility"},{"title":"Depot management","href":"/guides/vrp/features/depot-management"},{"title":"Real-Time Scheduling","href":"/guides/vrp/features/real-time-scheduling"},{"title":"Time Windows","href":"/guides/vrp/features/window"},{"title":"Job Relations","href":"/guides/vrp/features/job-relations"},{"title":"Resource Management","href":"/guides/vrp/features/resource-management"},{"title":"Cost Optimization","href":"/guides/vrp/features/cost-optimization"},{"title":"Job Priority","href":"/guides/vrp/features/priority"},{"title":"Advanced Constraints","href":"/guides/vrp/features/advanced-constraints"},{"title":"Break Management","href":"/guides/vrp/features/break-management"},{"title":"Tag \u0026 Ranking System","href":"/guides/vrp/features/tag-ranking"},{"title":"Resource Ranking","href":"/guides/vrp/features/ranking"},{"title":"Resource Proficiency","href":"/guides/vrp/features/proficiency"},{"title":"Inherited Location","href":"/guides/vrp/features/inherited-location"},{"title":"Period Rules","href":"/guides/vrp/features/rules"},{"title":"Advanced Time Features","href":"/guides/vrp/features/advanced-time-features"},{"title":"Balancing workload","href":"/guides/vrp/features/fairness"},{"title":"Job Complexity","href":"/guides/vrp/features/job-complexity"},{"title":"Resumable Jobs","href":"/guides/vrp/features/resumable-jobs"},{"title":"Unassigned Reasons","href":"/guides/vrp/features/unassigned-reasons"},{"title":"Job Type Capacity Constraints","href":"/guides/vrp/features/job-type-capacity"},{"title":"External Distance Matrices","href":"/guides/vrp/features/custom-dm"}]},{"group":"Examples","pages":[{"title":"Basic Routing","href":"/guides/vrp/examples/basic-routing-real-distances"},{"title":"Multi-Stop Delivery","href":"/guides/vrp/examples/multi-stop-delivery"},{"title":"Last Mile Delivery","href":"/guides/vrp/examples/last-mile-delivery"},{"title":"Service Appointments","href":"/guides/vrp/examples/service-appointments"},{"title":"Home Health Care","href":"/guides/vrp/examples/home-health-care"}]},{"group":"Integrations","pages":[{"title":"Dynamics 365 Field Service","href":"/guides/vrp/integrations/msft"}]},{"group":"Schemas","pages":[{"title":"Request","href":"/guides/vrp/schemas/request"},{"title":"Solution","href":"/guides/vrp/schemas/solution"},{"title":"Explanation","href":"/guides/vrp/schemas/explanation"}]}]},{"group":"Fill API","pages":[{"title":"Quickstart","href":"/guides/fill/quickstart"},{"title":"API Overview","href":"/guides/fill/overview"},{"group":"Examples","pages":[{"title":"Healthcare Scheduling","href":"/guides/fill/examples/healthcare"},{"title":"Retail Staffing","href":"/guides/fill/examples/retail"},{"title":"Hospitality Scheduling","href":"/guides/fill/examples/hospitality"}]},{"group":"Features","pages":[{"title":"Demand-Based Scheduling","href":"/guides/fill/examples/demand"},{"title":"Solution Explanation","href":"/guides/fill/examples/explain"},{"title":"Fair Workload Distribution","href":"/guides/fill/examples/fairness"},{"title":"Lock Assignments","href":"/guides/fill/examples/lock"},{"title":"Shift Patterns","href":"/guides/fill/examples/pattern"},{"title":"Rest Requirements","href":"/guides/fill/examples/rest"},{"title":"Rules and Constraints","href":"/guides/fill/examples/rule"},{"title":"Weekend Definition","href":"/guides/fill/examples/weekend"}]},{"group":"Schemas","pages":[{"title":"Request Schema","href":"/guides/fill/schemas/request"},{"title":"Response Schema","href":"/guides/fill/schemas/response"}]}]}]},{"tab":"API Reference","groups":[{"group":"VRP API","pages":[{"title":"VRP API Reference","href":"/api-reference/vrp/introduction"},{"group":"Info","pages":[{"title":"Status","openapi":"vrp GET /v2/vrp/jobs/{id}/status","href":"/api-reference/vrp/status"},{"title":"Solution","openapi":"vrp GET /v2/vrp/jobs/{id}/solution","href":"/api-reference/vrp/solution"},{"title":"Explanation","openapi":"vrp GET /v2/vrp/jobs/{id}/explanation","href":"/api-reference/vrp/explanation"}]},{"group":"Actions","pages":[{"title":"Solve VRP","openapi":"vrp POST /v2/vrp/solve","href":"/api-reference/vrp/solve"},{"title":"Evaluate VRP","openapi":"vrp POST /v2/vrp/evaluate","href":"/api-reference/vrp/evaluate"},{"title":"Suggest VRP","openapi":"vrp POST /v2/vrp/suggest","href":"/api-reference/vrp/suggest"},{"title":"Sync Solve VRP","openapi":"vrp POST /v2/vrp/sync/solve","href":"/api-reference/vrp/sync-solve"},{"title":"Sync Suggest VRP","openapi":"vrp POST /v2/vrp/sync/suggest","href":"/api-reference/vrp/sync-suggest"}]}]},{"group":"Fill API","pages":[{"title":"Fill API Reference","href":"/api-reference/fill/introduction"},{"group":"Info","pages":[{"title":"Fill Job Status","openapi":"fill GET /v2/fill/jobs/{id}/status","href":"/api-reference/fill/status"},{"title":"Fill Solution","openapi":"fill GET /v2/fill/jobs/{id}/solution","href":"/api-reference/fill/solution"},{"title":"Fill Explanation","openapi":"fill GET /v2/fill/jobs/{id}/explanation","href":"/api-reference/fill/explanation"}]},{"group":"Actions","pages":[{"title":"Solve Fill","openapi":"fill POST /v2/fill/solve","href":"/api-reference/fill/solve"}]}]}]},{"tab":"Changelog","groups":[{"group":"Changelogs","pages":[{"title":"VRP API Changelog","mode":"wide","href":"/changelog/vrp"},{"title":"Fill API Changelog","mode":"wide","href":"/changelog/fill"}]}]}]}]},"title":"CREATE response - Solvice Docs","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":[],"chunks":[]}