{"info":{"_postman_id":"49338fb8-9897-5cdf-0ffe-ff7c4bb00c61","name":"First API","description":"<html><head></head><body><h1 id=\"making-a-request\">Making a Request</h1>\n<p><strong>Auth tokens are different between sandbox and production environments.</strong></p>\n<h4 id=\"auth\">Auth:</h4>\n<p>First uses Basic Authentication. Your 'Authorization' header should look something like this <strong>(the 'Bearer' prefix is optional, and won't make a difference to the request):</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    Authorization: Bearer YOUR_API_KEY\n\n</code></pre><h4 id=\"content-type\">Content Type</h4>\n<p>All API request/response bodies are JSON - the content-type header for all requests must be set to application/json.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    Content-Type: application/json\n\n</code></pre><h4 id=\"root-url\">Root URL</h4>\n<p>All requests to First's APIs should be HTTPS, and to either our sandbox or production environment, under the /api namespace.</p>\n<ul>\n<li><p>Production: <a href=\"https://\">https://api.firstdelivery.com/api/</a></p>\n<ul>\n<li>Dashboard is available at <a href=\"https://\">https://dispatch.firstdelivery.com</a></li>\n</ul>\n</li>\n<li><p>Sandbox: <a href=\"https://\">https://sandbox.firstdelivery.com/api/</a></p>\n<ul>\n<li>Dashboard is available at: <a href=\"https://\">https://dispatch-v3-sandbox.herokuapp.com/</a></li>\n</ul>\n</li>\n</ul>\n<p>Sandbox data and authorization are ephemeral and subject to change every few months. Reach out if you need to be re-granted sandbox access!</p>\n<h1 id=\"firstdelivery-api-webhook-best-practices\">FirstDelivery API &amp; Webhook Best Practices</h1>\n<p>FirstDelivery acts strictly as a <strong>pipe</strong>: we normalize and forward provider webhooks without altering semantics. We do <strong>not</strong> guarantee ordering, deduplication, or completeness of events.</p>\n<p>For any <strong>critical business logic</strong> (e.g., order state machines, customer notifications, financial settlement), <strong>you must combine webhook signals with polling APIs</strong> to reconcile truth.</p>\n<hr>\n<h2 id=\"1-api-request-resilience\">1. API Request Resilience</h2>\n<ul>\n<li><p><strong>Retry with backoff</strong>: use <strong>exponential backoff + jitter</strong>. Example: 1s → 2s → 4s (up to 3 retries).</p>\n</li>\n<li><p><strong>Respect HTTP codes</strong>:</p>\n<ul>\n<li><p><code>429</code> → back off, honor <code>Retry-After</code>.</p>\n</li>\n<li><p><code>5xx</code> → retry.</p>\n</li>\n<li><p><code>4xx</code> (client error) → do not retry.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Timeouts</strong>: set sensible per-request deadlines.</p>\n</li>\n<li><p><strong>Idempotency</strong>: when possible, include idempotency keys to make retries safe.</p>\n</li>\n<li><p><strong>Transient faults</strong>: assume intermittent provider/network issues and design for recovery.</p>\n</li>\n</ul>\n<p>References:</p>\n<ul>\n<li><p><a href=\"https://developer.doordash.com/en-US/docs/drive_classic/reference/retry_pattern/\">DoorDash Retry Pattern</a></p>\n</li>\n<li><p><a href=\"https://learn.microsoft.com/en-us/azure/architecture/best-practices/transient-faults\">MS Azure: Transient Faults</a></p>\n</li>\n</ul>\n<hr>\n<h2 id=\"2-webhook-handling\">2. Webhook Handling</h2>\n<h3 id=\"nature-of-provider-webhooks\">Nature of Provider Webhooks</h3>\n<ul>\n<li><p>Delivered <strong>at-least-once</strong>: duplicates possible.</p>\n</li>\n<li><p>Can arrive <strong>out of sequence</strong> (e.g., <code>DELIVERED</code> before <code>PICKED_UP</code>).</p>\n</li>\n<li><p>May be <strong>delayed</strong> or <strong>missed entirely</strong> during provider outages or network issues.</p>\n</li>\n<li><p>Providers can retry aggressively if you don’t respond with 2xx quickly.</p>\n</li>\n</ul>\n<h3 id=\"best-practices\">Best Practices</h3>\n<ul>\n<li><p><strong>Acknowledge fast</strong>: return 2xx immediately, enqueue for async processing.</p>\n</li>\n<li><p><strong>Idempotency</strong>: dedupe using event IDs (if available) or payload hashes.</p>\n</li>\n<li><p><strong>Do not assume ordering</strong>: always compare event timestamp/state against your current record before applying updates.</p>\n</li>\n<li><p><strong>Expect gaps</strong>: webhooks alone are never authoritative.</p>\n</li>\n</ul>\n<hr>\n<h2 id=\"3-polling--reconciliation-mandatory\">3. Polling &amp; Reconciliation (Mandatory)</h2>\n<p>Because events may be missed, delayed, or reordered:</p>\n<ul>\n<li><p>Implement a <strong>polling mechanism</strong> to fetch authoritative order state.</p>\n</li>\n<li><p>Use polling to <strong>reconcile</strong> with webhook events regularly.</p>\n</li>\n<li><p>Design downstream logic to <strong>merge webhook signals + polled truth</strong>.</p>\n</li>\n</ul>\n<p>This is essential for <strong>business-critical workflows</strong> (order fulfillment, billing, compliance).</p>\n<hr>\n<h2 id=\"4-summary\">4. Summary</h2>\n<ul>\n<li><p>Retries: exponential backoff, honor rate limits, don’t retry 4xx.</p>\n</li>\n<li><p>Webhooks: at-least-once, out-of-order, delayed, possibly dropped.</p>\n</li>\n<li><p>Polling: mandatory to reconcile truth.</p>\n</li>\n</ul>\n<p><strong>Webhook payloads are hints, not the source of truth.</strong></p>\n<h1 id=\"responses-and-status-codes\">Responses and Status Codes</h1>\n<p>Responses typically follow the format of the previous query, response codes follow typical HTTP best practices:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status Code</th>\n<th>Name</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>200/201</td>\n<td>Success</td>\n<td>Everything worked as expected 🎉</td>\n</tr>\n<tr>\n<td>400</td>\n<td>Bad request</td>\n<td>The request didn’t work, often because a required parameter is missing or the content-type hasn’t been set e.g. an incorrect JSON request</td>\n</tr>\n<tr>\n<td>401</td>\n<td>Unauthorized</td>\n<td>Authorization token is invalid, or being used in the wrong environment</td>\n</tr>\n<tr>\n<td>403</td>\n<td>Forbidden</td>\n<td>Requesting user lacks permission to perform</td>\n</tr>\n<tr>\n<td>404</td>\n<td>Not found</td>\n<td>Resource not available on requested endpoint</td>\n</tr>\n<tr>\n<td>429</td>\n<td>Too many requests</td>\n<td>Rate limiter kicked in, scale back request frequency</td>\n</tr>\n<tr>\n<td>5xx</td>\n<td>Server error</td>\n<td>Something went wrong on our end - there will be a TraceID in the response you can send us to help figure out the issue!</td>\n</tr>\n</tbody>\n</table>\n</div></body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Making a Request","slug":"making-a-request"},{"content":"FirstDelivery API & Webhook Best Practices","slug":"firstdelivery-api-webhook-best-practices"},{"content":"Responses and Status Codes","slug":"responses-and-status-codes"}],"owner":"2850328","collectionId":"49338fb8-9897-5cdf-0ffe-ff7c4bb00c61","publishedId":"RW87qVSS","public":true,"customColor":{"top-bar":"1B273F","right-sidebar":"303030","highlight":"52AE68"},"publishDate":"2024-02-12T17:54:07.000Z"},"item":[{"name":"Platform API","item":[{"name":"Territories","item":[{"name":"Create Territory","event":[{"listen":"test","script":{"id":"e8a24196-6d64-404a-a8ec-12d546e913b4","exec":["","pm.test(\"Successful POST request\", function () {","    pm.expect(pm.response.code).to.be.oneOf([200, 202]);","}); "],"type":"text/javascript"}}],"id":"e485069e-704e-4ba9-a8a1-386528a2b3cf","protocolProfileBehavior":{"disableBodyPruning":true,"disabledSystemHeaders":{}},"request":{"auth":{"type":"bearer","bearer":{"token":"{{ACCESS_TOKEN_ADMIN}}"},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"mikes testaa\",\n    \"shortcode\": \"PAHL\",\n    \"runner_commission\": 5,\n    \"auto_dispatch\": true,\n    \"zone\": {\n        \"type\": \"Polygon\",\n        \"coordinates\": [\n            [\n                [\n                    -84.39102792034079,\n                    33.95189377729187\n                ],\n                [\n                    -84.41501821353695,\n                    33.95091381561112\n                ],\n                [\n                    -84.4387758271438,\n                    33.947983435458944\n                ],\n                [\n                    -84.46207038619055,\n                    33.943131057341354\n                ],\n                [\n                    -84.48467610023073,\n                    33.93640373589924\n                ],\n                [\n                    -84.50637399416374,\n                    33.92786669412983\n                ],\n                [\n                    -84.52695406627284,\n                    33.91760267829743\n                ],\n                [\n                    -84.54621735077312,\n                    33.905711140417196\n                ],\n                [\n                    -84.5639778634478,\n                    33.89230725700097\n                ],\n                [\n                    -84.58006441050702,\n                    33.87752079444011\n                ],\n                [\n                    -84.59432224259055,\n                    33.861494832950754\n                ],\n                [\n                    -84.60661453782244,\n                    33.844384362401016\n                ],\n                [\n                    -84.6168236999679,\n                    33.82635476456462\n                ],\n                [\n                    -84.62485246000432,\n                    33.80758019739014\n                ],\n                [\n                    -84.63062477175282,\n                    33.788241897731346\n                ],\n                [\n                    -84.63408649458894,\n                    33.76852641964817\n                ],\n                [\n                    -84.63520585862256,\n                    33.74862382585801\n                ],\n                [\n                    -84.63397371007004,\n                    33.72872585019602\n                ],\n                [\n                    -84.6304035368112,\n                    33.7090240490338\n                ],\n                [\n                    -84.6245312762983,\n                    33.68970795951668\n                ],\n                [\n                    -84.61641491004595,\n                    33.67096328221778\n                ],\n                [\n                    -84.60613385086107,\n                    33.652970105382664\n                ],\n                [\n                    -84.59378813075895,\n                    33.63590118736425\n                ],\n                [\n                    -84.57949739914682,\n                    33.61992031313222\n                ],\n                [\n                    -84.56339974233799,\n                    33.60518073990102\n                ],\n                [\n                    -84.54565033678375,\n                    33.5918237459647\n                ],\n                [\n                    -84.52641994958314,\n                    33.57997729576967\n                ],\n                [\n                    -84.505893300855,\n                    33.569754833108924\n                ],\n                [\n                    -84.48426730343844,\n                    33.56125421309614\n                ],\n                [\n                    -84.46174919613713,\n                    33.554556782284926\n                ],\n                [\n                    -84.43855458734413,\n                    33.54972661494938\n                ],\n                [\n                    -84.41490542638887,\n                    33.546809912146\n                ],\n                [\n                    -84.39102792034079,\n                    33.545834568743665\n                ],\n                [\n                    -84.36715041429268,\n                    33.546809912146\n                ],\n                [\n                    -84.34350125333744,\n                    33.54972661494938\n                ],\n                [\n                    -84.32030664454443,\n                    33.554556782284926\n                ],\n                [\n                    -84.29778853724312,\n                    33.56125421309614\n                ],\n                [\n                    -84.27616253982656,\n                    33.569754833108924\n                ],\n                [\n                    -84.25563589109842,\n                    33.57997729576967\n                ],\n                [\n                    -84.23640550389781,\n                    33.5918237459647\n                ],\n                [\n                    -84.21865609834356,\n                    33.60518073990102\n                ],\n                [\n                    -84.20255844153475,\n                    33.61992031313222\n                ],\n                [\n                    -84.18826770992261,\n                    33.63590118736425\n                ],\n                [\n                    -84.17592198982048,\n                    33.652970105382664\n                ],\n                [\n                    -84.1656409306356,\n                    33.67096328221778\n                ],\n                [\n                    -84.15752456438325,\n                    33.68970795951668\n                ],\n                [\n                    -84.15165230387036,\n                    33.7090240490338\n                ],\n                [\n                    -84.14808213061151,\n                    33.72872585019602\n                ],\n                [\n                    -84.14684998205901,\n                    33.74862382585801\n                ],\n                [\n                    -84.14796934609262,\n                    33.76852641964817\n                ],\n                [\n                    -84.15143106892874,\n                    33.788241897731346\n                ],\n                [\n                    -84.15720338067723,\n                    33.80758019739014\n                ],\n                [\n                    -84.16523214071367,\n                    33.82635476456462\n                ],\n                [\n                    -84.17544130285913,\n                    33.844384362401016\n                ],\n                [\n                    -84.18773359809101,\n                    33.861494832950754\n                ],\n                [\n                    -84.20199143017454,\n                    33.87752079444011\n                ],\n                [\n                    -84.21807797723376,\n                    33.89230725700097\n                ],\n                [\n                    -84.23583848990843,\n                    33.905711140417196\n                ],\n                [\n                    -84.25510177440873,\n                    33.91760267829743\n                ],\n                [\n                    -84.27568184651784,\n                    33.92786669412983\n                ],\n                [\n                    -84.29737974045082,\n                    33.93640373589924\n                ],\n                [\n                    -84.31998545449102,\n                    33.943131057341354\n                ],\n                [\n                    -84.34328001353774,\n                    33.947983435458944\n                ],\n                [\n                    -84.36703762714461,\n                    33.95091381561112\n                ],\n                [\n                    -84.39102792034079,\n                    33.95189377729187\n                ]\n            ]\n        ]\n    },\n    \"center\": {\n        \"type\": \"Point\",\n        \"coordinates\": [\n            -81.59097400000002,\n            41.4449243\n        ]\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/v3/territories","description":"<p>A <strong>territory</strong> is a geographic zone under which merchants and runners are grouped. This gives you the ability to</p>\n<ul>\n<li><p>configure DSP routing strategies</p>\n</li>\n<li><p>apply settings to groups of runners in a given market (e.g per-order commission, block restrictions)</p>\n</li>\n<li><p>apply settings to groups of restaurants in a given market (e.g alert messages)</p>\n</li>\n</ul>\n<h3 id=\"i-manage-my-own-fleet\"><em><strong>I manage my own fleet...</strong></em></h3>\n<p><em><strong>If you don't have your own drivers, you can skip this section!</strong></em></p>\n<p>If you have a delivery fleet, there are multiple defaults you can set on a territory, relating to how you charge merchants, how you schedule &amp; pay runners, and how orders are dispatched. <strong>These will typically be disregarded if you use Strategies to route orders to our DSP network.</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>merchant_commission.base</code></td>\n<td>number</td>\n<td>No</td>\n<td>Per delivery charge for the merchant.</td>\n</tr>\n<tr>\n<td><code>runner_commission.base</code></td>\n<td>number</td>\n<td>Yes</td>\n<td>Per delivery payment for the runner.</td>\n</tr>\n<tr>\n<td><code>runner_commission.base_outside_zone</code></td>\n<td>number</td>\n<td>No</td>\n<td>The additional commission amount for the runner when delivering outside the territory zone.</td>\n</tr>\n<tr>\n<td><code>runner_scheduling.schedule_publish_days_out</code></td>\n<td>number</td>\n<td>Yes</td>\n<td>The number of days in advance that shifts will be published to runners.</td>\n</tr>\n<tr>\n<td><code>runner_scheduling.schedule_max_callout_percent</code></td>\n<td>number or null</td>\n<td>No</td>\n<td>Fleet-only, % at which the forecasting model will forecast called-out shifts</td>\n</tr>\n<tr>\n<td><code>runner_scheduling.hide_open_shifts</code></td>\n<td>boolean</td>\n<td>Yes</td>\n<td>Whether to hide open shifts from runners.</td>\n</tr>\n<tr>\n<td><code>self_fulfillment.use_engine</code></td>\n<td>boolean</td>\n<td>Yes</td>\n<td>Whether to suggest order assigns with the First dispatch engine.</td>\n</tr>\n<tr>\n<td><code>self_fulfillment.auto_route</code></td>\n<td>boolean</td>\n<td>Yes</td>\n<td>Whether to automatically optimize order of pickups and dropoffs</td>\n</tr>\n<tr>\n<td><code>self_fulfillment.auto_assign</code></td>\n<td>boolean</td>\n<td>Yes</td>\n<td>Whether to automatically assign orders based on First engine suggestion</td>\n</tr>\n<tr>\n<td><code>self_fulfillment.auto_assign_filter_mins</code></td>\n<td>number or null</td>\n<td>No</td>\n<td>Minutes before an order's pickup estimate until engine suggests</td>\n</tr>\n<tr>\n<td><code>self_fulfillment.require_signature</code></td>\n<td>boolean</td>\n<td>Yes</td>\n<td>Whether to require a signature for self-fulfilled orders.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"i-use-external-fleets\"><em><strong>I use external fleets...</strong></em></h3>\n<p><em><strong>If you use our DSP network as your fleet,</strong></em> <em>configuration is a lot simpler!</em> The only default setting available is whether or not to auto-dispatch to a DSP based on your Strategy configuration when you <a href=\"https://documenter.getpostman.com/view/2850328/RW87qVSS#bbb4e818-9efc-4689-9677-165aaa98dda5\">Create an Order</a>.</p>\n<p>Depending on your spread of merchants, we recommend setting up either:</p>\n<ul>\n<li><p>one territory per city (if your merchants are clustered in cities)</p>\n</li>\n<li><p>one territory per timezone (if merchants are spread randomly)</p>\n</li>\n</ul>\n<p>For the DSP-only use case, <strong>the</strong> <strong><code>zone</code></strong> <strong>geojson - though required - is arbitrary and has no effect on any business logic</strong> (fleets, coverage, etc). We recommend using <a href=\"https://geojson.io\">geojson.io</a> to generate this value.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type (default)</strong></th>\n<th><strong>Required</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>auto_dispatch</code></td>\n<td>Boolean (false)</td>\n<td>No</td>\n<td>Set to <code>true</code> so that by default, an order request is automatically routed to the DSP based on Strategy</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v3","territories"],"host":["https://habitat-market.ngrok.io"],"query":[],"variable":[]}},"response":[{"id":"93e60089-1c30-4a73-9c9b-aac9040e7970","name":"Create territory","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"Philadelphia\",\n    \"shortcode\": \"KPHL\",\n    \"runner_commission\": 5,\n    \"auto_dispatch\": true,\n    \"zone\": {\n        \"coordinates\": [\n          [\n            [\n              -75.23706796225697,\n              40.0243892939653\n            ],\n            [\n              -75.23706796225697,\n              39.88795290758631\n            ],\n            [\n              -75.06120863215956,\n              39.88795290758631\n            ],\n            [\n              -75.06120863215956,\n              40.0243892939653\n            ],\n            [\n              -75.23706796225697,\n              40.0243892939653\n            ]\n          ]\n        ],\n        \"type\": \"Polygon\"\n      },\n    \"center\": {\"type\":\"Point\",\"coordinates\":[-81.59097400000002,41.4449243]}\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/v3/territories"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"997"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Fri, 31 Mar 2023 14:05:35 GMT"},{"key":"Etag","value":"W/\"3e5-+EzDVkDbrfkdJ4bbRms1y3/ODz8\""},{"key":"Ngrok-Trace-Id","value":"7b26a81fd6ad84511111fcefe1a4c351"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"Express"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"territory\": {\n        \"cohort_id\": \"77fcf6aa-e5ae-4d4d-8112-870f50c882ad\",\n        \"id\": \"8bce8585-3bce-49d5-a0a5-e9f9ef9bb5e4\",\n        \"created_at\": \"2023-03-31T14:05:35.453Z\",\n        \"name\": \"Philadelphia\",\n        \"shortcode\": \"KPHL\",\n        \"timezone\": \"America/New_York\",\n        \"zone\": {\n            \"type\": \"Polygon\",\n            \"coordinates\": [\n                [\n                    [\n                        -75.23706796225697,\n                        40.0243892939653\n                    ],\n                    [\n                        -75.23706796225697,\n                        39.88795290758631\n                    ],\n                    [\n                        -75.06120863215956,\n                        39.88795290758631\n                    ],\n                    [\n                        -75.06120863215956,\n                        40.0243892939653\n                    ],\n                    [\n                        -75.23706796225697,\n                        40.0243892939653\n                    ]\n                ]\n            ]\n        },\n        \"center\": {\n            \"type\": \"Point\",\n            \"coordinates\": [\n                -81.59097,\n                41.444923\n            ]\n        },\n        \"operator_id\": 9,\n        \"auto_dispatch\": true,\n        \"options\": {\n            \"merchant_commission\": {\n                \"base\": 5.99\n            },\n            \"runner_commission\": {\n                \"base\": 5,\n                \"base_outside_zone\": 1.5\n            },\n            \"runner_scheduling\": {\n                \"schedule_publish_days_out\": 6,\n                \"schedule_max_callout_percent\": null,\n                \"hide_open_shifts\": false\n            },\n            \"ext_fulfillment\": {\n                \"strategy_id\": \"bd262173-9040-4eba-a03d-6d8c25c3eca8\"\n            },\n            \"self_fulfillment\": {\n                \"use_engine\": true,\n                \"auto_route\": false,\n                \"auto_assign\": false,\n                \"auto_assign_filter_mins\": null,\n                \"require_signature\": false\n            }\n        }\n    }\n}"}],"_postman_id":"e485069e-704e-4ba9-a8a1-386528a2b3cf"},{"name":"Get Territories","id":"09239d59-1839-4301-93b5-11d9ca77a7b4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{ACCESS_TOKEN_ADMIN}}"},"isInherited":false},"method":"GET","header":[],"url":"https://habitat-market.ngrok.io/api/v3/territories","urlObject":{"path":["api","v3","territories"],"host":["https://habitat-market.ngrok.io"],"query":[{"disabled":true,"description":{"content":"<p>(Optional) Limits how many territories to fetch</p>\n","type":"text/plain"},"key":"limit","value":"10"},{"disabled":true,"description":{"content":"<p>(Optional) Sorts territories by when they were created ('asc' | 'desc') </p>\n","type":"text/plain"},"key":"sort","value":"asc"},{"disabled":true,"description":{"content":"<p>(Optional) Offset value for which territories to fetch (useful if you need to paginate)</p>\n","type":"text/plain"},"key":"page","value":"1"},{"disabled":true,"description":{"content":"<p>(Optional) Filter merchants by created date (ISO8601 Date)</p>\n","type":"text/plain"},"key":"since","value":""}],"variable":[]}},"response":[{"id":"7043430c-e96a-44ce-88d7-3b89a3afd0f7","name":"Get Territories","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"{{ACCESS_TOKEN_ADMIN}}","type":"text"}],"url":"https://habitat-market.ngrok.io/api/v3/territories"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Encoding","value":"gzip"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Thu, 16 Mar 2023 17:09:44 GMT"},{"key":"Etag","value":"W/\"1fee-PQZv5xElUtkOSFtynKz4beyXAVM\""},{"key":"Ngrok-Trace-Id","value":"12a59e18bcf0c93461050ec173e3da4b"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"Express"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"data\": [\n        {\n            \"id\": \"038009fa-e0b0-4805-bdcc-ee49a2d73925\",\n            \"created_at\": \"2023-03-16T16:54:59.280Z\",\n            \"name\": \"mikes testaa\",\n            \"shortcode\": \"PAHL\",\n            \"timezone\": \"America/New_York\",\n            \"zone\": {\n                \"type\": \"Polygon\",\n                \"coordinates\": [\n                    [\n                        [\n                            -84.39102792034079,\n                            33.95189377729187\n                        ],\n                        [\n                            -84.41501821353695,\n                            33.95091381561112\n                        ],\n                        [\n                            -84.4387758271438,\n                            33.947983435458944\n                        ],\n                        [\n                            -84.46207038619055,\n                            33.943131057341354\n                        ],\n                        [\n                            -84.48467610023073,\n                            33.93640373589924\n                        ],\n                        [\n                            -84.50637399416374,\n                            33.92786669412983\n                        ],\n                        [\n                            -84.52695406627284,\n                            33.91760267829743\n                        ],\n                        [\n                            -84.54621735077312,\n                            33.905711140417196\n                        ],\n                        [\n                            -84.5639778634478,\n                            33.89230725700097\n                        ],\n                        [\n                            -84.58006441050702,\n                            33.87752079444011\n                        ],\n                        [\n                            -84.59432224259055,\n                            33.861494832950754\n                        ],\n                        [\n                            -84.60661453782244,\n                            33.844384362401016\n                        ],\n                        [\n                            -84.6168236999679,\n                            33.82635476456462\n                        ],\n                        [\n                            -84.62485246000432,\n                            33.80758019739014\n                        ],\n                        [\n                            -84.63062477175282,\n                            33.788241897731346\n                        ],\n                        [\n                            -84.63408649458894,\n                            33.76852641964817\n                        ],\n                        [\n                            -84.63520585862256,\n                            33.74862382585801\n                        ],\n                        [\n                            -84.63397371007004,\n                            33.72872585019602\n                        ],\n                        [\n                            -84.6304035368112,\n                            33.7090240490338\n                        ],\n                        [\n                            -84.6245312762983,\n                            33.68970795951668\n                        ],\n                        [\n                            -84.61641491004595,\n                            33.67096328221778\n                        ],\n                        [\n                            -84.60613385086107,\n                            33.652970105382664\n                        ],\n                        [\n                            -84.59378813075895,\n                            33.63590118736425\n                        ],\n                        [\n                            -84.57949739914682,\n                            33.61992031313222\n                        ],\n                        [\n                            -84.56339974233799,\n                            33.60518073990102\n                        ],\n                        [\n                            -84.54565033678375,\n                            33.5918237459647\n                        ],\n                        [\n                            -84.52641994958314,\n                            33.57997729576967\n                        ],\n                        [\n                            -84.505893300855,\n                            33.569754833108924\n                        ],\n                        [\n                            -84.48426730343844,\n                            33.56125421309614\n                        ],\n                        [\n                            -84.46174919613713,\n                            33.554556782284926\n                        ],\n                        [\n                            -84.43855458734413,\n                            33.54972661494938\n                        ],\n                        [\n                            -84.41490542638887,\n                            33.546809912146\n                        ],\n                        [\n                            -84.39102792034079,\n                            33.545834568743665\n                        ],\n                        [\n                            -84.36715041429268,\n                            33.546809912146\n                        ],\n                        [\n                            -84.34350125333744,\n                            33.54972661494938\n                        ],\n                        [\n                            -84.32030664454443,\n                            33.554556782284926\n                        ],\n                        [\n                            -84.29778853724312,\n                            33.56125421309614\n                        ],\n                        [\n                            -84.27616253982656,\n                            33.569754833108924\n                        ],\n                        [\n                            -84.25563589109842,\n                            33.57997729576967\n                        ],\n                        [\n                            -84.23640550389781,\n                            33.5918237459647\n                        ],\n                        [\n                            -84.21865609834356,\n                            33.60518073990102\n                        ],\n                        [\n                            -84.20255844153475,\n                            33.61992031313222\n                        ],\n                        [\n                            -84.18826770992261,\n                            33.63590118736425\n                        ],\n                        [\n                            -84.17592198982048,\n                            33.652970105382664\n                        ],\n                        [\n                            -84.1656409306356,\n                            33.67096328221778\n                        ],\n                        [\n                            -84.15752456438325,\n                            33.68970795951668\n                        ],\n                        [\n                            -84.15165230387036,\n                            33.7090240490338\n                        ],\n                        [\n                            -84.14808213061151,\n                            33.72872585019602\n                        ],\n                        [\n                            -84.14684998205901,\n                            33.74862382585801\n                        ],\n                        [\n                            -84.14796934609262,\n                            33.76852641964817\n                        ],\n                        [\n                            -84.15143106892874,\n                            33.788241897731346\n                        ],\n                        [\n                            -84.15720338067723,\n                            33.80758019739014\n                        ],\n                        [\n                            -84.16523214071367,\n                            33.82635476456462\n                        ],\n                        [\n                            -84.17544130285913,\n                            33.844384362401016\n                        ],\n                        [\n                            -84.18773359809101,\n                            33.861494832950754\n                        ],\n                        [\n                            -84.20199143017454,\n                            33.87752079444011\n                        ],\n                        [\n                            -84.21807797723376,\n                            33.89230725700097\n                        ],\n                        [\n                            -84.23583848990843,\n                            33.905711140417196\n                        ],\n                        [\n                            -84.25510177440873,\n                            33.91760267829743\n                        ],\n                        [\n                            -84.27568184651784,\n                            33.92786669412983\n                        ],\n                        [\n                            -84.29737974045082,\n                            33.93640373589924\n                        ],\n                        [\n                            -84.31998545449102,\n                            33.943131057341354\n                        ],\n                        [\n                            -84.34328001353774,\n                            33.947983435458944\n                        ],\n                        [\n                            -84.36703762714461,\n                            33.95091381561112\n                        ],\n                        [\n                            -84.39102792034079,\n                            33.95189377729187\n                        ]\n                    ]\n                ]\n            },\n            \"center\": {\n                \"type\": \"Point\",\n                \"coordinates\": [\n                    -81.59097,\n                    41.444923\n                ]\n            },\n            \"operator_id\": 1,\n            \"options\": {\n                \"merchant_commission\": {\n                    \"base\": 5.99\n                },\n                \"runner_commission\": {\n                    \"base\": 5,\n                    \"base_outside_zone\": 1.5\n                },\n                \"runner_scheduling\": {\n                    \"schedule_publish_days_out\": 6,\n                    \"schedule_max_callout_percent\": null,\n                    \"hide_open_shifts\": false\n                },\n                \"ext_fulfillment\": {\n                    \"strategy_id\": \"3390e635-d510-4f51-b809-513db03d2e76\"\n                },\n                \"self_fulfillment\": {\n                    \"use_engine\": true,\n                    \"auto_route\": false,\n                    \"auto_assign\": false,\n                    \"auto_assign_filter_mins\": null,\n                    \"require_signature\": false\n                }\n            }\n        },\n        {\n            \"id\": \"1d08b5c3-36f1-4ae7-9d0e-b7e0ba171efa\",\n            \"created_at\": \"2023-03-14T22:38:52.108Z\",\n            \"name\": \"Philadelphia\",\n            \"shortcode\": \"PHL\",\n            \"timezone\": \"America/New_York\",\n            \"zone\": {\n                \"type\": \"Polygon\",\n                \"coordinates\": [\n                    [\n                        [\n                            -75.23875540887481,\n                            40.04321413624328\n                        ],\n                        [\n                            -75.23875540887481,\n                            39.8813869589423\n                        ],\n                        [\n                            -75.05292257123028,\n                            39.8813869589423\n                        ],\n                        [\n                            -75.05292257123028,\n                            40.04321413624328\n                        ],\n                        [\n                            -75.23875540887481,\n                            40.04321413624328\n                        ]\n                    ]\n                ]\n            },\n            \"center\": {\n                \"type\": \"Point\",\n                \"coordinates\": [\n                    -81.59097,\n                    41.444923\n                ]\n            },\n            \"operator_id\": 1,\n            \"options\": {\n                \"merchant_commission\": {\n                    \"base\": 5.99\n                },\n                \"runner_commission\": {\n                    \"base\": 5,\n                    \"base_outside_zone\": 1.5\n                },\n                \"runner_scheduling\": {\n                    \"schedule_publish_days_out\": 6,\n                    \"schedule_max_callout_percent\": null,\n                    \"hide_open_shifts\": false\n                },\n                \"ext_fulfillment\": {\n                    \"strategy_id\": \"3390e635-d510-4f51-b809-513db03d2e76\"\n                },\n                \"self_fulfillment\": {\n                    \"use_engine\": true,\n                    \"auto_route\": false,\n                    \"auto_assign\": false,\n                    \"auto_assign_filter_mins\": null,\n                    \"require_signature\": false\n                }\n            }\n        },\n        {\n            \"id\": \"79dd81b0-0649-487b-9af6-9c1ab0f30bba\",\n            \"created_at\": \"2023-03-14T22:32:31.266Z\",\n            \"name\": \"Philadelphia\",\n            \"shortcode\": \"PHL\",\n            \"timezone\": \"America/New_York\",\n            \"zone\": {\n                \"type\": \"Polygon\",\n                \"coordinates\": [\n                    [\n                        [\n                            -75.23875540887481,\n                            40.04321413624328\n                        ],\n                        [\n                            -75.23875540887481,\n                            39.8813869589423\n                        ],\n                        [\n                            -75.05292257123028,\n                            39.8813869589423\n                        ],\n                        [\n                            -75.05292257123028,\n                            40.04321413624328\n                        ],\n                        [\n                            -75.23875540887481,\n                            40.04321413624328\n                        ]\n                    ]\n                ]\n            },\n            \"center\": {\n                \"type\": \"Point\",\n                \"coordinates\": [\n                    -81.59097,\n                    41.444923\n                ]\n            },\n            \"operator_id\": 1,\n            \"options\": {\n                \"merchant_commission\": {\n                    \"base\": 5.99\n                },\n                \"runner_commission\": {\n                    \"base\": 5,\n                    \"base_outside_zone\": 1.5\n                },\n                \"runner_scheduling\": {\n                    \"schedule_publish_days_out\": 6,\n                    \"schedule_max_callout_percent\": null,\n                    \"hide_open_shifts\": false\n                },\n                \"ext_fulfillment\": {\n                    \"strategy_id\": \"3390e635-d510-4f51-b809-513db03d2e76\"\n                },\n                \"self_fulfillment\": {\n                    \"use_engine\": true,\n                    \"auto_route\": false,\n                    \"auto_assign\": null,\n                    \"auto_assign_filter_mins\": null,\n                    \"require_signature\": false\n                }\n            }\n        },\n        {\n            \"id\": \"0a3ef2af-9231-41ed-8768-1def8ee9a5f9\",\n            \"created_at\": \"2023-03-14T22:13:46.044Z\",\n            \"name\": \"Philly\",\n            \"shortcode\": \"PHL\",\n            \"timezone\": \"America/New_York\",\n            \"zone\": {\n                \"type\": \"Polygon\",\n                \"coordinates\": [\n                    [\n                        [\n                            -75.23875540887481,\n                            40.04321413624328\n                        ],\n                        [\n                            -75.23875540887481,\n                            39.8813869589423\n                        ],\n                        [\n                            -75.05292257123028,\n                            39.8813869589423\n                        ],\n                        [\n                            -75.05292257123028,\n                            40.04321413624328\n                        ],\n                        [\n                            -75.23875540887481,\n                            40.04321413624328\n                        ]\n                    ]\n                ]\n            },\n            \"center\": {\n                \"type\": \"Point\",\n                \"coordinates\": [\n                    -81.59097,\n                    41.444923\n                ]\n            },\n            \"operator_id\": 1,\n            \"options\": {\n                \"merchant_commission\": {\n                    \"base\": 5.99\n                },\n                \"runner_commission\": {\n                    \"base\": 5,\n                    \"base_outside_zone\": 1.5\n                },\n                \"runner_scheduling\": {\n                    \"schedule_publish_days_out\": 6,\n                    \"schedule_max_callout_percent\": null,\n                    \"hide_open_shifts\": false\n                },\n                \"ext_fulfillment\": {\n                    \"strategy_id\": \"3390e635-d510-4f51-b809-513db03d2e76\"\n                },\n                \"self_fulfillment\": {\n                    \"use_engine\": true,\n                    \"auto_route\": false,\n                    \"auto_assign\": null,\n                    \"auto_assign_filter_mins\": null,\n                    \"require_signature\": false\n                }\n            }\n        },\n        {\n            \"id\": \"a953b4be-ae6f-43f8-a77d-49be62c3fef2\",\n            \"created_at\": \"2023-03-14T22:12:22.897Z\",\n            \"name\": \"Philly\",\n            \"shortcode\": \"PHL\",\n            \"timezone\": \"America/New_York\",\n            \"zone\": {\n                \"type\": \"Polygon\",\n                \"coordinates\": [\n                    [\n                        [\n                            -75.23875540887481,\n                            40.04321413624328\n                        ],\n                        [\n                            -75.23875540887481,\n                            39.8813869589423\n                        ],\n                        [\n                            -75.05292257123028,\n                            39.8813869589423\n                        ],\n                        [\n                            -75.05292257123028,\n                            40.04321413624328\n                        ],\n                        [\n                            -75.23875540887481,\n                            40.04321413624328\n                        ]\n                    ]\n                ]\n            },\n            \"center\": {\n                \"type\": \"Point\",\n                \"coordinates\": [\n                    -81.59097,\n                    41.444923\n                ]\n            },\n            \"operator_id\": 1,\n            \"options\": {\n                \"merchant_commission\": {\n                    \"base\": 5.99\n                },\n                \"runner_commission\": {\n                    \"base\": 5,\n                    \"base_outside_zone\": 1.5\n                },\n                \"runner_scheduling\": {\n                    \"schedule_publish_days_out\": 6,\n                    \"schedule_max_callout_percent\": null,\n                    \"hide_open_shifts\": false\n                },\n                \"ext_fulfillment\": {\n                    \"strategy_id\": \"3390e635-d510-4f51-b809-513db03d2e76\"\n                },\n                \"self_fulfillment\": {\n                    \"use_engine\": true,\n                    \"auto_route\": false,\n                    \"auto_assign\": null,\n                    \"auto_assign_filter_mins\": null,\n                    \"require_signature\": false\n                }\n            }\n        },\n        {\n            \"id\": \"db93f018-36e2-416b-8196-5d3a36033440\",\n            \"created_at\": \"2017-01-01T22:06:55.741Z\",\n            \"name\": \"Philadelphia\",\n            \"shortcode\": \"PHL\",\n            \"timezone\": \"America/New_York\",\n            \"zone\": {\n                \"type\": \"Polygon\",\n                \"coordinates\": [\n                    [\n                        [\n                            -75.19944190979005,\n                            40.08227449035694\n                        ],\n                        [\n                            -75.2460479736328,\n                            40.079384912479235\n                        ],\n                        [\n                            -75.28698921203613,\n                            40.07229179232393\n                        ],\n                        [\n                            -75.28759002685547,\n                            39.96712200067156\n                        ],\n                        [\n                            -75.26458740234375,\n                            39.915529641706314\n                        ],\n                        [\n                            -75.29316902160643,\n                            39.881288765222514\n                        ],\n                        [\n                            -75.24304389953612,\n                            39.870749669137865\n                        ],\n                        [\n                            -75.19248962402344,\n                            39.883132940527126\n                        ],\n                        [\n                            -75.14167785644531,\n                            39.8910359871695\n                        ],\n                        [\n                            -75.13592720031737,\n                            39.915002988576184\n                        ],\n                        [\n                            -75.14150619506836,\n                            39.92987938065514\n                        ],\n                        [\n                            -75.13927459716797,\n                            39.949621810595595\n                        ],\n                        [\n                            -75.13309478759766,\n                            39.96291183776863\n                        ],\n                        [\n                            -75.07455825805664,\n                            39.983828528239144\n                        ],\n                        [\n                            -75.16176223754883,\n                            40.060271207785874\n                        ],\n                        [\n                            -75.19944190979005,\n                            40.08227449035694\n                        ]\n                    ]\n                ]\n            },\n            \"center\": {\n                \"type\": \"Point\",\n                \"coordinates\": [\n                    -75.1673,\n                    39.9532\n                ]\n            },\n            \"operator_id\": 1,\n            \"options\": {\n                \"merchant_commission\": {\n                    \"base\": 5.99\n                },\n                \"runner_commission\": {\n                    \"base\": 1.5,\n                    \"base_outside_zone\": 1.5\n                },\n                \"runner_scheduling\": {\n                    \"schedule_publish_days_out\": 6,\n                    \"schedule_max_callout_percent\": 0.05,\n                    \"hide_open_shifts\": false\n                },\n                \"ext_fulfillment\": {\n                    \"strategy_id\": \"3390e635-d510-4f51-b809-513db03d2e76\"\n                },\n                \"self_fulfillment\": {\n                    \"use_engine\": true,\n                    \"auto_route\": false,\n                    \"auto_assign\": null,\n                    \"auto_assign_filter_mins\": null,\n                    \"require_signature\": false\n                }\n            }\n        }\n    ],\n    \"total\": 6\n}"}],"_postman_id":"09239d59-1839-4301-93b5-11d9ca77a7b4"},{"name":"Get Territory","id":"64a4d74f-ac16-40cd-9a36-84c1d6bfac66","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{ACCESS_TOKEN_ADMIN}}"},"isInherited":false},"method":"GET","header":[],"url":"https://habitat-market.ngrok.io/api/v3/territories/038009fa-e0b0-4805-bdcc-ee49a2d73925","urlObject":{"path":["api","v3","territories","038009fa-e0b0-4805-bdcc-ee49a2d73925"],"host":["https://habitat-market.ngrok.io"],"query":[],"variable":[]}},"response":[{"id":"b417de24-0193-438e-a0cf-f1b6008f586c","name":"Get Territory","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"{{ACCESS_TOKEN_ADMIN}}","type":"text"}],"url":"https://habitat-market.ngrok.io/api/v3/territories"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Encoding","value":"gzip"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Thu, 16 Mar 2023 17:09:44 GMT"},{"key":"Etag","value":"W/\"1fee-PQZv5xElUtkOSFtynKz4beyXAVM\""},{"key":"Ngrok-Trace-Id","value":"12a59e18bcf0c93461050ec173e3da4b"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"Express"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"data\": [\n        {\n            \"id\": \"038009fa-e0b0-4805-bdcc-ee49a2d73925\",\n            \"created_at\": \"2023-03-16T16:54:59.280Z\",\n            \"name\": \"mikes testaa\",\n            \"shortcode\": \"PAHL\",\n            \"timezone\": \"America/New_York\",\n            \"zone\": {\n                \"type\": \"Polygon\",\n                \"coordinates\": [\n                    [\n                        [\n                            -84.39102792034079,\n                            33.95189377729187\n                        ],\n                        [\n                            -84.41501821353695,\n                            33.95091381561112\n                        ],\n                        [\n                            -84.4387758271438,\n                            33.947983435458944\n                        ],\n                        [\n                            -84.46207038619055,\n                            33.943131057341354\n                        ],\n                        [\n                            -84.48467610023073,\n                            33.93640373589924\n                        ],\n                        [\n                            -84.50637399416374,\n                            33.92786669412983\n                        ],\n                        [\n                            -84.52695406627284,\n                            33.91760267829743\n                        ],\n                        [\n                            -84.54621735077312,\n                            33.905711140417196\n                        ],\n                        [\n                            -84.5639778634478,\n                            33.89230725700097\n                        ],\n                        [\n                            -84.58006441050702,\n                            33.87752079444011\n                        ],\n                        [\n                            -84.59432224259055,\n                            33.861494832950754\n                        ],\n                        [\n                            -84.60661453782244,\n                            33.844384362401016\n                        ],\n                        [\n                            -84.6168236999679,\n                            33.82635476456462\n                        ],\n                        [\n                            -84.62485246000432,\n                            33.80758019739014\n                        ],\n                        [\n                            -84.63062477175282,\n                            33.788241897731346\n                        ],\n                        [\n                            -84.63408649458894,\n                            33.76852641964817\n                        ],\n                        [\n                            -84.63520585862256,\n                            33.74862382585801\n                        ],\n                        [\n                            -84.63397371007004,\n                            33.72872585019602\n                        ],\n                        [\n                            -84.6304035368112,\n                            33.7090240490338\n                        ],\n                        [\n                            -84.6245312762983,\n                            33.68970795951668\n                        ],\n                        [\n                            -84.61641491004595,\n                            33.67096328221778\n                        ],\n                        [\n                            -84.60613385086107,\n                            33.652970105382664\n                        ],\n                        [\n                            -84.59378813075895,\n                            33.63590118736425\n                        ],\n                        [\n                            -84.57949739914682,\n                            33.61992031313222\n                        ],\n                        [\n                            -84.56339974233799,\n                            33.60518073990102\n                        ],\n                        [\n                            -84.54565033678375,\n                            33.5918237459647\n                        ],\n                        [\n                            -84.52641994958314,\n                            33.57997729576967\n                        ],\n                        [\n                            -84.505893300855,\n                            33.569754833108924\n                        ],\n                        [\n                            -84.48426730343844,\n                            33.56125421309614\n                        ],\n                        [\n                            -84.46174919613713,\n                            33.554556782284926\n                        ],\n                        [\n                            -84.43855458734413,\n                            33.54972661494938\n                        ],\n                        [\n                            -84.41490542638887,\n                            33.546809912146\n                        ],\n                        [\n                            -84.39102792034079,\n                            33.545834568743665\n                        ],\n                        [\n                            -84.36715041429268,\n                            33.546809912146\n                        ],\n                        [\n                            -84.34350125333744,\n                            33.54972661494938\n                        ],\n                        [\n                            -84.32030664454443,\n                            33.554556782284926\n                        ],\n                        [\n                            -84.29778853724312,\n                            33.56125421309614\n                        ],\n                        [\n                            -84.27616253982656,\n                            33.569754833108924\n                        ],\n                        [\n                            -84.25563589109842,\n                            33.57997729576967\n                        ],\n                        [\n                            -84.23640550389781,\n                            33.5918237459647\n                        ],\n                        [\n                            -84.21865609834356,\n                            33.60518073990102\n                        ],\n                        [\n                            -84.20255844153475,\n                            33.61992031313222\n                        ],\n                        [\n                            -84.18826770992261,\n                            33.63590118736425\n                        ],\n                        [\n                            -84.17592198982048,\n                            33.652970105382664\n                        ],\n                        [\n                            -84.1656409306356,\n                            33.67096328221778\n                        ],\n                        [\n                            -84.15752456438325,\n                            33.68970795951668\n                        ],\n                        [\n                            -84.15165230387036,\n                            33.7090240490338\n                        ],\n                        [\n                            -84.14808213061151,\n                            33.72872585019602\n                        ],\n                        [\n                            -84.14684998205901,\n                            33.74862382585801\n                        ],\n                        [\n                            -84.14796934609262,\n                            33.76852641964817\n                        ],\n                        [\n                            -84.15143106892874,\n                            33.788241897731346\n                        ],\n                        [\n                            -84.15720338067723,\n                            33.80758019739014\n                        ],\n                        [\n                            -84.16523214071367,\n                            33.82635476456462\n                        ],\n                        [\n                            -84.17544130285913,\n                            33.844384362401016\n                        ],\n                        [\n                            -84.18773359809101,\n                            33.861494832950754\n                        ],\n                        [\n                            -84.20199143017454,\n                            33.87752079444011\n                        ],\n                        [\n                            -84.21807797723376,\n                            33.89230725700097\n                        ],\n                        [\n                            -84.23583848990843,\n                            33.905711140417196\n                        ],\n                        [\n                            -84.25510177440873,\n                            33.91760267829743\n                        ],\n                        [\n                            -84.27568184651784,\n                            33.92786669412983\n                        ],\n                        [\n                            -84.29737974045082,\n                            33.93640373589924\n                        ],\n                        [\n                            -84.31998545449102,\n                            33.943131057341354\n                        ],\n                        [\n                            -84.34328001353774,\n                            33.947983435458944\n                        ],\n                        [\n                            -84.36703762714461,\n                            33.95091381561112\n                        ],\n                        [\n                            -84.39102792034079,\n                            33.95189377729187\n                        ]\n                    ]\n                ]\n            },\n            \"center\": {\n                \"type\": \"Point\",\n                \"coordinates\": [\n                    -81.59097,\n                    41.444923\n                ]\n            },\n            \"operator_id\": 1,\n            \"options\": {\n                \"merchant_commission\": {\n                    \"base\": 5.99\n                },\n                \"runner_commission\": {\n                    \"base\": 5,\n                    \"base_outside_zone\": 1.5\n                },\n                \"runner_scheduling\": {\n                    \"schedule_publish_days_out\": 6,\n                    \"schedule_max_callout_percent\": null,\n                    \"hide_open_shifts\": false\n                },\n                \"ext_fulfillment\": {\n                    \"strategy_id\": \"3390e635-d510-4f51-b809-513db03d2e76\"\n                },\n                \"self_fulfillment\": {\n                    \"use_engine\": true,\n                    \"auto_route\": false,\n                    \"auto_assign\": false,\n                    \"auto_assign_filter_mins\": null,\n                    \"require_signature\": false\n                }\n            }\n        },\n        {\n            \"id\": \"1d08b5c3-36f1-4ae7-9d0e-b7e0ba171efa\",\n            \"created_at\": \"2023-03-14T22:38:52.108Z\",\n            \"name\": \"Philadelphia\",\n            \"shortcode\": \"PHL\",\n            \"timezone\": \"America/New_York\",\n            \"zone\": {\n                \"type\": \"Polygon\",\n                \"coordinates\": [\n                    [\n                        [\n                            -75.23875540887481,\n                            40.04321413624328\n                        ],\n                        [\n                            -75.23875540887481,\n                            39.8813869589423\n                        ],\n                        [\n                            -75.05292257123028,\n                            39.8813869589423\n                        ],\n                        [\n                            -75.05292257123028,\n                            40.04321413624328\n                        ],\n                        [\n                            -75.23875540887481,\n                            40.04321413624328\n                        ]\n                    ]\n                ]\n            },\n            \"center\": {\n                \"type\": \"Point\",\n                \"coordinates\": [\n                    -81.59097,\n                    41.444923\n                ]\n            },\n            \"operator_id\": 1,\n            \"options\": {\n                \"merchant_commission\": {\n                    \"base\": 5.99\n                },\n                \"runner_commission\": {\n                    \"base\": 5,\n                    \"base_outside_zone\": 1.5\n                },\n                \"runner_scheduling\": {\n                    \"schedule_publish_days_out\": 6,\n                    \"schedule_max_callout_percent\": null,\n                    \"hide_open_shifts\": false\n                },\n                \"ext_fulfillment\": {\n                    \"strategy_id\": \"3390e635-d510-4f51-b809-513db03d2e76\"\n                },\n                \"self_fulfillment\": {\n                    \"use_engine\": true,\n                    \"auto_route\": false,\n                    \"auto_assign\": false,\n                    \"auto_assign_filter_mins\": null,\n                    \"require_signature\": false\n                }\n            }\n        },\n        {\n            \"id\": \"79dd81b0-0649-487b-9af6-9c1ab0f30bba\",\n            \"created_at\": \"2023-03-14T22:32:31.266Z\",\n            \"name\": \"Philadelphia\",\n            \"shortcode\": \"PHL\",\n            \"timezone\": \"America/New_York\",\n            \"zone\": {\n                \"type\": \"Polygon\",\n                \"coordinates\": [\n                    [\n                        [\n                            -75.23875540887481,\n                            40.04321413624328\n                        ],\n                        [\n                            -75.23875540887481,\n                            39.8813869589423\n                        ],\n                        [\n                            -75.05292257123028,\n                            39.8813869589423\n                        ],\n                        [\n                            -75.05292257123028,\n                            40.04321413624328\n                        ],\n                        [\n                            -75.23875540887481,\n                            40.04321413624328\n                        ]\n                    ]\n                ]\n            },\n            \"center\": {\n                \"type\": \"Point\",\n                \"coordinates\": [\n                    -81.59097,\n                    41.444923\n                ]\n            },\n            \"operator_id\": 1,\n            \"options\": {\n                \"merchant_commission\": {\n                    \"base\": 5.99\n                },\n                \"runner_commission\": {\n                    \"base\": 5,\n                    \"base_outside_zone\": 1.5\n                },\n                \"runner_scheduling\": {\n                    \"schedule_publish_days_out\": 6,\n                    \"schedule_max_callout_percent\": null,\n                    \"hide_open_shifts\": false\n                },\n                \"ext_fulfillment\": {\n                    \"strategy_id\": \"3390e635-d510-4f51-b809-513db03d2e76\"\n                },\n                \"self_fulfillment\": {\n                    \"use_engine\": true,\n                    \"auto_route\": false,\n                    \"auto_assign\": null,\n                    \"auto_assign_filter_mins\": null,\n                    \"require_signature\": false\n                }\n            }\n        },\n        {\n            \"id\": \"0a3ef2af-9231-41ed-8768-1def8ee9a5f9\",\n            \"created_at\": \"2023-03-14T22:13:46.044Z\",\n            \"name\": \"Philly\",\n            \"shortcode\": \"PHL\",\n            \"timezone\": \"America/New_York\",\n            \"zone\": {\n                \"type\": \"Polygon\",\n                \"coordinates\": [\n                    [\n                        [\n                            -75.23875540887481,\n                            40.04321413624328\n                        ],\n                        [\n                            -75.23875540887481,\n                            39.8813869589423\n                        ],\n                        [\n                            -75.05292257123028,\n                            39.8813869589423\n                        ],\n                        [\n                            -75.05292257123028,\n                            40.04321413624328\n                        ],\n                        [\n                            -75.23875540887481,\n                            40.04321413624328\n                        ]\n                    ]\n                ]\n            },\n            \"center\": {\n                \"type\": \"Point\",\n                \"coordinates\": [\n                    -81.59097,\n                    41.444923\n                ]\n            },\n            \"operator_id\": 1,\n            \"options\": {\n                \"merchant_commission\": {\n                    \"base\": 5.99\n                },\n                \"runner_commission\": {\n                    \"base\": 5,\n                    \"base_outside_zone\": 1.5\n                },\n                \"runner_scheduling\": {\n                    \"schedule_publish_days_out\": 6,\n                    \"schedule_max_callout_percent\": null,\n                    \"hide_open_shifts\": false\n                },\n                \"ext_fulfillment\": {\n                    \"strategy_id\": \"3390e635-d510-4f51-b809-513db03d2e76\"\n                },\n                \"self_fulfillment\": {\n                    \"use_engine\": true,\n                    \"auto_route\": false,\n                    \"auto_assign\": null,\n                    \"auto_assign_filter_mins\": null,\n                    \"require_signature\": false\n                }\n            }\n        },\n        {\n            \"id\": \"a953b4be-ae6f-43f8-a77d-49be62c3fef2\",\n            \"created_at\": \"2023-03-14T22:12:22.897Z\",\n            \"name\": \"Philly\",\n            \"shortcode\": \"PHL\",\n            \"timezone\": \"America/New_York\",\n            \"zone\": {\n                \"type\": \"Polygon\",\n                \"coordinates\": [\n                    [\n                        [\n                            -75.23875540887481,\n                            40.04321413624328\n                        ],\n                        [\n                            -75.23875540887481,\n                            39.8813869589423\n                        ],\n                        [\n                            -75.05292257123028,\n                            39.8813869589423\n                        ],\n                        [\n                            -75.05292257123028,\n                            40.04321413624328\n                        ],\n                        [\n                            -75.23875540887481,\n                            40.04321413624328\n                        ]\n                    ]\n                ]\n            },\n            \"center\": {\n                \"type\": \"Point\",\n                \"coordinates\": [\n                    -81.59097,\n                    41.444923\n                ]\n            },\n            \"operator_id\": 1,\n            \"options\": {\n                \"merchant_commission\": {\n                    \"base\": 5.99\n                },\n                \"runner_commission\": {\n                    \"base\": 5,\n                    \"base_outside_zone\": 1.5\n                },\n                \"runner_scheduling\": {\n                    \"schedule_publish_days_out\": 6,\n                    \"schedule_max_callout_percent\": null,\n                    \"hide_open_shifts\": false\n                },\n                \"ext_fulfillment\": {\n                    \"strategy_id\": \"3390e635-d510-4f51-b809-513db03d2e76\"\n                },\n                \"self_fulfillment\": {\n                    \"use_engine\": true,\n                    \"auto_route\": false,\n                    \"auto_assign\": null,\n                    \"auto_assign_filter_mins\": null,\n                    \"require_signature\": false\n                }\n            }\n        },\n        {\n            \"id\": \"db93f018-36e2-416b-8196-5d3a36033440\",\n            \"created_at\": \"2017-01-01T22:06:55.741Z\",\n            \"name\": \"Philadelphia\",\n            \"shortcode\": \"PHL\",\n            \"timezone\": \"America/New_York\",\n            \"zone\": {\n                \"type\": \"Polygon\",\n                \"coordinates\": [\n                    [\n                        [\n                            -75.19944190979005,\n                            40.08227449035694\n                        ],\n                        [\n                            -75.2460479736328,\n                            40.079384912479235\n                        ],\n                        [\n                            -75.28698921203613,\n                            40.07229179232393\n                        ],\n                        [\n                            -75.28759002685547,\n                            39.96712200067156\n                        ],\n                        [\n                            -75.26458740234375,\n                            39.915529641706314\n                        ],\n                        [\n                            -75.29316902160643,\n                            39.881288765222514\n                        ],\n                        [\n                            -75.24304389953612,\n                            39.870749669137865\n                        ],\n                        [\n                            -75.19248962402344,\n                            39.883132940527126\n                        ],\n                        [\n                            -75.14167785644531,\n                            39.8910359871695\n                        ],\n                        [\n                            -75.13592720031737,\n                            39.915002988576184\n                        ],\n                        [\n                            -75.14150619506836,\n                            39.92987938065514\n                        ],\n                        [\n                            -75.13927459716797,\n                            39.949621810595595\n                        ],\n                        [\n                            -75.13309478759766,\n                            39.96291183776863\n                        ],\n                        [\n                            -75.07455825805664,\n                            39.983828528239144\n                        ],\n                        [\n                            -75.16176223754883,\n                            40.060271207785874\n                        ],\n                        [\n                            -75.19944190979005,\n                            40.08227449035694\n                        ]\n                    ]\n                ]\n            },\n            \"center\": {\n                \"type\": \"Point\",\n                \"coordinates\": [\n                    -75.1673,\n                    39.9532\n                ]\n            },\n            \"operator_id\": 1,\n            \"options\": {\n                \"merchant_commission\": {\n                    \"base\": 5.99\n                },\n                \"runner_commission\": {\n                    \"base\": 1.5,\n                    \"base_outside_zone\": 1.5\n                },\n                \"runner_scheduling\": {\n                    \"schedule_publish_days_out\": 6,\n                    \"schedule_max_callout_percent\": 0.05,\n                    \"hide_open_shifts\": false\n                },\n                \"ext_fulfillment\": {\n                    \"strategy_id\": \"3390e635-d510-4f51-b809-513db03d2e76\"\n                },\n                \"self_fulfillment\": {\n                    \"use_engine\": true,\n                    \"auto_route\": false,\n                    \"auto_assign\": null,\n                    \"auto_assign_filter_mins\": null,\n                    \"require_signature\": false\n                }\n            }\n        }\n    ],\n    \"total\": 6\n}"}],"_postman_id":"64a4d74f-ac16-40cd-9a36-84c1d6bfac66"}],"id":"8266cd55-d837-446c-9c2a-5ac6a2ec1bc3","_postman_id":"8266cd55-d837-446c-9c2a-5ac6a2ec1bc3","description":""},{"name":"Cohorts","item":[{"name":"Get Cohorts","id":"d8d83484-73e6-4d0d-bce6-5a1494fa6cfb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"<token>"},"isInherited":false},"method":"GET","header":[],"url":"https://habitat-market.ngrok.io/api/v3/cohorts","description":"<p>Gets all cohorts. You can pass these <code>id</code> fields as the <code>cohort_id</code> in a merchant create post.</p>\n","urlObject":{"path":["api","v3","cohorts"],"host":["https://habitat-market.ngrok.io"],"query":[],"variable":[]}},"response":[{"id":"dfb77499-8b0d-40e1-81ae-dfb516a0b088","name":"Get Cohorts","originalRequest":{"method":"GET","header":[],"url":"https://habitat-market.ngrok.io/api/v3/cohorts"},"_postman_previewlanguage":"Text","header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"d8d83484-73e6-4d0d-bce6-5a1494fa6cfb"}],"id":"9bfd8c0f-0a34-4f02-bd74-7ae2a3923eda","description":"<p>Also called \"Habitats\", cohorts are groups of merchants that live under the umbrella of a territory. They can be useful for demand forecasting when using your own fleet of drivers and scheduling against forecasted delivery volume. All merchants have a cohort, though in most cases a merchant's cohort is the default cohort created with a territory.</p>\n","_postman_id":"9bfd8c0f-0a34-4f02-bd74-7ae2a3923eda"},{"name":"Runners","item":[{"name":"Create Runner","event":[{"listen":"prerequest","script":{"id":"a8a93a67-8b1f-48a5-9017-57ed594087b0","exec":["const randomEmail = pm.variables.replaceIn(\"Karina_Ryan@yahoo.com\");","","pm.request.body[\"email\"] = randomEmail"],"type":"text/javascript"}}],"id":"7d8e88fe-0f86-4515-99d0-989e9e763d4e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{ACCESS_TOKEN_ADMIN}}"},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"address\": \"2000 Market Street, Philadelphia PA, 19125\",\n    \"email\": \"Willis1@gmail.com\",\n    \"name\": \"Wilbur Koelpin\",\n    \"phone\": \"747-935-7806\",\n    \"transport_type\": \"car\",\n    \"territory_id\": \"db93f018-36e2-416b-8196-5d3a36033440\"\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/v3/runners","description":"<p>Creates a runner in a given territory. <strong>The</strong> <strong><code>id</code></strong> <strong>field in a successful response should be saved on your end - this needs to be sent as the</strong> <strong><code>runner_id</code></strong> <strong>field when assigning orders.</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Data Type</strong></th>\n<th><strong>Required</strong></th>\n<th><strong>Valid Inputs</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Default</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>name</td>\n<td>string</td>\n<td>Yes</td>\n<td>Any string</td>\n<td>Runner name</td>\n<td></td>\n</tr>\n<tr>\n<td>email</td>\n<td>string</td>\n<td>Yes</td>\n<td>Valid email address</td>\n<td>Runner email</td>\n<td></td>\n</tr>\n<tr>\n<td>phone</td>\n<td>string</td>\n<td>Yes</td>\n<td>Valid phone number</td>\n<td>Runner phone number</td>\n<td></td>\n</tr>\n<tr>\n<td>address</td>\n<td>string</td>\n<td>Yes</td>\n<td>Any string</td>\n<td>Runner address</td>\n<td></td>\n</tr>\n<tr>\n<td>territory_id</td>\n<td>UUID</td>\n<td>Yes</td>\n<td>Valid UUID</td>\n<td>Runner territory id (see GET /territories)</td>\n<td></td>\n</tr>\n<tr>\n<td>transport_type</td>\n<td>string</td>\n<td>No</td>\n<td>'car', 'bike'</td>\n<td>Transportation type used for scheduling</td>\n<td>'car'</td>\n</tr>\n<tr>\n<td>profile_pic</td>\n<td>string (optional)</td>\n<td>No</td>\n<td>Valid URI</td>\n<td>Runner profile picture</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v3","runners"],"host":["https://habitat-market.ngrok.io"],"query":[],"variable":[]}},"response":[{"id":"6981945e-b76e-4f45-ab6a-b8edddac0dfd","name":"Create Runner","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"{{ACCESS_TOKEN_ADMIN}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"address\": \"2000 Market Street, Philadelphia PA, 19125\", \n    \"email\": \"test-runnera@firstdelivery.com\", \n    \"name\": \"Mike Smith\",\n    \"phone\": \"+15551234561\",\n    \"transport_type\": \"car\",\n    \"territory_id\": \"db93f018-36e2-416b-8196-5d3a36033440\"\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/v3/runners"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"344"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Tue, 14 Mar 2023 22:10:15 GMT"},{"key":"Etag","value":"W/\"158-2pBga0UrA91wsDcW7oq7vtf3UhI\""},{"key":"Ngrok-Trace-Id","value":"f53b1a50677b77850f75f282cc917513"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"Express"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"user\": {\n        \"id\": \"fe19da88-5ab9-4693-9786-ede9d8294126\",\n        \"name\": \"Mike Smith\",\n        \"email\": \"test-runnera@firstdelivery.com\",\n        \"phone\": \"+15551234561\",\n        \"address\": \"2000 Market Street, 2000 Market St, Philadelphia, PA 19103, USA\",\n        \"profile_pic\": null,\n        \"transport_type\": \"car\",\n        \"archived\": false,\n        \"territory_id\": \"db93f018-36e2-416b-8196-5d3a36033440\"\n    }\n}"}],"_postman_id":"7d8e88fe-0f86-4515-99d0-989e9e763d4e"}],"id":"eed70a28-424b-4a92-8243-ebfd627e18aa","description":"<h2 id=\"this-is-only-applicable-if-you-manage-your-own-fleet\">This is only applicable if you manage your own fleet.</h2>\n<p>Runners are delivery personnel that can be assigned orders for when you manage your own fleet. They are users that can log in the the driver app to manage their shifts and active orders.</p>\n","_postman_id":"eed70a28-424b-4a92-8243-ebfd627e18aa"},{"name":"Merchants","item":[{"name":"Create Merchant","id":"f4082241-5dd8-4d00-a792-93c969fa3746","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"<token>"},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"Crist - Hills\",\n    \"address\": \"2211 E Hagert ST, Philadelphia, PA\",\n    \"email\": \"Ruben51@gmail.com\",\n    \"phone\": \"383-662-2105\",\n    \"cohort_id\": \"57b14a67-eb8f-4d65-b063-89a2f704de9d\"\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/v3/merchants","description":"<p>Creates a merchant. Every <code>order</code> must have a merchant associated with it.</p>\n<p><strong>The</strong> <strong><code>id</code></strong> <strong>field in a successful response should be saved on your end - this needs to be sent as the</strong> <strong><code>merchant_id</code></strong> <strong>field when getting quotes and sending orders.</strong></p>\n<blockquote>\n<p>🛑 <strong>In sandbox and production, make sure to use</strong> <em><strong>valid U.S phone numbers</strong></em><strong>. Some DSPs will reject on the basis of a phone number being 'fake' (e.g 123456789) or outside the country!</strong> </p>\n</blockquote>\n<p>The timezone of the merchant is determined by it's parent Territory</p>\n<h3 id=\"request-body\">Request body</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Required</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>Yes</td>\n<td>Merchant name</td>\n</tr>\n<tr>\n<td><code>address</code></td>\n<td>Yes</td>\n<td>Merchant address</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>Yes</td>\n<td>Merchant email. If you don't have this or partner directly, you can stub it out with an email on your domain with an incrementing number: <code>e.g merchant+1@firstdelivery.com</code></td>\n</tr>\n<tr>\n<td><code>phone</code></td>\n<td>Yes</td>\n<td>Merchant phone number</td>\n</tr>\n<tr>\n<td><code>territory_id</code></td>\n<td>Yes</td>\n<td>This is the territory you want to create the merchant within. This is required for timezones among many other feature sets.</td>\n</tr>\n<tr>\n<td><code>cohort_id</code></td>\n<td>No (see description)</td>\n<td>Cohorts are clusters of merchants under territories. For most cases, this is an optional field. If you have more than one cohort for the specified territory, this is a required field. Cohorts / habitats are the same thing.</td>\n</tr>\n<tr>\n<td>options</td>\n<td>No</td>\n<td>Object with fields:</td>\n</tr>\n<tr>\n<td>options.prep_time</td>\n<td>No</td>\n<td>Default 'lead time' for an ASAP order, when no <code>pickup_time</code> or <code>dropoff_time</code> is passed</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v3","merchants"],"host":["https://habitat-market.ngrok.io"],"query":[],"variable":[]}},"response":[{"id":"e98364e0-7f36-4b1e-a45e-5f48d4731903","name":"Create Merchant","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"name\": \"Cummings - Lynch\",\n    \"address\": \"2211 E Hagert ST, Philadelphia, PA\",\n    \"email\": \"Kathleen4@hotmail.com\",\n    \"phone\": \"672-647-1584\",\n    \"cohort_id\": \"627e5f1d-4e66-4533-9aac-14fbdf99b231\",\n    \"options\": {\n        \"prep_time\": 20,\n        \"pickup_instructions\": \"In the food court\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/v3/merchants"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Connection,Content-Encoding,Content-Type,Date,Keep-Alive,Ratelimit-Limit,Ratelimit-Policy,Ratelimit-Remaining,Ratelimit-Reset"},{"key":"Content-Length","value":"863"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Tue, 10 Oct 2023 17:44:12 GMT"},{"key":"Etag","value":"W/\"35f-MsPRRjqI30nxO9fzyMM3uPZJtko\""},{"key":"Ngrok-Trace-Id","value":"85cecf47770d193fa5cf3b629ed0e21b"},{"key":"Ratelimit-Limit","value":"300"},{"key":"Ratelimit-Policy","value":"300;w=60"},{"key":"Ratelimit-Remaining","value":"296"},{"key":"Ratelimit-Reset","value":"3"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"Express"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"data\": {\n        \"id\": \"9f997881-6794-11ee-9fd4-d1b51b798aba\",\n        \"created_at\": \"2023-10-10T17:44:12.823Z\",\n        \"name\": \"Gutkowski, Langworth and Schiller\",\n        \"location\": {\n            \"address\": \"2211 E Hagert St, Philadelphia, PA 19125, USA\",\n            \"coordinates\": {\n                \"type\": \"Point\",\n                \"coordinates\": [\n                    -75.1251352,\n                    39.9808023\n                ]\n            }\n        },\n        \"phone\": \"2434433247\",\n        \"email\": \"terrence46@gmail.com\",\n        \"habitat\": \"627e5f1d-4e66-4533-9aac-14fbdf99b231\",\n        \"territory\": \"db93f018-36e2-416b-8196-5d3a36033440\",\n        \"timezone\": \"America/New_York\",\n        \"operator_id\": 1,\n        \"archived\": null,\n        \"options\": {\n            \"prep_time\": 20,\n            \"pickup_instructions\": \"In the food court\",\n            \"auto_accept\": false,\n            \"priority\": false\n        },\n        \"rates\": {\n            \"daas_rate\": null,\n            \"oozo_rate\": null,\n            \"catering_rate\": null,\n            \"scheduled_rate\": 15,\n            \"diner_delivery_fee\": null,\n            \"runner_commission\": null\n        },\n        \"billing\": {\n            \"enabled\": true,\n            \"stripe_id\": null,\n            \"invoice_email\": \"terrence46@gmail.com\",\n            \"invoice_default_type\": null\n        }\n    }\n}"}],"_postman_id":"f4082241-5dd8-4d00-a792-93c969fa3746"},{"name":"Update Merchant","id":"10957f41-5645-41b6-a9ed-1b54b3bc25d2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{ACCESS_TOKEN_ADMIN}}"},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n\n    \"company_address\": \"2188 E Norris St, Philadelphia, PA 19125\",\n    \"company_name\": \"WAWA\",\n    \"strategy_id\": \"ce8dccdd-7a80-449e-85ed-1c539f8736bf\",\n    \"company_phone\": \"4433869479\",\n    \"prep_time\": 20\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/vendors/2c77c710-d9a2-11ed-bffb-7df939ab8e29","description":"<blockquote>\n<p>🛑 This endpoint's URL is NOT under the /v3/ namespace, but will work with merchants created with the V3 Create Merchant endpoint above</p>\n</blockquote>\n","urlObject":{"path":["api","vendors","2c77c710-d9a2-11ed-bffb-7df939ab8e29"],"host":["https://habitat-market.ngrok.io"],"query":[],"variable":[]}},"response":[{"id":"f591a9aa-7949-482a-b307-cde1c8ffe2eb","name":"Update phone, name","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n\n    \"company_address\": \"2188 E Norris St, Philadelphia\",\n    \"company_name\": \"WAWA\",\n    \"company_phone\": \"4433869479\"\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/vendors/c82c2dc1-db14-4962-abe0-3be7b5fcc2e6"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Connection,Content-Encoding,Content-Type,Date,Keep-Alive,Ratelimit-Limit,Ratelimit-Policy,Ratelimit-Remaining,Ratelimit-Reset"},{"key":"Content-Encoding","value":"gzip"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Wed, 29 May 2024 16:29:30 GMT"},{"key":"Etag","value":"W/\"6be-9Ow1nlssOp4NK47al6SMNesuiGg\""},{"key":"Ratelimit-Limit","value":"300"},{"key":"Ratelimit-Policy","value":"300;w=60"},{"key":"Ratelimit-Remaining","value":"296"},{"key":"Ratelimit-Reset","value":"11"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"Express"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": \"c82c2dc1-db14-4962-abe0-3be7b5fcc2e6\",\n    \"auto_accept\": true,\n    \"company_address\": \"2188 E Norris St, Philadelphia\",\n    \"company_email\": \"wawa@tryhabitat.com\",\n    \"company_name\": \"WAWA\",\n    \"company_phone\": \"2677660550\",\n    \"company_type\": \"Restaurant\",\n    \"diner_delivery_fee\": 5.25,\n    \"geometry\": {\n        \"type\": \"Point\",\n        \"coordinates\": [\n            -75.13014249999999,\n            39.9782879\n        ],\n        \"interpolated\": true\n    },\n    \"grubhub_email\": null,\n    \"grubhub_password\": null,\n    \"dashboard_id\": null,\n    \"daas_rate\": 11,\n    \"order_phone\": \"2677660550\",\n    \"owner_phone\": null,\n    \"pickup_details\": \"11\",\n    \"pizza\": true,\n    \"priority\": true,\n    \"habitat\": \"627e5f1d-4e66-4533-9aac-14fbdf99b231\",\n    \"prep_time\": 18,\n    \"radius\": null,\n    \"active_zone\": null,\n    \"send_call_alerts\": true,\n    \"self_delivery\": true,\n    \"timezone\": \"America/New_York\",\n    \"uid\": \"f3ba2c00-0331-11ef-8407-67c0cf7a3a57\",\n    \"seed_demand_matrix\": null,\n    \"created_at\": \"2024-04-25T18:30:55.023Z\",\n    \"onboard_start\": null,\n    \"archived_at\": null,\n    \"yelp_phone\": null,\n    \"grubhub_phone\": null,\n    \"cusine_type\": null,\n    \"billing_email\": \"wawa@tryhabitat.com\",\n    \"stripe_id\": \"cus_OAOY0zjNyLn1mp\",\n    \"completed_orders\": 0,\n    \"test\": true,\n    \"smart_arrival_estimates\": true,\n    \"tier\": null,\n    \"runner_commission\": null,\n    \"billing_relationship\": true,\n    \"territory_id\": \"db93f018-36e2-416b-8196-5d3a36033440\",\n    \"oozo_rate\": 11,\n    \"default_partner\": null,\n    \"partnered\": true,\n    \"operator_id\": 1,\n    \"catering_price\": 11,\n    \"strategy_id\": \"9a2c394d-0613-466e-ba7b-dc7d2aad527b\",\n    \"default_invoice_type\": null,\n    \"scheduled_price\": 11,\n    \"daas_types\": [\n        \"online\",\n        \"cash\"\n    ],\n    \"auto_route_accept\": false,\n    \"chat_support\": false,\n    \"external_assign\": false,\n    \"use_smart_arrival_estimates\": false,\n    \"footer_image\": \"https://dsp-assets-first.s3.amazonaws.com/footer_merchant-c82c2dc1-db14-4962-abe0-3be7b5fcc2e6\",\n    \"footer_link\": \"https://marketing.com\",\n    \"header_image\": null,\n    \"catering\": true,\n    \"partial_volume\": false,\n    \"internal_fleet\": true\n}"}],"_postman_id":"10957f41-5645-41b6-a9ed-1b54b3bc25d2"},{"name":"Get Merchants","id":"bb520e3d-cf0b-4955-8f94-8408e517a6f3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{ACCESS_TOKEN_ADMIN}}"},"isInherited":false},"method":"GET","header":[],"url":"https://habitat-market.ngrok.io/api/v3/merchants?limit=1&sort=asc","description":"<p>Fetch all merchants for your workspace, limited to 250 per fetch, but with pagination options.</p>\n","urlObject":{"path":["api","v3","merchants"],"host":["https://habitat-market.ngrok.io"],"query":[{"key":"limit","value":"1"},{"key":"sort","value":"asc"}],"variable":[]}},"response":[{"id":"92227913-8eec-42dc-bf43-d4f01af5b8a5","name":"Get Merchants","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"{{ACCESS_TOKEN_ADMIN}}","type":"text"}],"url":{"raw":"https://habitat-market.ngrok.io/api/v3/merchants?limit=1&sort=asc","host":["https://habitat-market.ngrok.io"],"path":["api","v3","merchants"],"query":[{"key":"limit","value":"1"},{"key":"sort","value":"asc"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"856"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Thu, 16 Mar 2023 16:48:53 GMT"},{"key":"Etag","value":"W/\"358-sDxEVD9WbGmCu73aCE7/KG3rJG0\""},{"key":"Ngrok-Trace-Id","value":"8fc203eed3cc61c3fe92575dbbafde64"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"Express"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"data\": [\n        {\n            \"id\": \"66ea2921-c416-11ed-85d7-2b8b3a8b5eeb\",\n            \"created_at\": \"2023-03-16T16:20:01.825Z\",\n            \"name\": \"mikes test\",\n            \"location\": {\n                \"address\": \"2211 E Hagert St, Philadelphia, PA 19125, USA\",\n                \"coordinates\": {\n                    \"type\": \"Point\",\n                    \"coordinates\": [\n                        -75.1251352,\n                        39.9808023\n                    ]\n                }\n            },\n            \"phone\": \"12333322311\",\n            \"email\": \"test-account@firstdelivey.com\",\n            \"habitat\": \"4146ce29-852e-4b1d-a7a4-55699a057419\",\n            \"territory\": \"a953b4be-ae6f-43f8-a77d-49be62c3fef2\",\n            \"timezone\": \"America/New_York\",\n            \"operator_id\": 1,\n            \"archived\": null,\n            \"options\": {\n                \"prep_time\": 20,\n                \"pickup_instructions\": null,\n                \"auto_accept\": false,\n                \"priority\": false\n            },\n            \"rates\": {\n                \"daas_rate\": null,\n                \"oozo_rate\": null,\n                \"catering_rate\": null,\n                \"scheduled_rate\": 15,\n                \"diner_delivery_fee\": null,\n                \"runner_commission\": null\n            },\n            \"billing\": {\n                \"enabled\": true,\n                \"stripe_id\": null,\n                \"invoice_email\": \"test-account@firstdelivey.com\",\n                \"invoice_default_type\": null\n            }\n        }\n    ],\n    \"total\": 18\n}"}],"_postman_id":"bb520e3d-cf0b-4955-8f94-8408e517a6f3"},{"name":"Get Merchant","id":"28c540c3-a595-4ce5-bfa1-2b5d8417938f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{ACCESS_TOKEN_ADMIN}}"},"isInherited":false},"method":"GET","header":[],"url":"https://habitat-market.ngrok.io/api/v3/merchants/2c77c710-d9a2-11ed-bffb-7df939ab8e29","description":"<p>Gets a specific merchant object given an id</p>\n","urlObject":{"path":["api","v3","merchants","2c77c710-d9a2-11ed-bffb-7df939ab8e29"],"host":["https://habitat-market.ngrok.io"],"query":[],"variable":[]}},"response":[{"id":"bb9c1406-c63e-431e-8c9e-5f9bf346d6da","name":"Get Merchant","originalRequest":{"method":"GET","header":[],"url":"https://habitat-market.ngrok.io/api/v3/merchants/2c77c710-d9a2-11ed-bffb-7df939ab8e29"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Sucuri/Cloudproxy"},{"key":"Date","value":"Wed, 26 Apr 2023 23:14:59 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"798"},{"key":"Connection","value":"keep-alive"},{"key":"X-Sucuri-ID","value":"14028"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Content-Security-Policy","value":"upgrade-insecure-requests;"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Etag","value":"W/\"31e-yyDCP/rscKx8TS+meZz23hRSEok\""},{"key":"Vary","value":"Accept-Encoding"},{"key":"Via","value":"1.1 vegur"},{"key":"X-Sucuri-Cache","value":"HIT"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"data\": {\n        \"id\": \"d0924c31-5540-11ed-9c77-7f289b287406\",\n        \"created_at\": \"2022-10-26T15:13:58.858Z\",\n        \"name\": \"wawa\",\n        \"location\": {\n            \"address\": \"16 W 14th St, New York, NY 10011, USA\",\n            \"coordinates\": {\n                \"type\": \"Point\",\n                \"coordinates\": [\n                    -73.99798179999999,\n                    40.7376758\n                ]\n            }\n        },\n        \"phone\": \"2677660550\",\n        \"email\": \"jj@gmail.com\",\n        \"habitat\": \"ce3140da-9629-46aa-8509-b049667dc4f1\",\n        \"territory\": \"76a558fb-2c89-42b4-a493-fafc966a5825\",\n        \"timezone\": \"America/New_York\",\n        \"operator_id\": 26,\n        \"archived\": null,\n        \"options\": {\n            \"prep_time\": 20,\n            \"pickup_instructions\": null,\n            \"auto_accept\": true,\n            \"priority\": false\n        },\n        \"rates\": {\n            \"daas_rate\": 5.5,\n            \"oozo_rate\": null,\n            \"catering_rate\": 30,\n            \"scheduled_rate\": 15,\n            \"diner_delivery_fee\": null,\n            \"runner_commission\": null\n        },\n        \"billing\": {\n            \"enabled\": true,\n            \"stripe_id\": null,\n            \"invoice_email\": \"jj@gmail.com\",\n            \"invoice_default_type\": null\n        }\n    }\n}"}],"_postman_id":"28c540c3-a595-4ce5-bfa1-2b5d8417938f"}],"id":"f3720581-508a-4668-81c0-1cf5eff880e7","_postman_id":"f3720581-508a-4668-81c0-1cf5eff880e7","description":""},{"name":"Orders","item":[{"name":"Get Provider Quotes","id":"4a1ab494-958a-449f-957d-a602a30d4bf6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{ACCESS_TOKEN_ADMIN}}"},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"merchant_id\": \"2c77c710-d9a2-11ed-bffb-7df939ab8e29\",\n    \"dropoff_by\": \"2023-03-22T15:44:13.389Z\",\n    \"dropoff\": {\n        \"full_address\": \"2166 E Norris St., Philadelphia PA, 19125\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/v3/quotes","description":"<h4 id=\"why-do-i-need-quotes\">Why do I need quotes?</h4>\n<p><strong>For basic use cases, you don't.</strong> Getting provider quotes is always an <em>optional</em> step before placing an order. It is mostly useful if your territories and merchants are configured to use Strategies - <strong>think of the response as a 'snapshot' of what the First algorithm would do if you immediately placed the order.</strong> Breaking it down, the Quote response tells you:</p>\n<ul>\n<li>Which <em><strong>providers</strong></em> are able to fulfill the delivery <strong>-</strong> including pricing and pickup/dropoff estimates</li>\n<li><strong>What</strong> <em><strong>provider</strong></em> <strong>is preferred -</strong> Based on your configured Strategies</li>\n<li><strong>How the</strong> <em><strong>preferred provider</strong></em> <strong>was determined -</strong> the <code>strategy</code> object shows which strategy was used to determine which provider is preferred</li>\n</ul>\n<h4 id=\"when-are-quotes-useful\">When are quotes useful?</h4>\n<p>The most common use cases for quotes are to give your end-customer:</p>\n<ul>\n<li>the choice to pick between multiple delivery providers on checkout</li>\n<li>provide an estimated pickup/delivery time for the preferred provider</li>\n</ul>\n<h4 id=\"why-am-i-not-getting-any-quotes-back\">Why am I not getting any quotes back?</h4>\n<ul>\n<li><strong>Especially in sandbox -</strong> <strong>make sure the</strong> <strong><code>dropoff</code></strong> <strong>address is close to the Merchant's address (at least the same city!)</strong></li>\n<li><strong>If you are using Strategies, the more constraints you have, the smaller the list of available quotes will be.</strong></li>\n</ul>\n<h3 id=\"request-body\">Request Body</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Optional? (default)</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>merchant_id</code></td>\n<td></td>\n<td>ID from <a href=\"https://\">create Merchant response</a></td>\n</tr>\n<tr>\n<td><code>dropoff</code></td>\n<td></td>\n<td>Address and instructions (see examples for <code>full_address</code> and structured address payloads)</td>\n</tr>\n<tr>\n<td><code>dropoff_time</code></td>\n<td>Yes (ASAP)</td>\n<td>Target dropoff time. If excluded, DSP quote times will reflect ASAP pickup and delivery.</td>\n</tr>\n<tr>\n<td><code>pickup_time</code></td>\n<td>Yes (ASAP)</td>\n<td>Target pickup time. If excluded, DSP quote times will reflect ASAP pickup and delivery.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response-body\">Response Body</h3>\n<p>The quote response contains the following top-level keys:</p>\n<ul>\n<li><code>quotes</code> - successful DSP quotes, with banned DSPs filtered and sorted by your strategy's prefer ranking.</li>\n<li><code>all_quotes</code> - all successful DSP quotes, including banned DSPs</li>\n<li><code>strategy</code> - prefer rankings and bans for the strategy used for the quote request</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>Quote ID, pass this to POST /v3/orders to override strategy</td>\n</tr>\n<tr>\n<td><code>provider</code></td>\n<td>Name of the DSP the quote is from</td>\n</tr>\n<tr>\n<td><code>price</code></td>\n<td>Price, in cents, the DSP will charge for the delivery</td>\n</tr>\n<tr>\n<td><code>pickup_estimate</code> <code>dropoff_estimate</code></td>\n<td>ISODate estimates for pickup and dropoff provided by the DSP</td>\n</tr>\n<tr>\n<td><code>pickup_mins_from_now</code> <code>delivery_mins_from_now</code></td>\n<td>Utility for returning the above estimate values in minutes</td>\n</tr>\n<tr>\n<td><code>preferred</code></td>\n<td>Preferred DSP according to your Strategy settings</td>\n</tr>\n<tr>\n<td><code>distance</code></td>\n<td>Distance from pickup to dropoff metadata. Currently only unit supported is miles, and distance is always crow-flies/great-circle</td>\n</tr>\n<tr>\n<td><code>zone_fees</code></td>\n<td>The corresponding zone and pricing attributes, based on delivery <code>distance</code>. <strong>Zone Fees are currently only configurable via UI</strong></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v3","quotes"],"host":["https://habitat-market.ngrok.io"],"query":[],"variable":[]}},"response":[{"id":"6de29532-312f-43c5-af27-6bcb8ef906a0","name":"Get ASAP quote","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"28ffba40-6f8b-11ef-92ae-2f6501350e45","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"merchant_id\": \"4c2c18d0-9ce3-44ef-9184-df721f27f4fa\",\n    \"dropoff\": {\n        \"full_address\": \"2166 E Norris St., Philadelphia PA, 19125\",\n        \"instructions\": \"123\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://habitat-market.ngrok.io/api/v3/quotes","host":["https://habitat-market.ngrok.io"],"path":["api","v3","quotes"],"query":[{"key":"","value":null,"type":"text","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Encoding","value":"gzip"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Wed, 17 May 2023 19:12:25 GMT"},{"key":"Etag","value":"W/\"8f2-DXtEHdDzsmoHKGdyW4ffjzU0eNY\""},{"key":"Ngrok-Trace-Id","value":"89ee151845f0ec69f67b7262422e5e25"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"Express"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"data\": {\n        \"quotes\": [\n            {\n                \"id\": \"8f216bcf-bcf4-4a1f-80bf-f685cf35b5cd\",\n                \"provider\": \"relay\",\n                \"price\": 550,\n                \"pickup_estimate\": \"2023-05-17T19:27:24.520Z\",\n                \"dropoff_estimate\": \"2023-05-17T19:30:24.520Z\",\n                \"delivery_mins_from_now\": 17,\n                \"pickup_mins_from_now\": 14,\n                \"preferred\": true,\n                \"distance\": {\n                    \"type\": \"crow_flies\",\n                    \"unit\": \"miles\",\n                    \"value\": 0\n                },\n                \"zone_fees\": {\n                    \"id\": \"1bacea79-9468-47f2-b770-da16c6cc154b\",\n                    \"billable_merchant_fee\": 500\n                }\n            }\n        ],\n        \"all_quotes\": [\n            {\n                \"id\": \"af141609-c665-4674-8c7d-c9fe54fd3936\",\n                \"provider\": \"doordash\",\n                \"price\": 700,\n                \"pickup_estimate\": \"2023-05-17T19:27:24.000Z\",\n                \"dropoff_estimate\": \"2023-05-17T20:13:32.000Z\",\n                \"delivery_mins_from_now\": 61,\n                \"pickup_mins_from_now\": 14,\n                \"preferred\": true,\n                \"distance\": {\n                    \"type\": \"crow_flies\",\n                    \"unit\": \"miles\",\n                    \"value\": 0\n                },\n                \"zone_fees\": {\n                    \"id\": \"1bacea79-9468-47f2-b770-da16c6cc154b\",\n                    \"billable_merchant_fee\": 500\n                }\n            },\n            {\n                \"id\": \"f4fffb32-08ca-40f2-81fb-bdbf93595ee1\",\n                \"provider\": \"uber\",\n                \"price\": 600,\n                \"pickup_estimate\": \"2023-05-17T19:12:25.173Z\",\n                \"dropoff_estimate\": \"2023-05-17T19:44:28.000Z\",\n                \"delivery_mins_from_now\": 32,\n                \"pickup_mins_from_now\": 0,\n                \"preferred\": false,\n                \"distance\": {\n                    \"type\": \"crow_flies\",\n                    \"unit\": \"miles\",\n                    \"value\": 0\n                },\n                \"zone_fees\": {\n                    \"id\": \"1bacea79-9468-47f2-b770-da16c6cc154b\",\n                    \"billable_merchant_fee\": 500\n                }\n            },\n            {\n                \"id\": \"58377c88-011e-40ca-9ec9-1e1be86ffd2b\",\n                \"provider\": \"ally\",\n                \"price\": 819,\n                \"pickup_estimate\": \"2023-05-17T19:42:24.000Z\",\n                \"dropoff_estimate\": \"2023-05-17T19:57:24.000Z\",\n                \"delivery_mins_from_now\": 44,\n                \"pickup_mins_from_now\": 29,\n                \"preferred\": false,\n                \"distance\": {\n                    \"type\": \"crow_flies\",\n                    \"unit\": \"miles\",\n                    \"value\": 0\n                },\n                \"zone_fees\": {\n                    \"id\": \"1bacea79-9468-47f2-b770-da16c6cc154b\",\n                    \"billable_merchant_fee\": 500\n                }\n            },\n            {\n                \"id\": \"8f216bcf-bcf4-4a1f-80bf-f685cf35b5cd\",\n                \"provider\": \"relay\",\n                \"price\": 550,\n                \"pickup_estimate\": \"2023-05-17T19:27:24.520Z\",\n                \"dropoff_estimate\": \"2023-05-17T19:30:24.520Z\",\n                \"delivery_mins_from_now\": 17,\n                \"pickup_mins_from_now\": 14,\n                \"preferred\": false,\n                \"distance\": {\n                    \"type\": \"crow_flies\",\n                    \"unit\": \"miles\",\n                    \"value\": 0\n                },\n                \"zone_fees\": {\n                    \"id\": \"1bacea79-9468-47f2-b770-da16c6cc154b\",\n                    \"billable_merchant_fee\": 500\n                }\n            }\n        ],\n        \"strategy\": {\n            \"id\": \"af55ad1e-4d9b-4721-a38f-7c5895ef0595\",\n            \"operator_id\": 1,\n            \"default\": true,\n            \"tie_breaker\": \"cheapest\",\n            \"name\": \"Default (Cheapest)\",\n            \"providers\": [\n                {\n                    \"name\": \"relay\",\n                    \"type\": \"prefer\",\n                    \"index\": 0\n                },\n                {\n                    \"name\": \"doordash\",\n                    \"type\": \"ban\",\n                    \"index\": 0\n                },\n                {\n                    \"name\": \"uber\",\n                    \"type\": \"ban\",\n                    \"index\": 1\n                },\n                {\n                    \"name\": \"ally\",\n                    \"type\": \"ban\",\n                    \"index\": 2\n                }\n            ]\n        }\n    }\n}"},{"id":"0bbc6db6-ab54-44e9-b085-7ff76f19576c","name":"Get Scheduled quote","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"{{ACCESS_TOKEN_ADMIN}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"merchant_id\": \"2c77c710-d9a2-11ed-bffb-7df939ab8e29\",\n    \"dropoff_by\": \"2023-05-18T20:00:00.000Z\",\n    \"dropoff\": {\n        \"full_address\": \"2166 E Norris St., Philadelphia PA, 19125\",\n        \"instructions\": \"123\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/v3/quotes"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Encoding","value":"gzip"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Wed, 17 May 2023 19:12:59 GMT"},{"key":"Etag","value":"W/\"784-ZtG0CcH/8BlZeyLCjMgt/YKZBY4\""},{"key":"Ngrok-Trace-Id","value":"d5c69221e0898be25e3189d24e2d139b"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"Express"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"data\": {\n        \"quotes\": [\n            {\n                \"id\": \"8eed6eec-8699-4b25-a47c-b828cefd5dd7\",\n                \"provider\": \"relay\",\n                \"price\": 550,\n                \"pickup_estimate\": \"2023-05-18T19:57:00.000Z\",\n                \"dropoff_estimate\": \"2023-05-18T20:00:00.000Z\",\n                \"delivery_mins_from_now\": 1487,\n                \"pickup_mins_from_now\": 1484,\n                \"preferred\": true,\n                \"distance\": {\n                    \"type\": \"crow_flies\",\n                    \"unit\": \"miles\",\n                    \"value\": 0\n                },\n                \"zone_fees\": {\n                    \"id\": \"1bacea79-9468-47f2-b770-da16c6cc154b\",\n                    \"billable_merchant_fee\": 500\n                }\n            }\n        ],\n        \"all_quotes\": [\n            {\n                \"id\": \"c316452c-1d0c-4e8b-9e2f-c3d242794499\",\n                \"provider\": \"doordash\",\n                \"price\": 700,\n                \"pickup_estimate\": \"2023-05-18T19:14:32.000Z\",\n                \"dropoff_estimate\": \"2023-05-18T20:00:00.000Z\",\n                \"delivery_mins_from_now\": 1487,\n                \"pickup_mins_from_now\": 1441,\n                \"preferred\": true,\n                \"distance\": {\n                    \"type\": \"crow_flies\",\n                    \"unit\": \"miles\",\n                    \"value\": 0\n                },\n                \"zone_fees\": {\n                    \"id\": \"1bacea79-9468-47f2-b770-da16c6cc154b\",\n                    \"billable_merchant_fee\": 500\n                }\n            },\n            {\n                \"id\": \"2f7584c3-28c1-456e-a4b1-3e17733d671d\",\n                \"provider\": \"ally\",\n                \"price\": 819,\n                \"pickup_estimate\": \"2023-05-18T19:45:00.000Z\",\n                \"dropoff_estimate\": \"2023-05-18T20:00:00.000Z\",\n                \"delivery_mins_from_now\": 1487,\n                \"pickup_mins_from_now\": 1472,\n                \"preferred\": false,\n                \"distance\": {\n                    \"type\": \"crow_flies\",\n                    \"unit\": \"miles\",\n                    \"value\": 0\n                },\n                \"zone_fees\": {\n                    \"id\": \"1bacea79-9468-47f2-b770-da16c6cc154b\",\n                    \"billable_merchant_fee\": 500\n                }\n            },\n            {\n                \"id\": \"8eed6eec-8699-4b25-a47c-b828cefd5dd7\",\n                \"provider\": \"relay\",\n                \"price\": 550,\n                \"pickup_estimate\": \"2023-05-18T19:57:00.000Z\",\n                \"dropoff_estimate\": \"2023-05-18T20:00:00.000Z\",\n                \"delivery_mins_from_now\": 1487,\n                \"pickup_mins_from_now\": 1484,\n                \"preferred\": false,\n                \"distance\": {\n                    \"type\": \"crow_flies\",\n                    \"unit\": \"miles\",\n                    \"value\": 0\n                },\n                \"zone_fees\": {\n                    \"id\": \"1bacea79-9468-47f2-b770-da16c6cc154b\",\n                    \"billable_merchant_fee\": 500\n                }\n            }\n        ],\n        \"strategy\": {\n            \"id\": \"af55ad1e-4d9b-4721-a38f-7c5895ef0595\",\n            \"operator_id\": 1,\n            \"default\": true,\n            \"tie_breaker\": \"cheapest\",\n            \"name\": \"Default (Cheapest)\",\n            \"providers\": [\n                {\n                    \"name\": \"relay\",\n                    \"type\": \"prefer\",\n                    \"index\": 0\n                },\n                {\n                    \"name\": \"doordash\",\n                    \"type\": \"ban\",\n                    \"index\": 0\n                },\n                {\n                    \"name\": \"uber\",\n                    \"type\": \"ban\",\n                    \"index\": 1\n                },\n                {\n                    \"name\": \"ally\",\n                    \"type\": \"ban\",\n                    \"index\": 2\n                }\n            ]\n        }\n    }\n}"},{"id":"0d9efc86-5949-43a9-8a3c-3c6107b70404","name":"With structured address","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"{{ACCESS_TOKEN_ADMIN}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"merchant_id\": \"2c77c710-d9a2-11ed-bffb-7df939ab8e29\",\n    \"dropoff\": {\n        \"street\": \"2166 E Norris St.\",\n        \"city\": \"Philadelphia\",\n        \"state\": \"PA\",\n        \"zip\": \"19125\",\n        \"instructions\": \"Take me to the river, drop me in the water\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/v3/quotes"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Encoding","value":"gzip"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Wed, 17 May 2023 19:13:15 GMT"},{"key":"Etag","value":"W/\"8f2-7xHda2yigUR32UA1urNRJOS3l3Y\""},{"key":"Ngrok-Trace-Id","value":"632046eb863c6445342b4880f43e0a59"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"Express"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"data\": {\n        \"quotes\": [\n            {\n                \"id\": \"8d94c8c8-2c88-49f6-b47e-98831b4ecb28\",\n                \"provider\": \"relay\",\n                \"price\": 550,\n                \"pickup_estimate\": \"2023-05-17T19:28:15.195Z\",\n                \"dropoff_estimate\": \"2023-05-17T19:31:15.195Z\",\n                \"delivery_mins_from_now\": 17,\n                \"pickup_mins_from_now\": 14,\n                \"preferred\": true,\n                \"distance\": {\n                    \"type\": \"crow_flies\",\n                    \"unit\": \"miles\",\n                    \"value\": 0\n                },\n                \"zone_fees\": {\n                    \"id\": \"1bacea79-9468-47f2-b770-da16c6cc154b\",\n                    \"billable_merchant_fee\": 500\n                }\n            }\n        ],\n        \"all_quotes\": [\n            {\n                \"id\": \"fbcc8269-70db-480b-ab68-b98efa85d419\",\n                \"provider\": \"doordash\",\n                \"price\": 700,\n                \"pickup_estimate\": \"2023-05-17T19:28:15.000Z\",\n                \"dropoff_estimate\": \"2023-05-17T20:14:23.000Z\",\n                \"delivery_mins_from_now\": 61,\n                \"pickup_mins_from_now\": 14,\n                \"preferred\": true,\n                \"distance\": {\n                    \"type\": \"crow_flies\",\n                    \"unit\": \"miles\",\n                    \"value\": 0\n                },\n                \"zone_fees\": {\n                    \"id\": \"1bacea79-9468-47f2-b770-da16c6cc154b\",\n                    \"billable_merchant_fee\": 500\n                }\n            },\n            {\n                \"id\": \"c0e0ec4c-2f67-490d-94d9-f320d0532e22\",\n                \"provider\": \"uber\",\n                \"price\": 600,\n                \"pickup_estimate\": \"2023-05-17T19:13:15.808Z\",\n                \"dropoff_estimate\": \"2023-05-17T19:45:18.000Z\",\n                \"delivery_mins_from_now\": 32,\n                \"pickup_mins_from_now\": 0,\n                \"preferred\": false,\n                \"distance\": {\n                    \"type\": \"crow_flies\",\n                    \"unit\": \"miles\",\n                    \"value\": 0\n                },\n                \"zone_fees\": {\n                    \"id\": \"1bacea79-9468-47f2-b770-da16c6cc154b\",\n                    \"billable_merchant_fee\": 500\n                }\n            },\n            {\n                \"id\": \"99775706-30fc-4617-96c3-f2e7641a8eaf\",\n                \"provider\": \"ally\",\n                \"price\": 819,\n                \"pickup_estimate\": \"2023-05-17T19:43:15.000Z\",\n                \"dropoff_estimate\": \"2023-05-17T19:58:15.000Z\",\n                \"delivery_mins_from_now\": 44,\n                \"pickup_mins_from_now\": 29,\n                \"preferred\": false,\n                \"distance\": {\n                    \"type\": \"crow_flies\",\n                    \"unit\": \"miles\",\n                    \"value\": 0\n                },\n                \"zone_fees\": {\n                    \"id\": \"1bacea79-9468-47f2-b770-da16c6cc154b\",\n                    \"billable_merchant_fee\": 500\n                }\n            },\n            {\n                \"id\": \"8d94c8c8-2c88-49f6-b47e-98831b4ecb28\",\n                \"provider\": \"relay\",\n                \"price\": 550,\n                \"pickup_estimate\": \"2023-05-17T19:28:15.195Z\",\n                \"dropoff_estimate\": \"2023-05-17T19:31:15.195Z\",\n                \"delivery_mins_from_now\": 17,\n                \"pickup_mins_from_now\": 14,\n                \"preferred\": false,\n                \"distance\": {\n                    \"type\": \"crow_flies\",\n                    \"unit\": \"miles\",\n                    \"value\": 0\n                },\n                \"zone_fees\": {\n                    \"id\": \"1bacea79-9468-47f2-b770-da16c6cc154b\",\n                    \"billable_merchant_fee\": 500\n                }\n            }\n        ],\n        \"strategy\": {\n            \"id\": \"af55ad1e-4d9b-4721-a38f-7c5895ef0595\",\n            \"operator_id\": 1,\n            \"default\": true,\n            \"tie_breaker\": \"cheapest\",\n            \"name\": \"Default (Cheapest)\",\n            \"providers\": [\n                {\n                    \"name\": \"relay\",\n                    \"type\": \"prefer\",\n                    \"index\": 0\n                },\n                {\n                    \"name\": \"doordash\",\n                    \"type\": \"ban\",\n                    \"index\": 0\n                },\n                {\n                    \"name\": \"uber\",\n                    \"type\": \"ban\",\n                    \"index\": 1\n                },\n                {\n                    \"name\": \"ally\",\n                    \"type\": \"ban\",\n                    \"index\": 2\n                }\n            ]\n        }\n    }\n}"},{"id":"7f29664c-2e9b-4e70-a853-a76c40d73139","name":"With string address","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"{{ACCESS_TOKEN_ADMIN}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"merchant_id\": \"2c77c710-d9a2-11ed-bffb-7df939ab8e29\",\n    \"dropoff\": {\n        \"full_address\": \"2166 E Norris St., Philadelphia PA, 19125\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://habitat-market.ngrok.io/api/v3/quotes","host":["https://habitat-market.ngrok.io"],"path":["api","v3","quotes"],"query":[{"key":"","value":null,"type":"text","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Encoding","value":"gzip"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Wed, 17 May 2023 19:13:26 GMT"},{"key":"Etag","value":"W/\"8f2-HqyzsEF42VgNqAO8VwNeKrdg+Ag\""},{"key":"Ngrok-Trace-Id","value":"d6f42938d7a16f1c5fe4558a51d52046"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"Express"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"data\": {\n        \"quotes\": [\n            {\n                \"id\": \"2edaf23a-e92d-4780-aa2c-da5d082e1ae1\",\n                \"provider\": \"relay\",\n                \"price\": 550,\n                \"pickup_estimate\": \"2023-05-17T19:28:26.017Z\",\n                \"dropoff_estimate\": \"2023-05-17T19:31:26.017Z\",\n                \"delivery_mins_from_now\": 17,\n                \"pickup_mins_from_now\": 14,\n                \"preferred\": true,\n                \"distance\": {\n                    \"type\": \"crow_flies\",\n                    \"unit\": \"miles\",\n                    \"value\": 0\n                },\n                \"zone_fees\": {\n                    \"id\": \"1bacea79-9468-47f2-b770-da16c6cc154b\",\n                    \"billable_merchant_fee\": 500\n                }\n            }\n        ],\n        \"all_quotes\": [\n            {\n                \"id\": \"feb4ccd4-1110-4a85-9be5-0693d86ef8c7\",\n                \"provider\": \"doordash\",\n                \"price\": 700,\n                \"pickup_estimate\": \"2023-05-17T19:28:26.000Z\",\n                \"dropoff_estimate\": \"2023-05-17T20:14:34.000Z\",\n                \"delivery_mins_from_now\": 61,\n                \"pickup_mins_from_now\": 14,\n                \"preferred\": true,\n                \"distance\": {\n                    \"type\": \"crow_flies\",\n                    \"unit\": \"miles\",\n                    \"value\": 0\n                },\n                \"zone_fees\": {\n                    \"id\": \"1bacea79-9468-47f2-b770-da16c6cc154b\",\n                    \"billable_merchant_fee\": 500\n                }\n            },\n            {\n                \"id\": \"9cb8ed89-8231-4133-83b7-2696520dd72b\",\n                \"provider\": \"uber\",\n                \"price\": 600,\n                \"pickup_estimate\": \"2023-05-17T19:13:26.814Z\",\n                \"dropoff_estimate\": \"2023-05-17T19:45:29.000Z\",\n                \"delivery_mins_from_now\": 32,\n                \"pickup_mins_from_now\": 0,\n                \"preferred\": false,\n                \"distance\": {\n                    \"type\": \"crow_flies\",\n                    \"unit\": \"miles\",\n                    \"value\": 0\n                },\n                \"zone_fees\": {\n                    \"id\": \"1bacea79-9468-47f2-b770-da16c6cc154b\",\n                    \"billable_merchant_fee\": 500\n                }\n            },\n            {\n                \"id\": \"7387ded7-acc9-4d9f-a577-a4ed3190f0a0\",\n                \"provider\": \"ally\",\n                \"price\": 819,\n                \"pickup_estimate\": \"2023-05-17T19:43:26.000Z\",\n                \"dropoff_estimate\": \"2023-05-17T19:58:26.000Z\",\n                \"delivery_mins_from_now\": 44,\n                \"pickup_mins_from_now\": 29,\n                \"preferred\": false,\n                \"distance\": {\n                    \"type\": \"crow_flies\",\n                    \"unit\": \"miles\",\n                    \"value\": 0\n                },\n                \"zone_fees\": {\n                    \"id\": \"1bacea79-9468-47f2-b770-da16c6cc154b\",\n                    \"billable_merchant_fee\": 500\n                }\n            },\n            {\n                \"id\": \"2edaf23a-e92d-4780-aa2c-da5d082e1ae1\",\n                \"provider\": \"relay\",\n                \"price\": 550,\n                \"pickup_estimate\": \"2023-05-17T19:28:26.017Z\",\n                \"dropoff_estimate\": \"2023-05-17T19:31:26.017Z\",\n                \"delivery_mins_from_now\": 17,\n                \"pickup_mins_from_now\": 14,\n                \"preferred\": false,\n                \"distance\": {\n                    \"type\": \"crow_flies\",\n                    \"unit\": \"miles\",\n                    \"value\": 0\n                },\n                \"zone_fees\": {\n                    \"id\": \"1bacea79-9468-47f2-b770-da16c6cc154b\",\n                    \"billable_merchant_fee\": 500\n                }\n            }\n        ],\n        \"strategy\": {\n            \"id\": \"af55ad1e-4d9b-4721-a38f-7c5895ef0595\",\n            \"operator_id\": 1,\n            \"default\": true,\n            \"tie_breaker\": \"cheapest\",\n            \"name\": \"Default (Cheapest)\",\n            \"providers\": [\n                {\n                    \"name\": \"relay\",\n                    \"type\": \"prefer\",\n                    \"index\": 0\n                },\n                {\n                    \"name\": \"doordash\",\n                    \"type\": \"ban\",\n                    \"index\": 0\n                },\n                {\n                    \"name\": \"uber\",\n                    \"type\": \"ban\",\n                    \"index\": 1\n                },\n                {\n                    \"name\": \"ally\",\n                    \"type\": \"ban\",\n                    \"index\": 2\n                }\n            ]\n        }\n    }\n}"}],"_postman_id":"4a1ab494-958a-449f-957d-a602a30d4bf6"},{"name":"Create Order","id":"bbb4e818-9efc-4689-9677-165aaa98dda5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{ACCESS_TOKEN_ADMIN}}"},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"contents\": [\n        {\n            \"name\": \"Jigowatt Nachos\",\n            \"price\": 9.99,\n            \"quantity\": 1\n        }\n    ],\n    \"customer_name\": \"David Baldwin\",\n    \"customer_phone\": \"+13179385775\",\n    \"diner_delivery_fee\": 0.0,\n    \"dropoff\": {\n        \"full_address\": \"2166 e norris st., philadelphia, PA\",\n        \"instructions\": \"Testing\"\n    },\n    // \"external_id\": \"018dd152-6174-b221-c0b5-7dfaf6fa0967\",\n    \"merchant_id\": \"2c77c710-d9a2-11ed-bffb-7df939ab8e29\",\n    \"order_total\": 13.69,\n    \"payment_type\": \"online\",\n    // \"partner_name\": \"toastpos\",\n    \"pickup\": {\n        \"instructions\": \"Pickup at the front door\"\n    },\n    \"subtotal\": 9.99,\n    \"tax\": 0.7,\n    \"tip\": 3.0\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/v3/orders","description":"<h4 id=\"creating-an-order-can-have-a-few-different-outcomes-depending-on-your-configuration\">Creating an order can have a few different outcomes depending on your configuration</h4>\n<ul>\n<li><p>If you are not using Dispatch Strategies:</p>\n<ul>\n<li><p>the order will appear in Dispatch under the column related to it's status</p>\n</li>\n<li><p>from here it can be dragged to your fleet, or Pending External Driver to send to a DSP</p>\n</li>\n</ul>\n</li>\n<li><p>If you are using Dispatch Strategies:</p>\n<ul>\n<li><p>the order will appear in Dispatch under Pending External Driver, with the accepted fleet's badge on it</p>\n</li>\n<li><p>once the order is assigned to a DSP driver, it will move to that runner's row until completion</p>\n</li>\n</ul>\n</li>\n</ul>\n<h1 id=\"best-practices-for-requests\">Best practices for requests</h1>\n<h3 id=\"sandbox-specific-caveats\">Sandbox-specific caveats</h3>\n<h4 id=\"using-realistic-data\">Using Realistic Data</h4>\n<p>The most common reasons why fleets aren't available are due to bad data:</p>\n<ul>\n<li><p>Use real phone numbers for merchant and customer - many DSPs will reject on the basis of a fake phone number (and can be smart about it)</p>\n</li>\n<li><p>Keep the pickup and dropoff addresses in mind based on what you're trying to test</p>\n<ul>\n<li><p>Want as many DSPs as possible? Send the pickup address next door to dropoff.</p>\n</li>\n<li><p>Want as few/no DSPs to response? Send the dropoff address several states over.</p>\n</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"simulating-delivery-lifecycle-webhooks-assign---delivered\">Simulating delivery lifecycle webhooks (assign -&gt; delivered)</h4>\n<p><strong>Uber is the only DSP in our fleet network that will send webhooks in sandbox to simulate the delivery lifecycle.</strong> This effectively means that orders will not be assigned if:</p>\n<ul>\n<li><p>An non-Uber <code>quote_id</code> ovverride is passed into this API request</p>\n</li>\n<li><p>If the configured Dispatch Strategy automation results in a non-Uber DSP being selected</p>\n</li>\n</ul>\n<p>Additionally, the timing of the assign and subsequent fulfilllment webhooks will respect the passed <code>pickup_time</code> / <code>dropoff_time</code> : we recommend passing neither when testing this functionality to expedite the webhooks.</p>\n<h4 id=\"creating-asap-and-scheduled-orders\">Creating ASAP and Scheduled Orders:</h4>\n<p>By default, all DSP requests are sent on an ASAP basis. For scheduled orders, you can optionally pass in either<code>pickup_time</code> OR <code>dropoff_time</code> (not both!). Either of these dates must be greater than 20 minutes from the time of the request.</p>\n<h4 id=\"passing-payment-line-items\">Passing payment line items</h4>\n<p>The First platform is unopinionated with the values you pass for <code>order_total</code> , <code>tax</code> and <code>diner_delivery_fee</code> - these will just pass through to the Order and Order Export objects for your reporting purposes.</p>\n<p>On the other hand, <strong><code>subtotal</code></strong> <strong>and</strong> <strong><code>tip</code></strong> <strong>can have an affect when sending orders to DSPs</strong></p>\n<p>- <code>subtotal</code> - is the price of delivery items before any fees. When requesting a refund, the DSP will typically use this amount to calculate the refund total</p>\n<p>- <code>tip</code> - is the driver's tip. Zero/low tips can impact fleet availability, and when accepted by a fleet, cause delays due to drivers declining the order.</p>\n<h4 id=\"passing-dropoff-address-to-maximize-provider-accept-rate\">Passing dropoff address to maximize Provider accept rate</h4>\n<p>Dropoff address can be passed to us in a structured <code>dropoff</code> object, or as a string ( <code>dropoff.full_address</code>). To maximize provider accept rates, we strongly recommend</p>\n<p>- 1: passing <code>dropoff.full_address</code>that is ideally the sanitized result of a geocoding API (Mapbox, Google Maps Geocoding / Places Widget); and</p>\n<p>- 2: using <code>dropoff.instructions</code> to pass any apartment number, building names, etc.</p>\n<p>If you are using the structured object address, you should ideally use <code>dropoff.instructions</code> in the same way as above to maximize Provider Accept rates and overall deliverability.</p>\n<p>You may also pass <code>dropoff.unit</code> if you are highly confident that this value will resolve to a geocodable address, but <strong>in our experience, passing</strong> <strong><code>dropoff.unit</code></strong> <strong>typically lowers the percentage of DSP accepts due to bad user input (e.g dropoff instructions, building names, etc in this field)</strong></p>\n<h4 id=\"using-a-quote-to-override-your-dispatch-strategy\">Using a Quote to override your Dispatch Strategy</h4>\n<p>Passing the <code>id</code> of a quote (see Get Provider Quotes) into this request as <code>quote_id</code> will attempt to create a delivery with that quote's DSP, <em>regardless of your strategy or any bans.</em> This is useful if your end-users are able to choose a provider (e.g in the event of a cancel, hand-pick a different provider.</p>\n<p>When sending a request with a <code>quote_id</code>, the order of operations is:</p>\n<ol>\n<li><p>Attempt to create a delivery using the exact quote</p>\n</li>\n<li><p>If the <strong>quote has</strong> <strong>expired</strong>, create a new quote/order using same provider</p>\n</li>\n<li><p>If the <strong>provider rejects</strong>, fall back to strategy</p>\n</li>\n</ol>\n<blockquote>\n<p>If the Quote flow is part of your end-user experience, <strong>we strongly encourage re-fetching quotes before the order is placed to minimize the possibility of changes in Provider pricing and/or availability.</strong> </p>\n</blockquote>\n<h4 id=\"quote-expiration\">Quote Expiration</h4>\n<p>Quote expiration varies depending on the DSP (some don't even have the concept!) - so we stay unopinionated and don't enforce a standard. A good rule of thumb timeframe is after ~5 minutes, you may start to get quote rejection errors. For the best user experience, we recommend calling the quote endpoint <em>a second time</em> directly before placing the order - <strong>this allows you to let the user confirm a DSP, price, or time discrepancy before placing.</strong></p>\n<h4 id=\"provider-rejects\">Provider Rejects</h4>\n<p>If you're using External Fleet mode and Strategies - a lot can happen between validation errors, DSP rejects, etc. <code>auto_route</code> object will tell you what happened:</p>\n<ul>\n<li><p><code>enabled</code> indicates that EXT. FLEETS is enabled</p>\n</li>\n<li><p><code>success</code> false means the order was not successfully routed to a DSP</p>\n</li>\n<li><p><code>errors</code> is an array of messages that tells you what our system / DSPs rejected</p>\n</li>\n</ul>\n<h4 id=\"common-errors\">Common Errors</h4>\n<ul>\n<li><p>Phone validation: Some providers will validate the merchant and customer phone numbers for validity and/or by country</p>\n</li>\n<li><p>Address formatting: when passing <code>full_address</code>, placement of unit number, exclusion of state, zip or country, etc - can cause a Provider Reject. <strong>We highly recommend using</strong> <strong><code>full_address</code></strong> <strong>in combination with a geocoded result (e.g from Mapbox, Google APIs).</strong> Otherwise, pass us the address as an object (see fields below)</p>\n</li>\n</ul>\n<h4 id=\"request\">Request</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Optional (Default)</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>merchant_id</code></td>\n<td></td>\n<td>The ID of the merchant to send the order to</td>\n</tr>\n<tr>\n<td><code>quote_id</code></td>\n<td>Yes</td>\n<td>Quote ID from POST /v3/quotes response - used to override strategy</td>\n</tr>\n<tr>\n<td><code>customer_phone</code></td>\n<td></td>\n<td>End-customer's phone</td>\n</tr>\n<tr>\n<td><code>customer_name</code></td>\n<td></td>\n<td>End-customer's name</td>\n</tr>\n<tr>\n<td><code>subtotal</code></td>\n<td></td>\n<td>Package cost before taxes and fees</td>\n</tr>\n<tr>\n<td><code>tax</code></td>\n<td>Yes</td>\n<td>Tax</td>\n</tr>\n<tr>\n<td><code>tip</code></td>\n<td>No</td>\n<td>Tip amount for runner</td>\n</tr>\n<tr>\n<td><code>order_total</code></td>\n<td>Yes</td>\n<td>Total cost after all fees</td>\n</tr>\n<tr>\n<td><code>diner_delivery_fee</code></td>\n<td>Yes. Defaults to territory.</td>\n<td>Delivery fee diner pays - <strong>only used for data exports</strong></td>\n</tr>\n<tr>\n<td><code>runner_commission</code></td>\n<td>Yes. Defaults to territory.</td>\n<td>Per-order amount to pay runner - <em><strong>does not apply to orders sent to DSP fleet network</strong></em></td>\n</tr>\n<tr>\n<td><code>payment_type</code></td>\n<td></td>\n<td>Payment type. <code>online</code> <code>credit_card</code> or<code>cash</code> or <code>catering</code> - <em><strong>Online is the most common.</strong></em> <em><strong>Cash is not supported by all DSPs and requires additional config.</strong></em></td>\n</tr>\n<tr>\n<td><code>dropoff</code></td>\n<td></td>\n<td>Dropoff address and instructions. See example payloads for structured vs. string</td>\n</tr>\n<tr>\n<td><code>dropoff_time</code></td>\n<td>Yes. Defaults to ASAP.</td>\n<td>This overrides <code>dropoff_time</code> specified in the (optional) quote's ID passed in</td>\n</tr>\n<tr>\n<td><code>pickup_time</code></td>\n<td>Yes. Defaults to ASAP.</td>\n<td>This overrides <code>dropoff_time</code> specified in the (optional) quote's ID passed in</td>\n</tr>\n<tr>\n<td><code>pickup.instructions</code></td>\n<td></td>\n<td>Pickup instructions for driver</td>\n</tr>\n<tr>\n<td><code>contents</code></td>\n<td><code>name</code> , <code>quantity</code> <code>price</code> required for certain DSP refund eligibility  <br />  <br />- <code>price</code> should be the SKU price, not SKU x <code>quantity</code>  <br />- price fields are in dollars/local denomination - not cents!  <br />- we use metric: <code>height</code> <code>length</code> <code>width</code> are centimeters, <code>weight</code> is grams. These four values are only used for Doordash and Uber.</td>\n<td><code>{</code>  <br /><code>\"name\": string,</code>  <br /><code>\"price\": number, \"quantity\": number,</code>  <br /><code>\"height\": number, \"width\": number, \"modifiers\": { \"name\": string, \"price\": number</code>  <br /><code>}[]</code>  <br /><code>}[]</code></td>\n</tr>\n<tr>\n<td><code>skip_routing_strategy</code></td>\n<td>Yes (false)</td>\n<td>If set to true, the order will not auto-dispatch to a fleet based on Strategy configuration.</td>\n</tr>\n<tr>\n<td><code>options</code></td>\n<td>Yes</td>\n<td>Fulfillment options (<a href=\"https://\">not available for all fleets</a>)</td>\n</tr>\n<tr>\n<td><code>options.requires_signature</code></td>\n<td>Yes (false)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>options.requires_dropoff_image</code></td>\n<td>Yes (false)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>options.alcohol_contained</code></td>\n<td>Yes (false)</td>\n<td></td>\n</tr>\n<tr>\n<td><code>options.requires_pin</code></td>\n<td>Yes (false)</td>\n<td>Uber-only, require customer to provide pin on dropoff</td>\n</tr>\n<tr>\n<td><code>external_id</code></td>\n<td>Yes</td>\n<td><em>Your</em> primary key for the order, only used for your system's utility (e.g exports)</td>\n</tr>\n<tr>\n<td><code>external_order_reference</code></td>\n<td>Yes</td>\n<td><em>Your</em> diner-friendly key for the order, used for customer support, UI.</td>\n</tr>\n<tr>\n<td></td>\n<td></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response\">Response</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>Primary key for the order - used in <strong>all other endpoints and webhooks.</strong> We will return this on order creation (or you can optionally pass in a uuid V4).</td>\n</tr>\n<tr>\n<td><code>quote_id</code></td>\n<td><strong>The ID of the quote you accepted from the external DSPs /v3/quotes</strong></td>\n</tr>\n<tr>\n<td><code>dsps_delivery_id</code></td>\n<td>External DSP's native ID for the order (if being fulfilled by First DSP fleet network). <strong>This is the ID you would use if contacting a DSP's customer service for support.</strong></td>\n</tr>\n<tr>\n<td><code>provider</code></td>\n<td>External DSP fulfilling the order</td>\n</tr>\n<tr>\n<td><code>_request_id</code></td>\n<td>Meta field for debugging specific requests</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v3","orders"],"host":["https://habitat-market.ngrok.io"],"query":[],"variable":[]}},"response":[{"id":"a612d0ac-9602-44d4-91d3-3a05d8a50bb3","name":"With structured address","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"merchant_id\": \"2c77c710-d9a2-11ed-bffb-7df939ab8e29\",\n    \"customer_phone\": \"12333344999\",\n    \"customer_name\": \"Steve\",\n    \"payment_type\": \"credit_card\",\n    \"external_id\": \"your-unique-indentifier-for-order\",\n    \"external_order_reference\": \"your-customer-facing-identifier-for-order\",\n    \"tip\": 2,\n    \"subtotal\": 9,\n    \"contents\": [\n        {\n            \"name\": \"Cheeszteak\",\n            \"price\": 5.99,\n            \"quantity\": 2,\n            \"modifiers\": [{\n                \"name\": \"Provolone\",\n                \"price\": 2\n            }]\n        }\n    ],\n    \"dropoff\": {\n        \"street\": \"2166 E Norris St.\",\n        \"city\": \"Philadelphia\",\n        \"state\": \"PA\",\n        \"zip\": \"19125\",\n        \"instructions\": \"Take me to the river, drop me in the water\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/v3/orders"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Encoding","value":"gzip"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Thu, 27 Apr 2023 16:47:48 GMT"},{"key":"Etag","value":"W/\"672-cJM2FchdK8sv4bG6STiDL1mwquc\""},{"key":"Ngrok-Trace-Id","value":"f1631ac4767b3cbe9b713d2865ce6be6"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"Express"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"order\": {\n        \"id\": \"3e151480-e51b-11ed-9b9c-bbd02a81f6bc\",\n        \"quote_id\": \"3e081c30-e51b-11ed-9b9c-bbd02a81f6bc\",\n        \"external_order_id\": \"your-unique-indentifier-for-order\",\n        \"external_order_reference\": \"your-customer-facing-identifier-for-order\",\n        \"dsps_delivery_id\": null,\n        \"_request_id\": \"eb8a169e-218e-4139-bc28-5c72e464da59\",\n        \"dsps_name\": null,\n        \"created_at\": \"2023-04-27T16:47:48.686Z\",\n        \"status\": \"pending_assign\",\n        \"method\": \"Delivery\",\n        \"timezone\": \"America/New_York\",\n        \"partner_name\": null,\n        \"pickup_name\": \"Mike's Mustard\",\n        \"pickup_address\": \"2000 S Christopher Columbus Blvd, Philadelphia, PA 19148, USA\",\n        \"pickup_phone\": \"2677660550\",\n        \"pickup_instructions\": null,\n        \"pickup_lat\": 39.92,\n        \"pickup_lng\": -75.14,\n        \"dropoff_lat\": 39.98,\n        \"dropoff_lng\": -75.13,\n        \"route_distance_miles\": 5.84,\n        \"crow_flies_distance_miles\": 4,\n        \"dropoff_address\": \"2166 E Norris St.  Philadelphia, PA 19125\",\n        \"dropoff_suite\": null,\n        \"dropoff_instructions\": \"Take me to the river, drop me in the water\",\n        \"customer_name\": \"Steve\",\n        \"customer_phone\": \"2333344999\",\n        \"payment_type\": \"credit_card\",\n        \"pickup_estimate\": \"2023-04-27T17:02:48.199Z\",\n        \"dropoff_estimate\": \"2023-04-27T17:18:48.199Z\",\n        \"runner_assigned_at\": null,\n        \"runner_accepted_at\": null,\n        \"runner_arrived_origin\": null,\n        \"runner_picked_up\": null,\n        \"runner_arrived_dropoff\": null,\n        \"runner_dropped_off\": null,\n        \"cancelled_at\": null,\n        \"contents\": [\n            {\n                \"itemName\": \"Cheeszteak\",\n                \"quantity\": 2,\n                \"itemPrice\": 5.99,\n                \"modifiersText\": [\n                    {\n                        \"name\": \"Provolone\",\n                        \"price\": 2\n                    }\n                ]\n            }\n        ],\n        \"tip\": 2,\n        \"order_total\": 9,\n        \"runner\": null,\n        \"merchant_id\": \"751b26bf-0bdc-4d6f-804d-fe4b89e0027a\",\n        \"runner_id\": null,\n        \"skip_routing_strategy\": false,\n        \"diner_delivery_fee\": null,\n        \"runner_commission\": 1.5,\n        \"billable_merchant_fee\": 5.99,\n        \"dsps_delivery_fee\": null\n    }\n}"},{"id":"9418bc08-5d4d-4c02-aeeb-edc80ad55d1d","name":"With string address","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"merchant_id\": \"2c77c710-d9a2-11ed-bffb-7df939ab8e29\",\n    \"customer_phone\": \"12333344999\",\n    \"customer_name\": \"Steve\",\n    \"payment_type\": \"credit_card\",\n    \"external_id\": \"your-unique-indentifier-for-order\",\n    \"external_order_reference\": \"your-customer-facing-identifier-for-order\",\n    \"tip\": 2,\n    \"subtotal\": 9,\n    \"contents\": [\n        {\n            \"name\": \"Cheeszteak\",\n            \"price\": 5.99,\n            \"quantity\": 2,\n            \"modifiers\": [{\n                \"name\": \"Provolone\",\n                \"price\": 2\n            }]\n        }\n    ],\n    \"dropoff\": {\n        \"full_address\": \"2166 E Norris St., Philadelphia PA, 19125\",\n        \"instructions\": \"Take me to the river, drop me in the water\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/v3/orders"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Encoding","value":"gzip"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Thu, 27 Apr 2023 16:49:15 GMT"},{"key":"Etag","value":"W/\"672-UHEYhtsUwHaXpUxbl5oyiTh3paw\""},{"key":"Ngrok-Trace-Id","value":"970f859e5b7e76d126e4dca5c26b61f3"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"Express"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"order\": {\n        \"id\": \"71dba090-e51b-11ed-9b9c-bbd02a81f6bc\",\n        \"quote_id\": \"71d4e9d0-e51b-11ed-9b9c-bbd02a81f6bc\",\n        \"external_order_id\": \"your-unique-indentifier-for-order\",\n        \"external_order_reference\": \"your-customer-facing-identifier-for-order\",\n        \"dsps_delivery_id\": null,\n        \"_request_id\": \"f60dd525-8b5f-4fce-821d-0589d359e548\",\n        \"dsps_name\": null,\n        \"created_at\": \"2023-04-27T16:49:15.553Z\",\n        \"status\": \"pending_assign\",\n        \"method\": \"Delivery\",\n        \"timezone\": \"America/New_York\",\n        \"partner_name\": null,\n        \"pickup_name\": \"Mike's Mustard\",\n        \"pickup_address\": \"2000 S Christopher Columbus Blvd, Philadelphia, PA 19148, USA\",\n        \"pickup_phone\": \"2677660550\",\n        \"pickup_instructions\": null,\n        \"pickup_lat\": 39.92,\n        \"pickup_lng\": -75.14,\n        \"dropoff_lat\": 39.98,\n        \"dropoff_lng\": -75.13,\n        \"route_distance_miles\": 5.84,\n        \"crow_flies_distance_miles\": 4,\n        \"dropoff_address\": \"2166 E Norris St., Philadelphia PA, 19125\",\n        \"dropoff_suite\": null,\n        \"dropoff_instructions\": \"Take me to the river, drop me in the water\",\n        \"customer_name\": \"Steve\",\n        \"customer_phone\": \"2333344999\",\n        \"payment_type\": \"credit_card\",\n        \"pickup_estimate\": \"2023-04-27T17:04:15.100Z\",\n        \"dropoff_estimate\": \"2023-04-27T17:20:15.100Z\",\n        \"runner_assigned_at\": null,\n        \"runner_accepted_at\": null,\n        \"runner_arrived_origin\": null,\n        \"runner_picked_up\": null,\n        \"runner_arrived_dropoff\": null,\n        \"runner_dropped_off\": null,\n        \"cancelled_at\": null,\n        \"contents\": [\n            {\n                \"itemName\": \"Cheeszteak\",\n                \"quantity\": 2,\n                \"itemPrice\": 5.99,\n                \"modifiersText\": [\n                    {\n                        \"name\": \"Provolone\",\n                        \"price\": 2\n                    }\n                ]\n            }\n        ],\n        \"tip\": 2,\n        \"order_total\": 9,\n        \"runner\": null,\n        \"merchant_id\": \"751b26bf-0bdc-4d6f-804d-fe4b89e0027a\",\n        \"runner_id\": null,\n        \"skip_routing_strategy\": false,\n        \"diner_delivery_fee\": null,\n        \"runner_commission\": 1.5,\n        \"billable_merchant_fee\": 5.99,\n        \"dsps_delivery_fee\": null\n    }\n}"},{"id":"fb321006-c1fd-48ee-b0db-c6f2a43a652e","name":"With scheduled pickup time","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"merchant_id\": \"2c77c710-d9a2-11ed-bffb-7df939ab8e29\",\n    \"customer_phone\": \"12333344999\",\n    \"customer_name\": \"Steve\",\n    \"payment_type\": \"credit_card\",\n    \"external_id\": \"your-unique-indentifier-for-order\",\n    \"external_order_reference\": \"your-customer-facing-identifier-for-order\",\n    \"tip\": 2,\n    \"subtotal\": 9,\n    \"contents\": [\n        {\n            \"name\": \"Cheeszteak\",\n            \"price\": 5.99,\n            \"quantity\": 2,\n            \"modifiers\": [{\n                \"name\": \"Provolone\",\n                \"price\": 2\n            }]\n        }\n    ],\n    \"pickup_time\": \"2023-05-12T14:27:58.866Z\",\n    \"dropoff\": {\n        \"full_address\": \"2166 E Norris St., Philadelphia PA, 19125\",\n        \"instructions\": \"Take me to the river, drop me in the water\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/v3/orders"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Encoding","value":"gzip"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Thu, 11 May 2023 15:40:51 GMT"},{"key":"Etag","value":"W/\"66d-lrqP2yWq3QeRgzJOyIOuQJKAEqc\""},{"key":"Ngrok-Trace-Id","value":"261c317cfa43358ad154949aa334d25a"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"Express"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"order\": {\n        \"id\": \"352a8510-f012-11ed-b641-8b3677b6d4ef\",\n        \"quote_id\": \"35281410-f012-11ed-b641-8b3677b6d4ef\",\n        \"external_order_id\": \"your-unique-indentifier-for-order\",\n        \"external_order_reference\": \"your-customer-facing-identifier-for-order\",\n        \"dsps_delivery_id\": null,\n        \"_request_id\": \"bb8f5630-67fa-4698-bd8c-c0f29172a54c\",\n        \"dsps_name\": null,\n        \"created_at\": \"2023-05-11T15:40:51.047Z\",\n        \"status\": \"scheduled\",\n        \"method\": \"Delivery\",\n        \"timezone\": \"America/New_York\",\n        \"partner_name\": null,\n        \"pickup_name\": \"Mike's Mustard\",\n        \"pickup_address\": \"2000 N Christopher Columbus Blvd, Philadelphia, PA 19123, USA\",\n        \"pickup_phone\": \"2677660550\",\n        \"pickup_instructions\": null,\n        \"pickup_lat\": 39.96,\n        \"pickup_lng\": -75.14,\n        \"dropoff_lat\": 39.98,\n        \"dropoff_lng\": -75.13,\n        \"route_distance_miles\": 1.78,\n        \"crow_flies_distance_miles\": 1.33,\n        \"dropoff_address\": \"2166 E Norris St, Philadelphia, PA 19125\",\n        \"dropoff_suite\": null,\n        \"dropoff_instructions\": \"Take me to the river, drop me in the water\",\n        \"customer_name\": \"Steve\",\n        \"customer_phone\": \"2333344999\",\n        \"payment_type\": \"credit_card\",\n        \"pickup_estimate\": \"2023-05-12T14:27:58.866Z\",\n        \"dropoff_estimate\": \"2023-05-12T14:36:58.866Z\",\n        \"runner_assigned_at\": null,\n        \"runner_accepted_at\": null,\n        \"runner_arrived_origin\": null,\n        \"runner_picked_up\": null,\n        \"runner_arrived_dropoff\": null,\n        \"runner_dropped_off\": null,\n        \"cancelled_at\": null,\n        \"contents\": [\n            {\n                \"itemName\": \"Cheeszteak\",\n                \"quantity\": 2,\n                \"itemPrice\": 5.99,\n                \"modifiersText\": [\n                    {\n                        \"name\": \"Provolone\",\n                        \"price\": 2\n                    }\n                ]\n            }\n        ],\n        \"tip\": 2,\n        \"order_total\": 9,\n        \"runner\": null,\n        \"merchant_id\": \"3b73e318-8de3-4e6b-9e0d-97806c7c4d14\",\n        \"runner_id\": null,\n        \"skip_routing_strategy\": false,\n        \"diner_delivery_fee\": null,\n        \"runner_commission\": 1,\n        \"billable_merchant_fee\": null,\n        \"dsps_delivery_fee\": null\n    }\n}"},{"id":"e18cf2ac-58fa-46e8-a13f-b1b35db62d62","name":"With scheduled dropoff time","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"merchant_id\": \"2c77c710-d9a2-11ed-bffb-7df939ab8e29\",\n    \"customer_phone\": \"12333344999\",\n    \"customer_name\": \"Steve\",\n    \"payment_type\": \"credit_card\",\n    \"external_id\": \"your-unique-indentifier-for-order\",\n    \"external_order_reference\": \"your-customer-facing-identifier-for-order\",\n    \"tip\": 2,\n    \"subtotal\": 9,\n    \"contents\": [\n        {\n            \"name\": \"Cheeszteak\",\n            \"price\": 5.99,\n            \"quantity\": 2,\n            \"modifiers\": [{\n                \"name\": \"Provolone\",\n                \"price\": 2\n            }]\n        }\n    ],\n    \"dropoff_time\": \"2023-05-12T14:27:58.866Z\",\n    \"dropoff\": {\n        \"full_address\": \"2166 E Norris St., Philadelphia PA, 19125\",\n        \"instructions\": \"Take me to the river, drop me in the water\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/v3/orders"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Encoding","value":"gzip"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Thu, 11 May 2023 15:50:07 GMT"},{"key":"Etag","value":"W/\"66d-oGYxZDacKN9zpqN7+0hPnneaWhw\""},{"key":"Ngrok-Trace-Id","value":"fd9150d23fc909fff628c5c050197bf6"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"Express"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"order\": {\n        \"id\": \"80a58750-f013-11ed-8807-6dd59fe3f13c\",\n        \"quote_id\": \"809b2710-f013-11ed-8807-6dd59fe3f13c\",\n        \"external_order_id\": \"your-unique-indentifier-for-order\",\n        \"external_order_reference\": \"your-customer-facing-identifier-for-order\",\n        \"dsps_delivery_id\": null,\n        \"_request_id\": \"424cc353-9fe4-4e09-bfc6-0e00b9c81bcb\",\n        \"dsps_name\": null,\n        \"created_at\": \"2023-05-11T15:50:07.248Z\",\n        \"status\": \"scheduled\",\n        \"method\": \"Delivery\",\n        \"timezone\": \"America/New_York\",\n        \"partner_name\": null,\n        \"pickup_name\": \"Mike's Mustard\",\n        \"pickup_address\": \"2000 N Christopher Columbus Blvd, Philadelphia, PA 19123, USA\",\n        \"pickup_phone\": \"2677660550\",\n        \"pickup_instructions\": null,\n        \"pickup_lat\": 39.96,\n        \"pickup_lng\": -75.14,\n        \"dropoff_lat\": 39.98,\n        \"dropoff_lng\": -75.13,\n        \"route_distance_miles\": 1.78,\n        \"crow_flies_distance_miles\": 1.33,\n        \"dropoff_address\": \"2166 E Norris St, Philadelphia, PA 19125\",\n        \"dropoff_suite\": null,\n        \"dropoff_instructions\": \"Take me to the river, drop me in the water\",\n        \"customer_name\": \"Steve\",\n        \"customer_phone\": \"2333344999\",\n        \"payment_type\": \"credit_card\",\n        \"pickup_estimate\": \"2023-05-12T14:07:58.866Z\",\n        \"dropoff_estimate\": \"2023-05-12T14:27:58.866Z\",\n        \"runner_assigned_at\": null,\n        \"runner_accepted_at\": null,\n        \"runner_arrived_origin\": null,\n        \"runner_picked_up\": null,\n        \"runner_arrived_dropoff\": null,\n        \"runner_dropped_off\": null,\n        \"cancelled_at\": null,\n        \"contents\": [\n            {\n                \"itemName\": \"Cheeszteak\",\n                \"quantity\": 2,\n                \"itemPrice\": 5.99,\n                \"modifiersText\": [\n                    {\n                        \"name\": \"Provolone\",\n                        \"price\": 2\n                    }\n                ]\n            }\n        ],\n        \"tip\": 2,\n        \"order_total\": 9,\n        \"runner\": null,\n        \"merchant_id\": \"3b73e318-8de3-4e6b-9e0d-97806c7c4d14\",\n        \"runner_id\": null,\n        \"skip_routing_strategy\": false,\n        \"diner_delivery_fee\": null,\n        \"runner_commission\": 1,\n        \"billable_merchant_fee\": null,\n        \"dsps_delivery_fee\": null\n    }\n}"}],"_postman_id":"bbb4e818-9efc-4689-9677-165aaa98dda5"},{"name":"Get Orders","id":"918119ab-7c55-45a0-832a-49ad8841fb88","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{ACCESS_TOKEN_ADMIN}}"},"isInherited":false},"method":"GET","header":[],"url":"https://habitat-market.ngrok.io/api/v3/orders?limit=10&page=1","urlObject":{"path":["api","v3","orders"],"host":["https://habitat-market.ngrok.io"],"query":[{"description":{"content":"<p>(Optional) Number of orders to limit</p>\n","type":"text/plain"},"key":"limit","value":"10"},{"disabled":true,"description":{"content":"<p>(Optional) Filter which orders to fetch by created date (ISO8601 Date)</p>\n","type":"text/plain"},"key":"since","value":""},{"description":{"content":"<p>(Optional) Offset value for which batch of orders you want to fetch</p>\n","type":"text/plain"},"key":"page","value":"1"},{"disabled":true,"description":{"content":"<p>(Optional) Sort by any field, set desc field to <code>true</code> for descending, <code>false</code> for ascending</p>\n","type":"text/plain"},"key":"sorting","value":"{id: 'created_at', desc: true}"},{"disabled":true,"description":{"content":"<p>(Optional) JSON object with more filters for grabbing specific data sets. Status values listed above, territory values are the territory IDs in your syem. Start and Stop are date strings.</p>\n","type":"text/plain"},"key":"filters","value":"{territories: ['territory_1', 'territory_2'], start: ', stop: null, status: ['scheduled', 'pending_merchant', 'pending_assign', 'runner_assigned', 'en_route_pickup', 'arrived_pickup', 'picked_up', 'en_route_dropoff', 'arrived_dropoff', 'completed', 'cancelled']}"}],"variable":[]}},"response":[{"id":"64adc811-b3c5-4a8a-8912-df71e2941235","name":"Get Orders","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://habitat-market.ngrok.io/api/v3/orders?limit=10&page=1","host":["https://habitat-market.ngrok.io"],"path":["api","v3","orders"],"query":[{"key":"limit","value":"10"},{"key":"page","value":"1"},{"key":"since","value":"","description":"(Optional) Filter which orders to fetch by created date (ISO8601 Date)","disabled":true},{"key":"sort","value":"asc","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Sucuri/Cloudproxy"},{"key":"Date","value":"Thu, 27 Apr 2023 16:04:35 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Sucuri-ID","value":"14028"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Content-Security-Policy","value":"upgrade-insecure-requests;"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Etag","value":"W/\"39b3-xTTFZnVANUNjUR2GFwHtm2rnQZs\""},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"},{"key":"Via","value":"1.1 vegur"},{"key":"X-Sucuri-Cache","value":"BYPASS"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"data\": [\n        {\n            \"id\": \"04391c00-49a0-11ed-bc25-1dc13eb202d3\",\n            \"quote_id\": \"0437bc70-49a0-11ed-bc25-1dc13eb202d3\",\n            \"external_order_id\": \"04070f80-49a0-11ed-bc25-1dc13eb202d3\",\n            \"external_order_reference\": null,\n            \"dsps_delivery_id\": null,\n            \"_request_id\": null,\n            \"dsps_name\": null,\n            \"created_at\": \"2022-10-11T20:05:13.275Z\",\n            \"status\": \"pending_assign\",\n            \"method\": \"Delivery\",\n            \"timezone\": \"America/Chicago\",\n            \"partner_name\": \"snackpass\",\n            \"pickup_name\": \"Adalina\",\n            \"pickup_address\": \"912 N State St, Chicago, IL 60610, USA\",\n            \"pickup_phone\": \"13128209000\",\n            \"pickup_instructions\": null,\n            \"pickup_lat\": 41.8996995,\n            \"pickup_lng\": -87.62853129999999,\n            \"dropoff_lat\": 41.9270754,\n            \"dropoff_lng\": -87.6306663,\n            \"route_distance_miles\": 2.48,\n            \"crow_flies_distance_miles\": 1.89,\n            \"dropoff_address\": \"2401 N Lake Shore Dr, Chicago, IL 60614\",\n            \"dropoff_suite\": null,\n            \"dropoff_instructions\": \"Veniam est sit rerum consequuntur minus et assumenda.\",\n            \"customer_name\": \"Elenor  Kihn\",\n            \"customer_phone\": \"530-350-3620 x4223\",\n            \"payment_type\": \"prepaid\",\n            \"pickup_estimate\": \"2022-10-11T20:20:12.956Z\",\n            \"dropoff_estimate\": \"2022-10-11T20:50:12.956Z\",\n            \"runner_assigned_at\": null,\n            \"runner_accepted_at\": null,\n            \"runner_arrived_origin\": null,\n            \"runner_picked_up\": null,\n            \"runner_arrived_dropoff\": null,\n            \"runner_dropped_off\": null,\n            \"cancelled_at\": null,\n            \"contents\": null,\n            \"tip\": null,\n            \"order_total\": null,\n            \"runner\": null,\n            \"merchant_id\": \"a42ff9d1-a7cb-11ec-b378-45e05d0a54f7\",\n            \"runner_id\": null,\n            \"skip_routing_strategy\": false,\n            \"diner_delivery_fee\": null,\n            \"runner_commission\": 5,\n            \"billable_merchant_fee\": null,\n            \"dsps_delivery_fee\": null\n        },\n        {\n            \"id\": \"04045060-49a0-11ed-bc25-1dc13eb202d3\",\n            \"quote_id\": \"04007fd0-49a0-11ed-bc25-1dc13eb202d3\",\n            \"external_order_id\": \"03d30732-49a0-11ed-bc25-1dc13eb202d3\",\n            \"external_order_reference\": null,\n            \"dsps_delivery_id\": null,\n            \"_request_id\": null,\n            \"dsps_name\": null,\n            \"created_at\": \"2022-10-11T20:05:12.914Z\",\n            \"status\": \"pending_assign\",\n            \"method\": \"Delivery\",\n            \"timezone\": \"America/Chicago\",\n            \"partner_name\": \"lezzoo\",\n            \"pickup_name\": \"Dog Haus\",\n            \"pickup_address\": \"205 W Wacker Dr, Chicago, IL 60606, USA\",\n            \"pickup_phone\": \"13125668081\",\n            \"pickup_instructions\": null,\n            \"pickup_lat\": 41.8864436,\n            \"pickup_lng\": -87.6342963,\n            \"dropoff_lat\": 41.9215739,\n            \"dropoff_lng\": -87.65305230000001,\n            \"route_distance_miles\": 4.25,\n            \"crow_flies_distance_miles\": 2.61,\n            \"dropoff_address\": \"953 W Webster Ave, Chicago, IL 60614\",\n            \"dropoff_suite\": null,\n            \"dropoff_instructions\": \"Minus perspiciatis reiciendis vitae error.\",\n            \"customer_name\": \"Bryana  Fahey\",\n            \"customer_phone\": \"606-232-7632 x34256\",\n            \"payment_type\": \"cash\",\n            \"pickup_estimate\": \"2022-10-11T20:15:12.616Z\",\n            \"dropoff_estimate\": \"2022-10-11T20:29:31.616Z\",\n            \"runner_assigned_at\": null,\n            \"runner_accepted_at\": null,\n            \"runner_arrived_origin\": null,\n            \"runner_picked_up\": null,\n            \"runner_arrived_dropoff\": null,\n            \"runner_dropped_off\": null,\n            \"cancelled_at\": null,\n            \"contents\": null,\n            \"tip\": null,\n            \"order_total\": null,\n            \"runner\": null,\n            \"merchant_id\": \"b6cb28d1-a7cb-11ec-b378-45e05d0a54f7\",\n            \"runner_id\": null,\n            \"skip_routing_strategy\": false,\n            \"diner_delivery_fee\": null,\n            \"runner_commission\": 5,\n            \"billable_merchant_fee\": null,\n            \"dsps_delivery_fee\": null\n        },\n        {\n            \"id\": \"03d0bd40-49a0-11ed-bc25-1dc13eb202d3\",\n            \"quote_id\": \"03cc9e90-49a0-11ed-bc25-1dc13eb202d3\",\n            \"external_order_id\": \"039f25f2-49a0-11ed-bc25-1dc13eb202d3\",\n            \"external_order_reference\": null,\n            \"dsps_delivery_id\": null,\n            \"_request_id\": null,\n            \"dsps_name\": null,\n            \"created_at\": \"2022-10-11T20:05:12.575Z\",\n            \"status\": \"pending_assign\",\n            \"method\": \"Delivery\",\n            \"timezone\": \"America/Chicago\",\n            \"partner_name\": \"truckbux\",\n            \"pickup_name\": \"The Cumin Bowl\",\n            \"pickup_address\": \"831 N Sedgwick St, Chicago, IL 60610, USA\",\n            \"pickup_phone\": \"17086287803\",\n            \"pickup_instructions\": null,\n            \"pickup_lat\": 41.8973543,\n            \"pickup_lng\": -87.6385033,\n            \"dropoff_lat\": 41.9285718,\n            \"dropoff_lng\": -87.6420413,\n            \"route_distance_miles\": 2.35,\n            \"crow_flies_distance_miles\": 2.16,\n            \"dropoff_address\": \"2521 N Clark St, Chicago, IL 60614\",\n            \"dropoff_suite\": null,\n            \"dropoff_instructions\": \"Omnis magni nihil ullam nesciunt optio ut et voluptatibus nostrum.\",\n            \"customer_name\": \"Mittie  Walsh\",\n            \"customer_phone\": \"638-423-4323 x303\",\n            \"payment_type\": \"catering\",\n            \"pickup_estimate\": \"2022-10-11T20:25:12.276Z\",\n            \"dropoff_estimate\": \"2022-10-11T20:37:42.276Z\",\n            \"runner_assigned_at\": null,\n            \"runner_accepted_at\": null,\n            \"runner_arrived_origin\": null,\n            \"runner_picked_up\": null,\n            \"runner_arrived_dropoff\": null,\n            \"runner_dropped_off\": null,\n            \"cancelled_at\": null,\n            \"contents\": null,\n            \"tip\": null,\n            \"order_total\": null,\n            \"runner\": null,\n            \"merchant_id\": \"9a3a6281-a7cb-11ec-b378-45e05d0a54f7\",\n            \"runner_id\": null,\n            \"skip_routing_strategy\": false,\n            \"diner_delivery_fee\": null,\n            \"runner_commission\": 5,\n            \"billable_merchant_fee\": null,\n            \"dsps_delivery_fee\": null\n        },\n        {\n            \"id\": \"039c66d0-49a0-11ed-bc25-1dc13eb202d3\",\n            \"quote_id\": \"03982110-49a0-11ed-bc25-1dc13eb202d3\",\n            \"external_order_id\": \"03730ce2-49a0-11ed-bc25-1dc13eb202d3\",\n            \"external_order_reference\": null,\n            \"dsps_delivery_id\": null,\n            \"_request_id\": null,\n            \"dsps_name\": null,\n            \"created_at\": \"2022-10-11T20:05:12.229Z\",\n            \"status\": \"pending_assign\",\n            \"method\": \"Delivery\",\n            \"timezone\": \"America/Chicago\",\n            \"partner_name\": \"olo\",\n            \"pickup_name\": \"Small Cheval - Wells\",\n            \"pickup_address\": \"1345 N Wells St, Chicago, IL 60610, USA\",\n            \"pickup_phone\": \"13128373860\",\n            \"pickup_instructions\": null,\n            \"pickup_lat\": 41.9070414,\n            \"pickup_lng\": -87.63400759999999,\n            \"dropoff_lat\": 41.9328061,\n            \"dropoff_lng\": -87.6550469,\n            \"route_distance_miles\": 2.28,\n            \"crow_flies_distance_miles\": 2.08,\n            \"dropoff_address\": \"1028 W Diversey Pkwy, Chicago, IL 60614\",\n            \"dropoff_suite\": null,\n            \"dropoff_instructions\": \"Quod deserunt tempora hic facilis.\",\n            \"customer_name\": \"Anjali  Jacobs\",\n            \"customer_phone\": \"736.355.2731\",\n            \"payment_type\": \"cash\",\n            \"pickup_estimate\": \"2022-10-11T20:35:11.988Z\",\n            \"dropoff_estimate\": \"2022-10-11T20:48:28.988Z\",\n            \"runner_assigned_at\": null,\n            \"runner_accepted_at\": null,\n            \"runner_arrived_origin\": null,\n            \"runner_picked_up\": null,\n            \"runner_arrived_dropoff\": null,\n            \"runner_dropped_off\": null,\n            \"cancelled_at\": null,\n            \"contents\": null,\n            \"tip\": null,\n            \"order_total\": null,\n            \"runner\": null,\n            \"merchant_id\": \"96252861-a7cb-11ec-b378-45e05d0a54f7\",\n            \"runner_id\": null,\n            \"skip_routing_strategy\": false,\n            \"diner_delivery_fee\": null,\n            \"runner_commission\": 5,\n            \"billable_merchant_fee\": null,\n            \"dsps_delivery_fee\": null\n        },\n        {\n            \"id\": \"036fffa0-49a0-11ed-bc25-1dc13eb202d3\",\n            \"quote_id\": \"036b44b0-49a0-11ed-bc25-1dc13eb202d3\",\n            \"external_order_id\": \"033e6852-49a0-11ed-bc25-1dc13eb202d3\",\n            \"external_order_reference\": null,\n            \"dsps_delivery_id\": null,\n            \"_request_id\": null,\n            \"dsps_name\": null,\n            \"created_at\": \"2022-10-11T20:05:11.937Z\",\n            \"status\": \"pending_assign\",\n            \"method\": \"Delivery\",\n            \"timezone\": \"America/Chicago\",\n            \"partner_name\": \"eat24\",\n            \"pickup_name\": \"Gussie's Handmade Italian\",\n            \"pickup_address\": \"227 W North Ave, Chicago, IL 60610, USA\",\n            \"pickup_phone\": \"13129293091\",\n            \"pickup_instructions\": null,\n            \"pickup_lat\": 41.91085409999999,\n            \"pickup_lng\": -87.6359523,\n            \"dropoff_lat\": 41.9260399,\n            \"dropoff_lng\": -87.6404781,\n            \"route_distance_miles\": 1.21,\n            \"crow_flies_distance_miles\": 1.07,\n            \"dropoff_address\": \"2413-15 N Clark St, Chicago, IL 60614\",\n            \"dropoff_suite\": null,\n            \"dropoff_instructions\": \"Quas nesciunt dolor explicabo sequi qui.\",\n            \"customer_name\": \"Jairo  Watsica\",\n            \"customer_phone\": \"360-375-4401 x9328\",\n            \"payment_type\": \"online\",\n            \"pickup_estimate\": \"2022-10-11T20:35:11.642Z\",\n            \"dropoff_estimate\": \"2022-10-11T20:41:54.642Z\",\n            \"runner_assigned_at\": null,\n            \"runner_accepted_at\": null,\n            \"runner_arrived_origin\": null,\n            \"runner_picked_up\": null,\n            \"runner_arrived_dropoff\": null,\n            \"runner_dropped_off\": null,\n            \"cancelled_at\": null,\n            \"contents\": null,\n            \"tip\": null,\n            \"order_total\": null,\n            \"runner\": null,\n            \"merchant_id\": \"921bfc31-a7cb-11ec-b378-45e05d0a54f7\",\n            \"runner_id\": null,\n            \"skip_routing_strategy\": false,\n            \"diner_delivery_fee\": null,\n            \"runner_commission\": 5,\n            \"billable_merchant_fee\": null,\n            \"dsps_delivery_fee\": null\n        },\n        {\n            \"id\": \"033b8220-49a0-11ed-bc25-1dc13eb202d3\",\n            \"quote_id\": \"03376370-49a0-11ed-bc25-1dc13eb202d3\",\n            \"external_order_id\": \"02fbe112-49a0-11ed-bc25-1dc13eb202d3\",\n            \"external_order_reference\": null,\n            \"dsps_delivery_id\": null,\n            \"_request_id\": null,\n            \"dsps_name\": null,\n            \"created_at\": \"2022-10-11T20:05:11.595Z\",\n            \"status\": \"pending_assign\",\n            \"method\": \"Delivery\",\n            \"timezone\": \"America/Chicago\",\n            \"partner_name\": \"ninjas\",\n            \"pickup_name\": \"Foxtrot\",\n            \"pickup_address\": \"23 W Maple St, Chicago, IL 60610, USA\",\n            \"pickup_phone\": \"13129293175\",\n            \"pickup_instructions\": null,\n            \"pickup_lat\": 41.9016397,\n            \"pickup_lng\": -87.62929319999999,\n            \"dropoff_lat\": 41.9263409,\n            \"dropoff_lng\": -87.64946049999999,\n            \"route_distance_miles\": 2.44,\n            \"crow_flies_distance_miles\": 2,\n            \"dropoff_address\": \"2429 N Lincoln Ave, Chicago, IL 60614\",\n            \"dropoff_suite\": null,\n            \"dropoff_instructions\": \"A ut qui totam quasi consequuntur autem doloribus porro animi.\",\n            \"customer_name\": \"Porter  Wuckert\",\n            \"customer_phone\": \"746-790-8774 x075\",\n            \"payment_type\": \"cash\",\n            \"pickup_estimate\": \"2022-10-11T20:25:11.206Z\",\n            \"dropoff_estimate\": \"2022-10-11T20:39:11.206Z\",\n            \"runner_assigned_at\": null,\n            \"runner_accepted_at\": null,\n            \"runner_arrived_origin\": null,\n            \"runner_picked_up\": null,\n            \"runner_arrived_dropoff\": null,\n            \"runner_dropped_off\": null,\n            \"cancelled_at\": null,\n            \"contents\": null,\n            \"tip\": null,\n            \"order_total\": null,\n            \"runner\": null,\n            \"merchant_id\": \"84d453b1-a7cb-11ec-b378-45e05d0a54f7\",\n            \"runner_id\": null,\n            \"skip_routing_strategy\": false,\n            \"diner_delivery_fee\": null,\n            \"runner_commission\": 5,\n            \"billable_merchant_fee\": null,\n            \"dsps_delivery_fee\": null\n        },\n        {\n            \"id\": \"02f8fae0-49a0-11ed-bc25-1dc13eb202d3\",\n            \"quote_id\": \"02f4b520-49a0-11ed-bc25-1dc13eb202d3\",\n            \"external_order_id\": \"02c76392-49a0-11ed-bc25-1dc13eb202d3\",\n            \"external_order_reference\": null,\n            \"dsps_delivery_id\": null,\n            \"_request_id\": null,\n            \"dsps_name\": null,\n            \"created_at\": \"2022-10-11T20:05:11.158Z\",\n            \"status\": \"pending_assign\",\n            \"method\": \"Delivery\",\n            \"timezone\": \"America/Chicago\",\n            \"partner_name\": \"olo\",\n            \"pickup_name\": \"Roots Handmade Pizza - Chicago\",\n            \"pickup_address\": \"1610 N Wells St, Chicago, IL 60610, USA\",\n            \"pickup_phone\": \"13122107788\",\n            \"pickup_instructions\": null,\n            \"pickup_lat\": 41.9115057,\n            \"pickup_lng\": -87.6350113,\n            \"dropoff_lat\": 41.9328061,\n            \"dropoff_lng\": -87.6550469,\n            \"route_distance_miles\": 1.93,\n            \"crow_flies_distance_miles\": 1.8,\n            \"dropoff_address\": \"1028 W Diversey Pkwy, Chicago, IL 60614\",\n            \"dropoff_suite\": null,\n            \"dropoff_instructions\": \"Ipsum ad nemo est.\",\n            \"customer_name\": \"Josephine  Ondricka\",\n            \"customer_phone\": \"899-981-2468\",\n            \"payment_type\": \"cash\",\n            \"pickup_estimate\": \"2022-10-11T20:45:10.863Z\",\n            \"dropoff_estimate\": \"2022-10-11T20:55:37.863Z\",\n            \"runner_assigned_at\": null,\n            \"runner_accepted_at\": null,\n            \"runner_arrived_origin\": null,\n            \"runner_picked_up\": null,\n            \"runner_arrived_dropoff\": null,\n            \"runner_dropped_off\": null,\n            \"cancelled_at\": null,\n            \"contents\": null,\n            \"tip\": null,\n            \"order_total\": null,\n            \"runner\": null,\n            \"merchant_id\": \"a567b681-a7cb-11ec-b378-45e05d0a54f7\",\n            \"runner_id\": null,\n            \"skip_routing_strategy\": false,\n            \"diner_delivery_fee\": null,\n            \"runner_commission\": 5,\n            \"billable_merchant_fee\": null,\n            \"dsps_delivery_fee\": null\n        },\n        {\n            \"id\": \"02c45650-49a0-11ed-bc25-1dc13eb202d3\",\n            \"quote_id\": \"02bfc270-49a0-11ed-bc25-1dc13eb202d3\",\n            \"external_order_id\": \"029249d2-49a0-11ed-bc25-1dc13eb202d3\",\n            \"external_order_reference\": null,\n            \"dsps_delivery_id\": null,\n            \"_request_id\": null,\n            \"dsps_name\": null,\n            \"created_at\": \"2022-10-11T20:05:10.812Z\",\n            \"status\": \"pending_assign\",\n            \"method\": \"Delivery\",\n            \"timezone\": \"America/Chicago\",\n            \"partner_name\": \"doordash\",\n            \"pickup_name\": \"Alpana\",\n            \"pickup_address\": \"831 N State St, Chicago, IL 60610, USA\",\n            \"pickup_phone\": \"0\",\n            \"pickup_instructions\": null,\n            \"pickup_lat\": 41.8978021,\n            \"pickup_lng\": -87.62809299999999,\n            \"dropoff_lat\": 41.9326381,\n            \"dropoff_lng\": -87.64215779999999,\n            \"route_distance_miles\": 3.15,\n            \"crow_flies_distance_miles\": 2.51,\n            \"dropoff_address\": \"521 W Diversey Pkwy, Chicago, IL 60614\",\n            \"dropoff_suite\": null,\n            \"dropoff_instructions\": \"Est eligendi debitis nulla distinctio et reiciendis dolor.\",\n            \"customer_name\": \"Ulises  Rolfson\",\n            \"customer_phone\": \"1-647-377-3852\",\n            \"payment_type\": \"credit_card\",\n            \"pickup_estimate\": \"2022-10-11T20:45:10.514Z\",\n            \"dropoff_estimate\": \"2022-10-11T20:55:42.514Z\",\n            \"runner_assigned_at\": null,\n            \"runner_accepted_at\": null,\n            \"runner_arrived_origin\": null,\n            \"runner_picked_up\": null,\n            \"runner_arrived_dropoff\": null,\n            \"runner_dropped_off\": null,\n            \"cancelled_at\": null,\n            \"contents\": null,\n            \"tip\": null,\n            \"order_total\": null,\n            \"runner\": null,\n            \"merchant_id\": \"b8a259d1-a7cb-11ec-b378-45e05d0a54f7\",\n            \"runner_id\": null,\n            \"skip_routing_strategy\": false,\n            \"diner_delivery_fee\": null,\n            \"runner_commission\": 5,\n            \"billable_merchant_fee\": null,\n            \"dsps_delivery_fee\": null\n        },\n        {\n            \"id\": \"028f8ab0-49a0-11ed-bc25-1dc13eb202d3\",\n            \"quote_id\": \"028be130-49a0-11ed-bc25-1dc13eb202d3\",\n            \"external_order_id\": \"025cbae2-49a0-11ed-bc25-1dc13eb202d3\",\n            \"external_order_reference\": null,\n            \"dsps_delivery_id\": null,\n            \"_request_id\": null,\n            \"dsps_name\": null,\n            \"created_at\": \"2022-10-11T20:05:10.473Z\",\n            \"status\": \"pending_assign\",\n            \"method\": \"Delivery\",\n            \"timezone\": \"America/Chicago\",\n            \"partner_name\": \"slice\",\n            \"pickup_name\": \"Kababish - BBQ & Grill\",\n            \"pickup_address\": \"1554 N Larrabee St, Chicago, IL 60610, USA\",\n            \"pickup_phone\": \"13122184443\",\n            \"pickup_instructions\": null,\n            \"pickup_lat\": 41.910499,\n            \"pickup_lng\": -87.643648,\n            \"dropoff_lat\": 41.9267767,\n            \"dropoff_lng\": -87.6409888,\n            \"route_distance_miles\": 1.45,\n            \"crow_flies_distance_miles\": 1.13,\n            \"dropoff_address\": \"2447 N Clark St, Chicago, IL 60614\",\n            \"dropoff_suite\": null,\n            \"dropoff_instructions\": \"Ex aut sed.\",\n            \"customer_name\": \"Ernesto  Considine\",\n            \"customer_phone\": \"(878) 616-1394 x8256\",\n            \"payment_type\": \"cash\",\n            \"pickup_estimate\": \"2022-10-11T20:35:10.165Z\",\n            \"dropoff_estimate\": \"2022-10-11T20:42:33.165Z\",\n            \"runner_assigned_at\": null,\n            \"runner_accepted_at\": null,\n            \"runner_arrived_origin\": null,\n            \"runner_picked_up\": null,\n            \"runner_arrived_dropoff\": null,\n            \"runner_dropped_off\": null,\n            \"cancelled_at\": null,\n            \"contents\": null,\n            \"tip\": null,\n            \"order_total\": null,\n            \"runner\": null,\n            \"merchant_id\": \"85e94621-a7cb-11ec-b378-45e05d0a54f7\",\n            \"runner_id\": null,\n            \"skip_routing_strategy\": false,\n            \"diner_delivery_fee\": null,\n            \"runner_commission\": 5,\n            \"billable_merchant_fee\": null,\n            \"dsps_delivery_fee\": null\n        },\n        {\n            \"id\": \"02567950-49a0-11ed-bc25-1dc13eb202d3\",\n            \"quote_id\": \"024fe9a0-49a0-11ed-bc25-1dc13eb202d3\",\n            \"external_order_id\": \"0215c6d1-49a0-11ed-bc25-1dc13eb202d3\",\n            \"external_order_reference\": null,\n            \"dsps_delivery_id\": null,\n            \"_request_id\": null,\n            \"dsps_name\": null,\n            \"created_at\": \"2022-10-11T20:05:10.084Z\",\n            \"status\": \"pending_assign\",\n            \"method\": \"Delivery\",\n            \"timezone\": \"America/Chicago\",\n            \"partner_name\": \"mealpal\",\n            \"pickup_name\": \"Can't Believe It's Not Meat\",\n            \"pickup_address\": \"1143 N Wells St, Chicago, IL 60610, USA\",\n            \"pickup_phone\": \"13126249986\",\n            \"pickup_instructions\": null,\n            \"pickup_lat\": 41.9034979,\n            \"pickup_lng\": -87.6341384,\n            \"dropoff_lat\": 41.9200798,\n            \"dropoff_lng\": -87.6626182,\n            \"route_distance_miles\": 2,\n            \"crow_flies_distance_miles\": 1.86,\n            \"dropoff_address\": \"2142 N Clybourn Ave, Chicago, IL 60614\",\n            \"dropoff_suite\": null,\n            \"dropoff_instructions\": \"Aliquam enim molestiae.\",\n            \"customer_name\": \"Krystal  Thompson\",\n            \"customer_phone\": \"885-265-7597\",\n            \"payment_type\": \"online\",\n            \"pickup_estimate\": \"2022-10-11T20:15:09.700Z\",\n            \"dropoff_estimate\": \"2022-10-11T20:25:45.700Z\",\n            \"runner_assigned_at\": null,\n            \"runner_accepted_at\": null,\n            \"runner_arrived_origin\": null,\n            \"runner_picked_up\": null,\n            \"runner_arrived_dropoff\": null,\n            \"runner_dropped_off\": null,\n            \"cancelled_at\": null,\n            \"contents\": null,\n            \"tip\": null,\n            \"order_total\": null,\n            \"runner\": null,\n            \"merchant_id\": \"8e1f7a31-a7cb-11ec-b378-45e05d0a54f7\",\n            \"runner_id\": null,\n            \"skip_routing_strategy\": false,\n            \"diner_delivery_fee\": null,\n            \"runner_commission\": 5,\n            \"billable_merchant_fee\": null,\n            \"dsps_delivery_fee\": null\n        }\n    ],\n    \"total\": 108268\n}"}],"_postman_id":"918119ab-7c55-45a0-832a-49ad8841fb88"},{"name":"Get Order","id":"e7f56579-13ae-492d-bd62-d988a242c2e9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{ACCESS_TOKEN_ADMIN}}"},"isInherited":false},"method":"GET","header":[],"url":"https://habitat-market.ngrok.io/api/v3/orders/df5c9da0-623d-11ee-8d45-dd71e550b626","urlObject":{"path":["api","v3","orders","df5c9da0-623d-11ee-8d45-dd71e550b626"],"host":["https://habitat-market.ngrok.io"],"query":[],"variable":[]}},"response":[{"id":"10bad85c-7027-4c7f-9abe-5ec69bac79d0","name":"Get Order","originalRequest":{"method":"GET","header":[],"url":"https://api.tryhabitat.com/api/v3/orders/df5c9da0-623d-11ee-8d45-dd71e550b626"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"Sucuri/Cloudproxy"},{"key":"Date","value":"Thu, 27 Apr 2023 16:08:40 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Sucuri-ID","value":"14028"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Content-Security-Policy","value":"upgrade-insecure-requests;"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Etag","value":"W/\"6f7-jcb16EiwZdmPl9ro2uav7IrfNKI\""},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"},{"key":"Via","value":"1.1 vegur"},{"key":"X-Sucuri-Cache","value":"BYPASS"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"data\": {\n        \"id\": \"9bbd8313-da38-4b04-b14f-3cbd9a92312a\",\n        \"quote_id\": \"8a5a9bd0-ad7b-11ed-a9f4-f959336bb66d\",\n        \"external_order_id\": \"c05f04df-79bf-48fe-b696-53d815481d32\",\n        \"external_order_reference\": null,\n        \"dsps_delivery_id\": null,\n        \"_request_id\": \"fake:dcbf7185-20f7-4cef-9c63-1d84824d7c09\",\n        \"dsps_name\": null,\n        \"created_at\": \"2023-02-15T21:56:05.697Z\",\n        \"status\": \"completed\",\n        \"method\": \"Delivery\",\n        \"timezone\": \"America/New_York\",\n        \"partner_name\": \"olo\",\n        \"pickup_name\": \"Tacodeli Gracy Farms\",\n        \"pickup_address\": \"26 Broadway, New York, NY 10004, USA\",\n        \"pickup_phone\": \"2333322311\",\n        \"pickup_instructions\": null,\n        \"pickup_lat\": 40.7052022,\n        \"pickup_lng\": -74.0131655,\n        \"dropoff_lat\": 40.7056311,\n        \"dropoff_lng\": -74.0131104,\n        \"route_distance_miles\": 0.79,\n        \"crow_flies_distance_miles\": 0.03,\n        \"dropoff_address\": \"28 Broadway, New York NY, 10004\",\n        \"dropoff_suite\": null,\n        \"dropoff_instructions\": \" I want contactless delivery\",\n        \"customer_name\": \"MICHAEL PASZKIEWICZ\",\n        \"customer_phone\": \"4433869479\",\n        \"payment_type\": \"online\",\n        \"pickup_estimate\": \"2023-02-15T22:40:00.000Z\",\n        \"dropoff_estimate\": \"2023-02-15T23:00:00.000Z\",\n        \"runner_assigned_at\": \"2023-02-15T22:40:54.000Z\",\n        \"runner_accepted_at\": \"2023-02-15T22:41:12.927Z\",\n        \"runner_arrived_origin\": \"2023-02-15T22:41:41.382Z\",\n        \"runner_picked_up\": \"2023-02-15T22:41:57.424Z\",\n        \"runner_arrived_dropoff\": \"2023-02-15T22:56:15.459Z\",\n        \"runner_dropped_off\": \"2023-02-15T23:00:06.776Z\",\n        \"cancelled_at\": null,\n        \"contents\": [\n            {\n                \"itemName\": \"Foosburger\",\n                \"quantity\": 1\n            }\n        ],\n        \"tip\": 3,\n        \"order_total\": 5.99,\n        \"runner\": {\n            \"id\": \"c3ae4462-eb20-4165-a2f7-f8164ce2118e\",\n            \"name\": \"test\",\n            \"phone\": \"1231231116\"\n        },\n        \"merchant_id\": \"49d7d331-a19a-11ed-9fff-dff3e2e96892\",\n        \"runner_id\": \"c3ae4462-eb20-4165-a2f7-f8164ce2118e\",\n        \"skip_routing_strategy\": false,\n        \"diner_delivery_fee\": null,\n        \"runner_commission\": 3.25,\n        \"billable_merchant_fee\": null,\n        \"dsps_delivery_fee\": null,\n        \"dropoff_image\": \"https://example.com/img.jpg\"\n    }\n}"}],"_postman_id":"e7f56579-13ae-492d-bd62-d988a242c2e9"},{"name":"Update Order","id":"3309abde-82da-43e2-b834-fa670cf40d62","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{ACCESS_TOKEN_ADMIN}}"},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"dropoff_notes\": \"abcd\"\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/v3/orders/df5c9da0-623d-11ee-8d45-dd71e550b626","description":"<p>Update order details</p>\n<p><strong>If the order is assigned to a DSP,</strong> <strong><code>dropoff_notes</code></strong> <strong>is the only field that is updatable</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n<th>Sends to DSP</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>dropoff_notes</code></td>\n<td>string</td>\n<td>No</td>\n<td>Optional notes for the dropoff location.</td>\n<td>DD, Uber</td>\n</tr>\n<tr>\n<td><code>customer_phone</code></td>\n<td>string</td>\n<td>No</td>\n<td>Phone number of the customer.</td>\n<td>False</td>\n</tr>\n<tr>\n<td><code>customer_name</code></td>\n<td>string</td>\n<td>No</td>\n<td>Name of the customer.</td>\n<td>False</td>\n</tr>\n<tr>\n<td><code>dropoff.instructions</code></td>\n<td>string</td>\n<td>No</td>\n<td>Instructions for the dropoff, equivalent to v1 <code>delivery_instructions</code>.</td>\n<td>False</td>\n</tr>\n<tr>\n<td><code>pickup.instructions</code></td>\n<td>string</td>\n<td>No</td>\n<td>Instructions for the pickup, equivalent to v1 <code>special_instructions</code>.</td>\n<td>False</td>\n</tr>\n<tr>\n<td><code>contents</code>  <br />or  <br /><code>plain_order</code></td>\n<td>Depending on format, see <code>contents</code> format in POST /v3/orders. For <code>plain_order</code>, see POST /orders</td>\n<td>Yes</td>\n<td>Order contents</td>\n<td>False</td>\n</tr>\n<tr>\n<td><code>order_total</code></td>\n<td>number</td>\n<td>No</td>\n<td>Total cost of the order, must be greater than 0.</td>\n<td>False</td>\n</tr>\n<tr>\n<td><code>sub_total</code></td>\n<td>number</td>\n<td>No</td>\n<td>Subtotal of the order, must be greater than 0.</td>\n<td>False</td>\n</tr>\n<tr>\n<td><code>tax</code></td>\n<td>number</td>\n<td>No</td>\n<td>Tax amount, must be greater than 0.</td>\n<td>False</td>\n</tr>\n<tr>\n<td><code>tip</code></td>\n<td>number</td>\n<td>No</td>\n<td>Tip amount, optional and must be greater than 0 if provided.</td>\n<td>False</td>\n</tr>\n<tr>\n<td><code>diner_delivery_fee</code></td>\n<td>number</td>\n<td>No</td>\n<td>Delivery fee charged to the diner, must be greater than 0.</td>\n<td>False</td>\n</tr>\n<tr>\n<td><code>options.requires_signature</code></td>\n<td>boolean</td>\n<td>No</td>\n<td>Indicates whether a signature is required, equivalent to v1 <code>requires_signature</code>.</td>\n<td>False</td>\n</tr>\n<tr>\n<td><code>options.alcohol_contained</code></td>\n<td>boolean</td>\n<td>No</td>\n<td>Indicates whether alcohol is conatined equivalent to v1 <code>alcohol_contained</code>.</td>\n<td>False</td>\n</tr>\n<tr>\n<td><code>order_source</code></td>\n<td>text</td>\n<td>No</td>\n<td>Whitelisted partner name</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v3","orders","df5c9da0-623d-11ee-8d45-dd71e550b626"],"host":["https://habitat-market.ngrok.io"],"query":[],"variable":[]}},"response":[{"id":"4d0fce8d-c442-4d4f-bf88-8e8080eb8bfa","name":"Update Order","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"customer_phone\": \"555-123-4567\",\n    \"customer_name\": \"Alice Johnson\",\n    \"dropoff\": {\n        \"instructions\": \"Do not ring the doorbell; pets are easily disturbed.\"\n    },\n    \"pickup\": {\n        \"instructions\": \"Pickup package at the back door, please call upon arrival.\"\n    },\n    \"plain_order\": [\n        {\n            \"itemName\": \"Avacado\",\n            \"quantity\": 1,\n            \"itemPrice\": 13.75,\n            \"modifiersText\": [\n                {\n                    \"name\": \"Salad\",\n                    \"price\": 0\n                },\n                {\n                    \"name\": \"Dressing on the Side\",\n                    \"price\": 0\n                }\n            ]\n        }\n    ],\n    \"order_total\": 75.00,\n    \"sub_total\": 65.00,\n    \"tax\": 7.50,\n    \"tip\": 5.00,\n    \"diner_delivery_fee\": 2.50,\n    \"options\": {\n        \"requires_signature\": true\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/v3/orders/df5c9da0-623d-11ee-8d45-dd71e550b626"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"Connection,Content-Encoding,Content-Type,Date,Keep-Alive,Ratelimit-Limit,Ratelimit-Policy,Ratelimit-Remaining,Ratelimit-Reset"},{"key":"Content-Encoding","value":"gzip"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Thu, 18 Apr 2024 17:19:00 GMT"},{"key":"Etag","value":"W/\"8fb-N8v2kr6Px2amn2By1SkAabv6wRQ\""},{"key":"Ratelimit-Limit","value":"300"},{"key":"Ratelimit-Policy","value":"300;w=60"},{"key":"Ratelimit-Remaining","value":"297"},{"key":"Ratelimit-Reset","value":"6"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"Express"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"id\": \"b2aa23f0-fda5-11ee-9e0a-add8160c0398\",\n    \"dsp_quote_id\": null,\n    \"external_order_id\": \"b2a4a5b0-fda5-11ee-9e0a-add8160c0398\",\n    \"external_order_reference\": null,\n    \"dsps_delivery_id\": null,\n    \"_request_id\": null,\n    \"dsps_name\": null,\n    \"created_at\": \"2024-04-18T17:04:20.418Z\",\n    \"status\": \"en_route_dropoff\",\n    \"_status\": \"in_progress\",\n    \"method\": \"Delivery\",\n    \"timezone\": \"America/New_York\",\n    \"partner_name\": \"eat24\",\n    \"pickup_name\": \"WaWaWeeWa\",\n    \"pickup_address\": \"2166 E Norris St, Philadelphia, PA 19125, USA\",\n    \"pickup_phone\": \"2677660550\",\n    \"pickup_instructions\": \"Pickup package at the back door, please call upon arrival.\",\n    \"pickup_lat\": 39.98,\n    \"pickup_lng\": -75.13,\n    \"dropoff_lat\": 39.96,\n    \"dropoff_lng\": -75.17,\n    \"route_distance_miles\": 2.46,\n    \"crow_flies_distance_miles\": 2.46,\n    \"dropoff_address\": \"1601 Cherry St, Philadelphia, PA 19102, USA\",\n    \"dropoff_suite\": null,\n    \"dropoff_instructions\": \"Do not ring the doorbell; pets are easily disturbed.\",\n    \"customer_name\": \"Alice Johnson\",\n    \"customer_phone\": \"555-123-4567\",\n    \"payment_type\": \"prepaid\",\n    \"runner_assigned_at\": \"2024-04-18T17:05:07.000Z\",\n    \"runner_accepted_at\": \"2024-04-18T17:05:22.724Z\",\n    \"runner_arrived_origin\": \"2024-04-18T17:15:43.442Z\",\n    \"ready_at\": null,\n    \"runner_picked_up\": \"2024-04-18T17:16:01.692Z\",\n    \"runner_arrived_dropoff\": null,\n    \"runner_dropped_off\": null,\n    \"cancelled_at\": null,\n    \"cancel_reason\": null,\n    \"cancel_note\": null,\n    \"contents\": [\n        {\n            \"itemName\": \"Avacado\",\n            \"quantity\": 1,\n            \"itemPrice\": 13.75,\n            \"modifiersText\": [\n                {\n                    \"name\": \"Salad\",\n                    \"price\": 0\n                },\n                {\n                    \"name\": \"Dressing on the Side\",\n                    \"price\": 0\n                }\n            ]\n        }\n    ],\n    \"tip\": 5,\n    \"order_total\": 75,\n    \"sub_total\": 65,\n    \"tax\": 7.5,\n    \"runner\": {\n        \"id\": \"ea5252cc-6194-44ec-9ac9-4949221b683b\",\n        \"name\": \"Beatrice Douglas\",\n        \"phone\": \"3497861202\"\n    },\n    \"merchant_id\": \"7c3aaed9-3f70-4c6e-9563-f55d2e44071b\",\n    \"runner_id\": \"ea5252cc-6194-44ec-9ac9-4949221b683b\",\n    \"skip_routing_strategy\": false,\n    \"diner_delivery_fee\": 2.5,\n    \"runner_commission\": 2.5,\n    \"billable_merchant_fee\": 7,\n    \"operator_id\": 1,\n    \"territory\": \"Philadelphia\",\n    \"territory_id\": \"db93f018-36e2-416b-8196-5d3a36033440\",\n    \"quote_id\": \"b2a60540-fda5-11ee-9e0a-add8160c0398\",\n    \"_order_number\": 4480,\n    \"dsps_customer_reference_id\": null,\n    \"pickup_estimate\": \"2024-04-18T17:18:00.000Z\",\n    \"dropoff_estimate\": \"2024-04-18T17:30:15.000Z\",\n    \"dsp_cancel_reason\": null,\n    \"dsp_cancel_details\": null,\n    \"runner_name\": \"Beatrice Douglas\",\n    \"options\": {\n        \"alcohol_contained\": false,\n        \"requires_signature\": true\n    },\n    \"dsps_delivery_fee\": null\n}"}],"_postman_id":"3309abde-82da-43e2-b834-fa670cf40d62"},{"name":"Update Fulfillment Status","id":"c8a154d0-a76c-462a-bfd8-2d83da98a450","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{ACCESS_TOKEN_ADMIN}}"},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"status\": \"runner_assigned\",\n   \"payload\": {\n       \"runner_id\": \"1697c3af-450f-42f4-8609-669a4350c22f\",\n        \"location\":  {\n             \"latitude\": 90,\n             \"longitude\": 84\n           }\n   }\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/v3/orders/df5c9da0-623d-11ee-8d45-dd71e550b626/status","description":"<p><strong>If you operate your own fleet, and runners are</strong> <em><strong>not using the First Runner app,</strong></em> <strong>you can remotely update the status of an order, and send runner location updates, via this endpoint.</strong></p>\n<p>Status updates can be one of those available in the <a href=\"https://documenter.getpostman.com/view/2850328/RW87qVSS#ccf63ad1-6be6-4f35-a97d-557f317a679d\">Status section</a>. To send just a runner location update, pass <code>null</code> as the value for <code>status</code>.</p>\n<p>Attempting to update the status of an order being fulfilled by a fleet in our DSP network will return a 400 error.</p>\n","urlObject":{"path":["api","v3","orders","df5c9da0-623d-11ee-8d45-dd71e550b626","status"],"host":["https://habitat-market.ngrok.io"],"query":[],"variable":[]}},"response":[{"id":"24dd6665-5344-4a00-9b23-7fe48ae8daa8","name":"Update Status","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"{{ACCESS_TOKEN_ADMIN}}","type":"text"}],"body":{"mode":"raw","raw":"{\n   \"status\": \"en_route_pickup\",\n   \"payload\": {\n       \"runner_id\": \"fe19da88-5ab9-4693-9786-ede9d8294126\",\n        \"location\":  {\n             \"latitude\": 90,\n             \"longitude\": 84\n           }\n   }\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/v3/orders/0ffeaeb0-c2bd-11ed-938e-6b0e25251d1d/status"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Encoding","value":"gzip"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Wed, 15 Mar 2023 21:06:41 GMT"},{"key":"Etag","value":"W/\"4ef-040jTAzmDrZcmHKadUvDG41ujW8\""},{"key":"Ngrok-Trace-Id","value":"99375098bd5452fe6073148c23729232"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"Express"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"data\": {\n        \"id\": \"0ffeaeb0-c2bd-11ed-938e-6b0e25251d1d\",\n        \"quote_id\": \"0fef6c70-c2bd-11ed-938e-6b0e25251d1d\",\n        \"external_order_id\": \"12345\",\n        \"external_order_reference\": \"1234\",\n        \"dsps_delivery_id\": null,\n        \"_request_id\": \"243e6565-2ed4-4869-9576-ea8ef6ffa759\",\n        \"dsps_name\": null,\n        \"created_at\": \"2023-03-14T23:07:59.149Z\",\n        \"status\": \"pending_dispatch\",\n        \"method\": \"Delivery\",\n        \"timezone\": \"America/New_York\",\n        \"pickup_name\": \"mikes test\",\n        \"pickup_address\": \"2211 E Hagert St, Philadelphia, PA 19125, USA\",\n        \"pickup_phone\": \"2333322311\",\n        \"pickup_instructions\": null,\n        \"pickup_lat\": 39.98,\n        \"pickup_lng\": -75.13,\n        \"dropoff_lat\": 39.98,\n        \"dropoff_lng\": -75.13,\n        \"route_distance_miles\": 0.67,\n        \"dropoff_address\": \"2166 E Norris St., Philadelphia PA, 19125\",\n        \"dropoff_suite\": null,\n        \"dropoff_instructions\": null,\n        \"customer_name\": \"Steve\",\n        \"customer_phone\": \"2333344999\",\n        \"payment_type\": \"credit_card\",\n        \"pickup_estimate\": \"2023-03-14T23:27:58.553Z\",\n        \"dropoff_estimate\": \"2023-03-14T23:32:58.553Z\",\n        \"runner_assigned_at\": null,\n        \"runner_accepted_at\": null,\n        \"runner_arrived_origin\": null,\n        \"runner_picked_up\": null,\n        \"runner_arrived_dropoff\": null,\n        \"runner_dropped_off\": null,\n        \"cancelled_at\": null,\n        \"contents\": [\n            {\n                \"itemName\": \"Cheeszteak\"\n            }\n        ],\n        \"tip\": 2,\n        \"order_total\": 9,\n        \"runner\": null,\n        \"merchant_id\": \"c9c8be91-c2bc-11ed-938e-6b0e25251d1d\",\n        \"runner_id\": null\n    }\n}"}],"_postman_id":"c8a154d0-a76c-462a-bfd8-2d83da98a450"},{"name":"Get Fulfillment Status","id":"d63f150e-4bb8-4acb-bc34-e824042afa53","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{ACCESS_TOKEN_ADMIN}}"},"isInherited":false},"method":"GET","header":[],"url":"https://habitat-market.ngrok.io/api/v3/orders/df5c9da0-623d-11ee-8d45-dd71e550b626/status","urlObject":{"path":["api","v3","orders","df5c9da0-623d-11ee-8d45-dd71e550b626","status"],"host":["https://habitat-market.ngrok.io"],"query":[],"variable":[]}},"response":[{"id":"a7ecd70b-52b5-46d3-83bc-76aad8bda0f9","name":"Get Fulfillment Status","originalRequest":{"method":"GET","header":[],"url":"https://habitat-market.ngrok.io/api/v3/orders/df5c9da0-623d-11ee-8d45-dd71e550b626/status"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"248"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Tue, 11 Apr 2023 13:19:09 GMT"},{"key":"Etag","value":"W/\"f8-OA2wSOrSNt9mfA0loLI9AEWSFm8\""},{"key":"Ngrok-Trace-Id","value":"4b057863898248aa4a828fa41269cea3"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"Express"}],"cookie":[],"responseTime":null,"body":"{\n    \"orderNumber\": 1234,\n    \"status\": \"Delivered\",\n    \"estimatedPickupTime\": \"2023-04-05T14:17:41.180Z\",\n    \"estimatedDropoffTime\": \"2023-04-05T14:37:41.180Z\",\n    \"driverName\": \"enrique25 \",\n    \"driverPhoneNumber\": \"3953521378\",\n    \"transportType\": \"Car\",\n    \"latitude\": 0,\n    \"longitude\": 0\n}"}],"_postman_id":"d63f150e-4bb8-4acb-bc34-e824042afa53"},{"name":"Cancel Order","id":"92e6c1a9-ca6c-4856-a74f-ce0b3b46dcbb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{ACCESS_TOKEN_ADMIN}}"},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"reason\": \"DestinationUnreachable\",\n\t\"reasonComments\": \"Driver called and rang, no response after 5 minutes\"\n}"},"url":"https://habitat-market.ngrok.io/api/orders/2f3385e0-981e-11ed-954d-c32dcb0a5fb2/cancel","description":"<p>Cancel an order <strong>before it has been fulfilled.</strong> If you are using our DSP Fleet network, orders can only be cancelled before the driver has picked up the food.</p>\n<p>Refund reasons, listed below, are often used in the case of a refund request with a DSP. <strong>You don't need to support every single case, but best practice would be to support every one you can.</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Reason</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>CustomerCancelled</td>\n<td>Customer has requested to cancel because they no longer want the order.</td>\n</tr>\n<tr>\n<td>CustomerChangedOrder</td>\n<td>Customer has revised their order contents and a new order is created, Customer has revised their order from delivery to pickup, etc.</td>\n</tr>\n<tr>\n<td>MissedDropoffTime</td>\n<td>Customer cancels because the delivery is delayed and still has not arrived.</td>\n</tr>\n<tr>\n<td>CustomerOtherReason</td>\n<td>A customer reason other than what has been defined.</td>\n</tr>\n<tr>\n<td>DriverMissedPickup</td>\n<td>The vendor is cancelling because the driver is delayed in arriving to pickup the order for delivery.</td>\n</tr>\n<tr>\n<td>SystemFailure</td>\n<td>Order processing failures, such as: POS transmission failures, payment gateway failures, etc.</td>\n</tr>\n<tr>\n<td>UnableToFulfill</td>\n<td>Vendor is unable to make or fulfill the order(e.g.out of stock, emergency shutdown of store for the day, etc.).</td>\n</tr>\n<tr>\n<td>VendorOtherReason</td>\n<td>A vendor reason other than what has been defined.</td>\n</tr>\n<tr>\n<td>PickupNotReady</td>\n<td>The driver has arrived but the vendor is not ready for the driver to pick up the order.</td>\n</tr>\n<tr>\n<td>DestinationUnreachable</td>\n<td>The driver is unable to reach the customer to complete the delivery.</td>\n</tr>\n<tr>\n<td>PackageContents</td>\n<td>The driver is able to reach the customer, but the customer has refused acceptance of the delivery.There were missing or wrong items in the delivery package.</td>\n</tr>\n<tr>\n<td>PackageDamage</td>\n<td>The driver is able to reach the customer, but the customer has refused acceptance of the delivery.The delivery package was damaged by the time it arrived to the customer destination.</td>\n</tr>\n<tr>\n<td>DriverFailure</td>\n<td>Driver has the order but their delivery mode has failed(e.g.car mechanical issues, bicycle tire is flat, etc.).</td>\n</tr>\n<tr>\n<td>ServiceOverCommitted</td>\n<td>The delivery provider has accepted the delivery request but now does not have sufficient drivers to assign to the delivery.</td>\n</tr>\n<tr>\n<td>DspOtherReason</td>\n<td>A delivery provider reason other than what has been defined.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","orders","2f3385e0-981e-11ed-954d-c32dcb0a5fb2","cancel"],"host":["https://habitat-market.ngrok.io"],"query":[],"variable":[]}},"response":[{"id":"27679eee-5d8a-43a3-bf76-43fc8cd5f2a8","name":"Cancel order","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"reason\": \"DestinationUnreachable\",\n\t\"reasonComments\": \"Driver called and rang, no response after 5 minutes\"\n}"},"url":"https://habitat-market.ngrok.io/api/orders/df5c9da0-623d-11ee-8d45-dd71e550b626/cancel"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"183"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Fri, 24 Mar 2023 18:57:30 GMT"},{"key":"Etag","value":"W/\"b7-e3Mi6fWb7/e5i1KJ/ATDBqJoVcg\""},{"key":"Ngrok-Trace-Id","value":"663ed9d47c6be8ab5a504a36cc32c448"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"Express"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"data\": {\n        \"order_id\": \"a944dbc0-ca75-11ed-8f65-cfb250471e45\",\n        \"reason\": \"DestinationUnreachable\",\n        \"reason_comments\": \"Driver called and rang, no response after 5 minutes\"\n    }\n}"}],"_postman_id":"92e6c1a9-ca6c-4856-a74f-ce0b3b46dcbb"}],"id":"18544d27-f452-4f5e-858e-c47a5edf3271","_postman_id":"18544d27-f452-4f5e-858e-c47a5edf3271","description":""},{"name":"Strategies","item":[{"name":"Create Dispatch Strategy","id":"7e8dd905-f356-4776-b6b2-f994984aeb1d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{ACCESS_TOKEN_ADMIN}}"},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"strategy\": {\n        \"tie_breaker\": \"cheapest\",\n        \"name\": \"Cheapest test\",\n        \"default\": true\n    },\n    \"strategy_providers\": [\n        {\n          \"name\": \"relay\",\n          \"type\": \"ban\",\n          \"index\": 0\n        }\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/v3/strategies","description":"<p><strong>Strategies</strong> allow you to configure ranked preferences for which DSPs should receive an order, based on several parameters. Our algorithm determines the strategy based on this order:</p>\n<ol>\n<li>Which Merchant the order is for</li>\n<li>Which Territory the order is in (If no merchant-specific Strategy is set)</li>\n<li>Ranked by either cheapest price or fastest delivery time</li>\n<li>Banned DSPs filtered out</li>\n<li>Preferred DSPs bumped to top</li>\n</ol>\n<p>We then use this ranked list to request the delivery from the top down (i_.e in the case that the 'top' DSP rejects the order, we move to the next one)_</p>\n<p><strong>Creating a Strategy is currently not available via API - go to your</strong> <a href=\"https://alpha.firstdelivery.com/settings\"><strong>Dispatch Settings</strong></a> <strong>to configure DSP routing strategies on a per-territory and per-merchant basis</strong></p>\n","urlObject":{"path":["api","v3","strategies"],"host":["https://habitat-market.ngrok.io"],"query":[],"variable":[]}},"response":[{"id":"b41d2146-feee-4fe0-aeaf-92598c852bf7","name":"Create Dispatch Strategy","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"{{ACCESS_TOKEN_ADMIN}}","type":"text"}],"url":"https://habitat-market.ngrok.io/api/v3/strategies"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"265"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Thu, 16 Mar 2023 22:05:23 GMT"},{"key":"Etag","value":"W/\"109-lr/iMCnR5a0RcgZ0Ne/Vz/gWVjk\""},{"key":"Ngrok-Trace-Id","value":"e11033f47dc86d198b88732a14c41085"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"Express"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"data\": {\n        \"strategies\": [\n            {\n                \"id\": \"3390e635-d510-4f51-b809-513db03d2e76\",\n                \"operator_id\": 1,\n                \"default\": true,\n                \"tie_breaker\": \"cheapest\",\n                \"name\": \"Default (Cheapest)\"\n            }\n        ],\n        \"strategy_providers\": [],\n        \"providers\": [\n            \"doordash\",\n            \"uber\",\n            \"ally\",\n            \"relay\",\n            \"cutcats\",\n            \"quickness\"\n        ]\n    }\n}"}],"_postman_id":"7e8dd905-f356-4776-b6b2-f994984aeb1d"},{"name":"Replace Strategy Schedule","id":"dcff189b-38e7-4768-9fe0-cc61777c1a7b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{ACCESS_TOKEN_ADMIN}}"},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"[{\n  \"start\": {\n    \"day\": \"tuesday\",\n    \"hour\": 10.5\n  },\n  \"stop\": {\n    \"day\": \"tuesday\",\n    \"hour\": 22.5\n  }\n}, {\n  \"start\": {\n    \"day\": \"wednesday\",\n    \"hour\": 10.5\n  },\n  \"stop\": {\n    \"day\": \"wednesday\",\n    \"hour\": 22.5\n  }\n}, {\n  \"start\": {\n    \"day\": \"thursday\",\n    \"hour\": 10.5\n  },\n  \"stop\": {\n    \"day\": \"thursday\",\n    \"hour\": 22.5\n  }\n}, {\n  \"start\": {\n    \"day\": \"friday\",\n    \"hour\": 10.5\n  },\n  \"stop\": {\n    \"day\": \"friday\",\n    \"hour\": 22.5\n  }\n}, {\n  \"start\": {\n    \"day\": \"saturday\",\n    \"hour\": 10.5\n  },\n  \"stop\": {\n    \"day\": \"saturday\",\n    \"hour\": 22.5\n  }\n}] ","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/dispatch/strategies_hours/3dacee10-c99c-4ef2-92b5-4f67abf23744","urlObject":{"path":["api","dispatch","strategies_hours","3dacee10-c99c-4ef2-92b5-4f67abf23744"],"host":["https://habitat-market.ngrok.io"],"query":[],"variable":[]}},"response":[],"_postman_id":"dcff189b-38e7-4768-9fe0-cc61777c1a7b"},{"name":"Get Dispatch Strategies","id":"d10a5408-1cd0-4e09-bd57-0bc5752a9a81","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{ACCESS_TOKEN_ADMIN}}"},"isInherited":false},"method":"GET","header":[],"url":"https://habitat-market.ngrok.io/api/v3/strategies","description":"<p>Get all Strategies</p>\n<p><strong>Strategies are also configurable via dispatch - check</strong> <a href=\"https://alpha.firstdelivery.com/settings\"><strong>Dispatch Settings</strong></a> <strong>to configure DSP routing strategies on a per-territory and per-merchant basis</strong></p>\n","urlObject":{"path":["api","v3","strategies"],"host":["https://habitat-market.ngrok.io"],"query":[],"variable":[]}},"response":[{"id":"ad0d7339-0763-47e7-89f1-53951a248a67","name":"Get Dispatch Strategy","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"{{ACCESS_TOKEN_ADMIN}}","type":"text"}],"url":"https://habitat-market.ngrok.io/api/v3/strategies"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"265"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Thu, 16 Mar 2023 22:05:23 GMT"},{"key":"Etag","value":"W/\"109-lr/iMCnR5a0RcgZ0Ne/Vz/gWVjk\""},{"key":"Ngrok-Trace-Id","value":"e11033f47dc86d198b88732a14c41085"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"Express"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"data\": {\n        \"strategies\": [\n            {\n                \"id\": \"3390e635-d510-4f51-b809-513db03d2e76\",\n                \"operator_id\": 1,\n                \"default\": true,\n                \"tie_breaker\": \"cheapest\",\n                \"name\": \"Default (Cheapest)\"\n            }\n        ],\n        \"strategy_providers\": [],\n        \"providers\": [\n            \"doordash\",\n            \"uber\",\n            \"ally\",\n            \"relay\",\n            \"cutcats\",\n            \"quickness\"\n        ]\n    }\n}"}],"_postman_id":"d10a5408-1cd0-4e09-bd57-0bc5752a9a81"},{"name":"(BETA) Get Strategy Schedule","id":"b842f9e1-b50b-44ab-a7cd-7efda8941890","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"","urlObject":{"query":[],"variable":[]}},"response":[],"_postman_id":"b842f9e1-b50b-44ab-a7cd-7efda8941890"},{"name":"(BETA) Remove Strategy Schedule","id":"debb393c-c27c-47f1-b2f2-f4bac449989b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{ACCESS_TOKEN_ADMIN}}"},"isInherited":false},"method":"DELETE","header":[],"url":"https://habitat-market.ngrok.io/api/dispatch/strategies_hours/263091ef-2f98-4f40-85e4-a44065ecd837","urlObject":{"path":["api","dispatch","strategies_hours","263091ef-2f98-4f40-85e4-a44065ecd837"],"host":["https://habitat-market.ngrok.io"],"query":[],"variable":[]}},"response":[],"_postman_id":"debb393c-c27c-47f1-b2f2-f4bac449989b"},{"name":"Append To Strategy Schedule","id":"59bcd98a-683d-4829-8461-07eb244adbe0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{ACCESS_TOKEN_ADMIN}}"},"isInherited":false},"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n    \"start\": {\n        \"day\": \"wednesday\",\n        \"hour\": 12.75\n    },\n    \"stop\": {\n        \"day\": \"wednesday\",\n        \"hour\": 15\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/dispatch/strategies_hours/263091ef-2f98-4f40-85e4-a44065ecd837","description":"<p>Add ranges of hours for which a strategy is INACTIVE, meaning that the strategy will not be executed during those hours, and order must be manually placed with an external DSP by a dispatcher.</p>\n<p><strong>No conversion necessary for hour values</strong> - we interpret these on the fly during a request, converting the respective ranges and timestamp to UTC.</p>\n","urlObject":{"path":["api","dispatch","strategies_hours","263091ef-2f98-4f40-85e4-a44065ecd837"],"host":["https://habitat-market.ngrok.io"],"query":[],"variable":[]}},"response":[],"_postman_id":"59bcd98a-683d-4829-8461-07eb244adbe0"}],"id":"7b6b5558-b768-41cf-8312-ea37637a6e69","_postman_id":"7b6b5558-b768-41cf-8312-ea37637a6e69","description":""},{"name":"Webhooks","item":[{"name":"Create Webhook","id":"4f2a91dc-42a6-40f2-a5d4-37187727e91f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"{{ACCESS_TOKEN_ADMIN}}"},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"url\": \"https://first-delivery.ngrok.io/webhooks\"\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/webhooks","description":"<h4 id=\"first-offers-configurable-webhooks-for-delivery-lifecycle-events\"><strong>First offers configurable webhooks for delivery lifecycle events.</strong></h4>\n<p>There are a few ways you can set these up to work, but usually just the URL is all you need:</p>\n<ul>\n<li><p>The <code>url</code> field can take a placeholder value that we will replace with the First <code>order.id</code> -</p>\n<ul>\n<li>This allows you to hit an endpoint on your server that looks up the order based on request query parameters</li>\n</ul>\n</li>\n<li><p><code>http_options</code> allows you to pass custom headers like Authorization (don't worry, we encrypt these!)</p>\n</li>\n<li><p><code>event_filters</code> Allow you to selectively send webhooks dependent on the status (see <a href=\"https://documenter.getpostman.com/view/2850328/RW87qVSS#ccf63ad1-6be6-4f35-a97d-557f317a679d\">Order Statuses</a> for event definitions)</p>\n</li>\n</ul>\n<p><strong>Check out the 'Examples' dropdown in the top right corner to see the different types of payloads.</strong></p>\n","urlObject":{"path":["api","webhooks"],"host":["https://habitat-market.ngrok.io"],"query":[],"variable":[]}},"response":[{"id":"e0555e60-3846-43cf-8fe1-516632575c61","name":"all webhooks to basic URL","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"{{ACCESS_TOKEN_ADMIN}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"url\": \"https://webhooks.firstdelivery.com\"\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/webhooks"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"232"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Fri, 17 Mar 2023 17:51:42 GMT"},{"key":"Etag","value":"W/\"e8-LN54qXeNJKnaULQi1Qo7UyeOV8g\""},{"key":"Ngrok-Trace-Id","value":"d99718864c4be3232ee0326b7eb182bf"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"Express"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"webhook\": {\n        \"id\": \"30202232-d3ae-4840-ab20-d6cb5a379b95\",\n        \"created_at\": \"2023-03-17 17:51:42.790555+00\",\n        \"operator_id\": 1,\n        \"url\": \"https://webhooks.firstdelivery.com\",\n        \"http_options\": null,\n        \"active\": true,\n        \"event_filter\": null\n    }\n}"},{"id":"183052a6-04fd-4389-9369-29eaec460d22","name":"with First OrderID in URL","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"{{ACCESS_TOKEN_ADMIN}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"url\": \"https://webhooks.firstdelivery.com/orders/$\"\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/webhooks"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"233"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Fri, 17 Mar 2023 18:14:08 GMT"},{"key":"Etag","value":"W/\"e9-RIVy6xSVZZcgEAoX0XFGy10856E\""},{"key":"Ngrok-Trace-Id","value":"0dd833b38cb06b27f7d8f5f6ace17dc3"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"Express"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"webhook\": {\n        \"id\": \"42e1f7b7-09db-4008-8a77-8729f549c922\",\n        \"created_at\": \"2023-03-17 18:14:08.707849+00\",\n        \"event_filter\": null,\n        \"url\": \"https://webhooks.firstdelivery.com/orders/${ORDER_ID}\",\n        \"active\": true,\n        \"http_options\": {}\n    }\n}"},{"id":"6eb58811-d1e2-4096-baaa-a581c5ef4f5a","name":"on select events","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"{{ACCESS_TOKEN_ADMIN}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"url\": \"https://webhooks.firstdelivery.com\",\n    \"event_filter\": [\"cancelled\"]\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/webhooks"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"241"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Fri, 17 Mar 2023 17:52:58 GMT"},{"key":"Etag","value":"W/\"f1-y7L4g8sVilOojPDd16AxR2qUKJo\""},{"key":"Ngrok-Trace-Id","value":"2fcd8fa2dacdd838bf1342747575211a"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"Express"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"webhook\": {\n        \"id\": \"885af834-36a9-46ce-a9cc-8cb9ee196732\",\n        \"created_at\": \"2023-03-17 17:52:58.984459+00\",\n        \"operator_id\": 1,\n        \"url\": \"https://webhooks.firstdelivery.com\",\n        \"http_options\": null,\n        \"active\": true,\n        \"event_filter\": [\n            \"cancelled\"\n        ]\n    }\n}"},{"id":"622dc135-3bb4-49fe-aaa9-551c3400d8da","name":"with auth headers","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"{{ACCESS_TOKEN_ADMIN}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"url\": \"https://webhooks.firstdelivery.com\",\n    \"http_options\": {\n        \"headers\": {\n            \"Authorization\": \"YOUR_SERVER_ACCESS_TOKEN\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/webhooks"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"268"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Fri, 17 Mar 2023 18:09:07 GMT"},{"key":"Etag","value":"W/\"10c-aw1yI6SmkpAFbiRfkh2/xwcR4b4\""},{"key":"Ngrok-Trace-Id","value":"a8dbfb0cba496f33e99d978b62b79fbf"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"Express"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"webhook\": {\n        \"id\": \"071c80b3-39e0-4c99-81f2-4703668bfcde\",\n        \"created_at\": \"2023-03-17 18:09:07.556135+00\",\n        \"event_filter\": null,\n        \"url\": \"https://webhooks.firstdelivery.com\",\n        \"active\": true,\n        \"http_options\": {\n            \"headers\": {\n                \"Authorization\": \"YOUR_SERVER_ACCESS_TOKEN\"\n            }\n        }\n    }\n}"}],"_postman_id":"4f2a91dc-42a6-40f2-a5d4-37187727e91f"}],"id":"8f44ae28-6d58-4939-9de7-054575808d57","description":"<p>First's webhooks are a normalized pass-through of what the DSP emits to First - therefore, <strong>we are currently unable to guarantee</strong> <em><strong>exact</strong></em> <strong>sequencing, accuracy, and deliverability of webhooks</strong> (we just format and pass them along). Less than 1% of orders are affected.</p>\n<p>For this reason, if you are relying on webhooks to execute business-critical logic when <code>status</code> changes, we <em><strong>strongly</strong></em> reccommend first sanity checking against your internal status, and/or use polling in combination.</p>\n<h5 id=\"other-webhook-notes\">Other webhook notes</h5>\n<ul>\n<li><p>Runner location updates will come in with the last observed status (or new status) - <strong>not a distinct status like</strong> <strong><code>LocationUpdate</code></strong></p>\n</li>\n<li><p><code>status_v3</code> is the same as <code>status</code> on any <code>/v3/orders</code> endpoint, and currently reccommended over <code>status</code>, which is less granular and to be deprecated.</p>\n</li>\n<li><p><code>cancel_details.reason</code> is the raw DSP-specific cancel code</p>\n</li>\n</ul>\n<p>Example of a happy-path from creation to completion:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": \"Pending\",\n  \"orderId\": \"57abe6a0-92c9-11ef-83ea-77a593a719fc\",\n  \"status_v3\": \"scheduled\",\n  \"externalId\": \"963360\", //your passed in `external_id`\n  \"orderNumber\": 3893,\n  \"trackerLink\": \"https://ordertracker.delivery/?orderId=57abe6a0-92c9-11ef-83ea-77a593a719fc\",\n  \"dspTrackerLink\": \"https://track.doordash.com/order/0e38c90e-3959-4047-a3af-8e06ec4387c9/track\",\n  \"estimatedPickupTime\": \"2024-10-25T12:09:52.142Z\",\n  \"estimatedDropoffTime\": \"2024-10-25T12:19:52.142Z\"\n}\n{\n  \"status\": \"Assigned\",\n  \"orderId\": \"57abe6a0-92c9-11ef-83ea-77a593a719fc\",\n  \"latitude\": 40.7254627,\n  \"longitude\": -73.4833305,\n  \"status_v3\": \"en_route_pickup\",\n  \"driverName\": \"Edvard G.\",\n  \"externalId\": \"963360\",\n  \"orderNumber\": 3893,\n  \"trackerLink\": \"https://ordertracker.delivery/?orderId=57abe6a0-92c9-11ef-83ea-77a593a719fc\",\n  \"transportType\": \"Car\",\n  \"dspTrackerLink\": \"https://track.doordash.com/order/0e38c90e-3959-4047-a3af-8e06ec4387c9/track\",\n  \"driverPhoneNumber\": \"+17086833263\",\n  \"estimatedPickupTime\": \"2024-10-25T12:19:56.000Z\",\n  \"estimatedDropoffTime\": \"2024-10-25T12:46:07.000Z\"\n}\n{\n  \"status\": \"InTransit\",\n  \"orderId\": \"57abe6a0-92c9-11ef-83ea-77a593a719fc\",\n  \"latitude\": 40.7295676,\n  \"longitude\": -73.4634871,\n  \"status_v3\": \"en_route_dropoff\",\n  \"driverName\": \"Edvard G.\",\n  \"externalId\": \"963360\",\n  \"orderNumber\": 3893,\n  \"trackerLink\": \"https://ordertracker.delivery/?orderId=57abe6a0-92c9-11ef-83ea-77a593a719fc\",\n  \"transportType\": \"Car\",\n  \"dspTrackerLink\": \"https://track.doordash.com/order/0e38c90e-3959-4047-a3af-8e06ec4387c9/track\",\n  \"driverPhoneNumber\": \"+17086833263\",\n  \"estimatedPickupTime\": \"2024-10-25T12:19:31.000Z\",\n  \"estimatedDropoffTime\": \"2024-10-25T12:26:20.000Z\"\n}\n{\n  \"status\": \"AtDestination\",\n  \"orderId\": \"57abe6a0-92c9-11ef-83ea-77a593a719fc\",\n  \"latitude\": 40.729583,\n  \"longitude\": -73.463406,\n  \"status_v3\": \"arrived_dropoff\",\n  \"driverName\": \"Edvard G.\",\n  \"externalId\": \"963360\",\n  \"orderNumber\": 3893,\n  \"trackerLink\": \"https://ordertracker.delivery/?orderId=57abe6a0-92c9-11ef-83ea-77a593a719fc\",\n  \"transportType\": \"Car\",\n  \"dspTrackerLink\": \"https://track.doordash.com/order/0e38c90e-3959-4047-a3af-8e06ec4387c9/track\",\n  \"driverPhoneNumber\": \"+17086833263\",\n  \"estimatedPickupTime\": \"2024-10-25T12:19:31.000Z\",\n  \"estimatedDropoffTime\": \"2024-10-25T12:26:20.000Z\"\n}\n{\n  \"status\": \"Delivered\",\n  \"orderId\": \"57abe6a0-92c9-11ef-83ea-77a93...\n  \"latitude\": 40.7029607,\n  \"longitude\": -73.448888,\n  \"status_v3\": \"completed\",\n  \"driverName\": \"Edvard G.\",\n  \"externalId\": \"963360\",\n  \"orderNumber\": 3893,\n  \"trackerLink\": \"https://ordertracker.delivery/?orderId=57abe6a0-92c9-11ef-83ea-77a593a719fc\",\n  \"transportType\": \"Car\",\n  \"dspTrackerLink\": \"https://track.doordash.com/order/0e38c90e-3959-4047-a3af-8e06ec4387c9/track\",\n  \"driverPhoneNumber\": \"+17086833263\",\n  \"estimatedPickupTime\": \"2024-10-25T12:19:32.490Z\",\n  \"estimatedDropoffTime\": \"2024-10-25T12:29:33.562Z\"\n}\n\n</code></pre>\n<p>A cancellation will emit additional <code>cancel_details</code>.</p>\n<ul>\n<li><p><code>reason</code> is a non-standardized code directly from the DSP</p>\n</li>\n<li><p><code>details</code> is a comment from the driver (usually empty)</p>\n</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"orderId\": \"57abe6a0-92c9-11ef-83ea-77a593a719fc\",\n  \"status_v3\": \"scheduled\",\n  \"externalId\": \"963360\",\n  \"orderNumber\": 3893,\n  \"trackerLink\": \"https://ordertracker.delivery/?orderId=57abe6a0-92c9-11ef-83ea-77a593a719fc\",\n  \"dspTrackerLink\": \"https://track.doordash.com/order/0e38c90e-3959-4047-a3af-8e06ec4387c9/track\",\n  \"estimatedPickupTime\": \"2024-10-25T12:09:52.142Z\",\n  \"estimatedDropoffTime\": \"2024-10-25T12:19:52.142Z\",\n  \"cancel_details\": {\n      \"reason\": \"cancel_by_merchant\",\n      \"details\": null\n   }, \n}\n\n</code></pre>\n","_postman_id":"8f44ae28-6d58-4939-9de7-054575808d57"},{"name":"Exports","item":[{"name":"Orders","id":"db50f60e-f30a-4b79-89c5-e06a965dd518","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"token":"<token>"},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"start\": \"2023-03-01T15:01:40.877Z\",\n    \"end\": \"2023-04-02T15:01:40.877Z\",\n    \"type\": \"merchant\",\n    \"format\": \"json\"\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/v3/exports","description":"<p>Export order data and summaries for billing your merchants, and paying your drivers (if you have a fleet). We currently have three types of exports - available using the <code>type</code> field. <strong>This endpoint is similar to the GET /v3/orders endpoint, but is focused on billing and payments for completed orders, and has no limit.</strong></p>\n<p>Depending on the size of the query, you may be emailed the response as a CSV.</p>\n<h5 id=\"merchant\">Merchant</h5>\n<p>Per order summary with relevant fields for billing merchants, if you aren't using our Stripe integration</p>\n<h5 id=\"runner\">Runner</h5>\n<p>Per order summary with relevant fields for paying your runners, if you aren't using our Stripe integration</p>\n<h5 id=\"runner-daily-summary\">Runner Daily Summary</h5>\n<p>Per day summary with relevant fields for paying your runners, if you aren't using our Stripe integration</p>\n<h3 id=\"request-body\">Request Body</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Optional (default)</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>type</code></td>\n<td></td>\n<td>One of <code>runner</code> <code>merchant</code> or <code>runner_daily_summary</code></td>\n</tr>\n<tr>\n<td><code>start</code></td>\n<td></td>\n<td>Export start, based on when order was created (ISO 8601 Date)</td>\n</tr>\n<tr>\n<td><code>end</code></td>\n<td></td>\n<td>Export end, based on when order was created (ISO 8601 Date)</td>\n</tr>\n<tr>\n<td><code>format</code></td>\n<td>Yes - <code>json</code></td>\n<td>One of <code>csv</code> <code>json</code> <code>xlsx</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v3","exports"],"host":["https://habitat-market.ngrok.io"],"query":[],"variable":[]}},"response":[{"id":"e8c0d564-6545-48ac-bba0-24e4afb7b48d","name":"per order summary for your merchants","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"start\": \"2023-03-01T15:01:40.877Z\",\n    \"end\": \"2023-04-02T15:01:40.877Z\",\n    \"type\": \"merchant\",\n    \"format\": \"json\"\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/v3/exports"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"549"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Fri, 31 Mar 2023 15:56:43 GMT"},{"key":"Etag","value":"W/\"225-Lz7LleKPvcNT3NWol7iDps6SPzU\""},{"key":"Ngrok-Trace-Id","value":"5c70c841baea470a4b88e980f3664ebf"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"Express"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"data\": [\n        {\n            \"time_requested\": \"2023-03-14T23:07:59.147Z\",\n            \"order_number\": 1792,\n            \"external_id\": \"12345\",\n            \"external_delivery_id\": null,\n            \"external_delivery_provider\": null,\n            \"restaurant_name\": \"mikes test\",\n            \"delivery_address\": \"2166 E Norris St., Philadelphia PA, 19125\",\n            \"partner\": null,\n            \"driver name\": \" \",\n            \"method\": \"Delivery\",\n            \"territory\": \"Philly\",\n            \"distance_straight_line\": 0.35,\n            \"distance_routed\": 0.67,\n            \"status\": \"pending_dispatch\",\n            \"order_total\": 9,\n            \"tip\": 2,\n            \"billable_merchant_fee\": null,\n            \"commission\": 5,\n            \"merchant_delivery_fee\": null,\n            \"diner_delivery_fee\": null\n        }\n    ]\n}"},{"id":"c84d94a7-513b-4715-860e-71a6fbe28b40","name":"per order summary for your fleet","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"start\": \"2023-03-01T15:01:40.877Z\",\n    \"end\": \"2023-04-02T15:01:40.877Z\",\n    \"type\": \"runner\",\n    \"format\": \"json\"\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/v3/exports"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"409"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Fri, 31 Mar 2023 16:01:51 GMT"},{"key":"Etag","value":"W/\"199-vw+6zpGf3i5scVCjLNFE9UHUHpU\""},{"key":"Ngrok-Trace-Id","value":"13b764c047ba526f324869899171f6fa"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"Express"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"data\": [\n        {\n            \"time_requested\": \"2023-03-14T21:03:21.783Z\",\n            \"order_number\": 1234,\n            \"external_id\": \"b672c9ff-2567-4194-9a51-210f05174b8f\",\n            \"restaurant_name\": \"TEST grubhub\",\n            \"delivery_address\": \"1619 S Clarion St, Philadelphia PA 19148\",\n            \"partner\": null,\n            \"name\": \"judy29 \",\n            \"driver_email\": \"judy29@firstdelivery.com\",\n            \"territory\": \"Philadelphia\",\n            \"commission\": 1.5,\n            \"tip\": 7,\n            \"distance\": null,\n            \"diner_delivery_fee\": null\n        }\n    ]\n}"},{"id":"00d8674c-dad3-483f-a7f1-5d07b2fcc782","name":"daily payment summary for your fleet","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"start\": \"2023-03-01T15:01:40.877Z\",\n    \"end\": \"2023-04-02T15:01:40.877Z\",\n    \"type\": \"runner_daily_summary\",\n    \"format\": \"json\"\n}","options":{"raw":{"language":"json"}}},"url":"https://habitat-market.ngrok.io/api/v3/exports"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Length","value":"322"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Date","value":"Fri, 31 Mar 2023 16:02:34 GMT"},{"key":"Etag","value":"W/\"142-EXDzpCs9rVCn8kOhGXd5d83ywx0\""},{"key":"Ngrok-Trace-Id","value":"4bf01c23d57f5d7e89c1ef9d89ec37da"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Powered-By","value":"Express"}],"cookie":[],"responseTime":null,"body":"{\n    \"type\": \"success\",\n    \"data\": [\n        {\n            \"user_id\": \"9a32c2e8-4c1d-4aff-a3b0-c62a1e559b33\",\n            \"day\": \"2023-03-21T04:00:00.000Z\",\n            \"name\": \"Georgia Kuhlman\",\n            \"email\": \"idell_friesen18@yahoo.com\",\n            \"territory\": \"Philadelphia\",\n            \"order_count\": \"1\",\n            \"hours\": 0,\n            \"hourly_base_pay\": 0,\n            \"order_commissions\": 5,\n            \"tip_total\": 2,\n            \"bonus_pay\": 0,\n            \"total_pay\": 7,\n            \"unpaid\": 0\n        }\n    ]\n}"}],"_postman_id":"db50f60e-f30a-4b79-89c5-e06a965dd518"}],"id":"36ffef6a-2a17-457d-b001-92fdf4b84879","_postman_id":"36ffef6a-2a17-457d-b001-92fdf4b84879","description":""},{"name":"Refunds (Beta)","item":[{"name":"Create DSP Refund Request","id":"39ce0073-cac9-454e-a588-1505fc54837f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{auth_token}}"}],"body":{"mode":"raw","raw":"{\n  \"amount\": 15.5,\n  \"contact_email\": \"customer@example.com\",\n  \"description\": \"Food was cold and delivery was late\",\n  \"external_dsps_id\": \"dsp_delivery_12345\",\n  \"external_dsps_name\": \"DoorDash\",\n  \"issue_type\": \"food_quality\",\n  \"merchant_name\": \"Joe's Pizza\",\n  \"internal_status\": \"unreviewed\"\n}"},"url":"{{base_url}}/v3/refunds","description":"<p>Creates a new DSP refund request. Requires admin, partner, or vendor authentication.</p>\n","urlObject":{"path":["v3","refunds"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[{"id":"3e3008fa-daf2-4562-a330-b4c73c8004c1","name":"Success Response","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{auth_token}}"}],"body":{"mode":"raw","raw":"{\n  \"amount\": 15.5,\n  \"contact_email\": \"customer@example.com\",\n  \"description\": \"Food was cold and delivery was late\",\n  \"external_dsps_id\": \"dsp_delivery_12345\",\n  \"external_dsps_name\": \"DoorDash\",\n  \"issue_type\": \"food_quality\",\n  \"merchant_name\": \"Joe's Pizza\",\n  \"internal_status\": \"unreviewed\"\n}"},"url":"{{base_url}}/v3/refunds"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"refund_12345\",\n    \"amount\": 15.5,\n    \"contact_email\": \"customer@example.com\",\n    \"description\": \"Food was cold and delivery was late\",\n    \"external_dsps_id\": \"dsp_delivery_12345\",\n    \"external_dsps_name\": \"DoorDash\",\n    \"issue_type\": \"food_quality\",\n    \"merchant_name\": \"Joe's Pizza\",\n    \"internal_status\": \"unreviewed\",\n    \"created_at\": \"2024-01-15T10:30:00Z\",\n    \"updated_at\": \"2024-01-15T10:30:00Z\"\n  }\n}"}],"_postman_id":"39ce0073-cac9-454e-a588-1505fc54837f"},{"name":"Get DSP Refunds","id":"78dbcd68-6441-45d9-a2bb-26a2db2cda9c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{auth_token}}"}],"url":"{{base_url}}/v3/refunds?limit=50&page=0&active=true&search=door&filters[start]=2024-01-01&filters[stop]=2024-01-31&filters[status][]=pending&filters[status][]=approved&filters[internal_status][]=unreviewed&filters[internal_status][]=flagged&filters[merchant_id]=merchant_123&sorting[id]=created_at&sorting[desc]=true&format=csv","description":"<p>Retrieves a paginated list of DSP refunds with filtering and sorting options. Supports CSV/Excel export.</p>\n","urlObject":{"path":["v3","refunds"],"host":["{{base_url}}"],"query":[{"description":{"content":"<p>Number of results per page (max 250 in production)</p>\n","type":"text/plain"},"key":"limit","value":"50"},{"description":{"content":"<p>Page number (0-based)</p>\n","type":"text/plain"},"key":"page","value":"0"},{"description":{"content":"<p>Filter for active refunds only</p>\n","type":"text/plain"},"key":"active","value":"true"},{"description":{"content":"<p>Search term for refunds</p>\n","type":"text/plain"},"key":"search","value":"door"},{"description":{"content":"<p>Start date filter (ISO format)</p>\n","type":"text/plain"},"key":"filters[start]","value":"2024-01-01"},{"description":{"content":"<p>End date filter (ISO format)</p>\n","type":"text/plain"},"key":"filters[stop]","value":"2024-01-31"},{"description":{"content":"<p>Filter by refund status</p>\n","type":"text/plain"},"key":"filters[status][]","value":"pending"},{"description":{"content":"<p>Multiple status values supported</p>\n","type":"text/plain"},"key":"filters[status][]","value":"approved"},{"description":{"content":"<p>Filter by internal status</p>\n","type":"text/plain"},"key":"filters[internal_status][]","value":"unreviewed"},{"description":{"content":"<p>Multiple internal status values supported</p>\n","type":"text/plain"},"key":"filters[internal_status][]","value":"flagged"},{"description":{"content":"<p>Filter by merchant ID</p>\n","type":"text/plain"},"key":"filters[merchant_id]","value":"merchant_123"},{"description":{"content":"<p>Field to sort by</p>\n","type":"text/plain"},"key":"sorting[id]","value":"created_at"},{"description":{"content":"<p>Sort in descending order</p>\n","type":"text/plain"},"key":"sorting[desc]","value":"true"},{"description":{"content":"<p>Export format (csv, json, xlsx)</p>\n","type":"text/plain"},"key":"format","value":"csv"}],"variable":[]}},"response":[{"id":"6f3176c5-355f-4e26-912e-d6f0c91557db","name":"Success Response","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/v3/refunds?limit=50&page=0","host":["{{base_url}}"],"path":["v3","refunds"],"query":[{"key":"limit","value":"50"},{"key":"page","value":"0"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": \"refund_12345\",\n      \"amount\": 15.5,\n      \"contact_email\": \"customer@example.com\",\n      \"description\": \"Food was cold and delivery was late\",\n      \"external_dsps_id\": \"dsp_delivery_12345\",\n      \"external_dsps_name\": \"DoorDash\",\n      \"issue_type\": \"food_quality\",\n      \"merchant_name\": \"Joe's Pizza\",\n      \"internal_status\": \"unreviewed\",\n      \"status\": \"pending\",\n      \"created_at\": \"2024-01-15T10:30:00Z\",\n      \"updated_at\": \"2024-01-15T10:30:00Z\"\n    }\n  ],\n  \"pagination\": {\n    \"page\": 0,\n    \"limit\": 50,\n    \"total\": 1,\n    \"pages\": 1\n  },\n  \"usedCache\": false\n}"}],"_postman_id":"78dbcd68-6441-45d9-a2bb-26a2db2cda9c"},{"name":"Update DSP Refund","id":"7eca363b-0a7a-4580-8099-4c43daf5d71f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{auth_token}}"}],"body":{"mode":"raw","raw":"{\n  \"internal_status\": \"resolved\"\n}"},"url":"{{base_url}}/v3/refunds/{{refund_id}}","description":"<p>Updates a DSP refund's internal status. Requires DspRefundEdit permission.</p>\n","urlObject":{"path":["v3","refunds","{{refund_id}}"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[{"id":"58c9da8d-d935-4d45-828f-514b15af2c0c","name":"Success Response","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\n  \"internal_status\": \"resolved\"\n}"},"url":"{{base_url}}/v3/refunds/refund_12345"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"refund_12345\",\n    \"amount\": 15.5,\n    \"contact_email\": \"customer@example.com\",\n    \"description\": \"Food was cold and delivery was late\",\n    \"external_dsps_id\": \"dsp_delivery_12345\",\n    \"external_dsps_name\": \"DoorDash\",\n    \"issue_type\": \"food_quality\",\n    \"merchant_name\": \"Joe's Pizza\",\n    \"internal_status\": \"resolved\",\n    \"status\": \"pending\",\n    \"created_at\": \"2024-01-15T10:30:00Z\",\n    \"updated_at\": \"2024-01-15T11:45:00Z\"\n  }\n}"}],"_postman_id":"7eca363b-0a7a-4580-8099-4c43daf5d71f"},{"name":"Get DSP Refund by DSP ID","id":"5309322a-9c1a-4bbb-828d-0be681e08d2a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{auth_token}}"}],"url":"{{base_url}}/v3/refunds/{{dsps_delivery_id}}","description":"<p>Retrieves a specific DSP refund by its external DSP delivery ID.</p>\n","urlObject":{"path":["v3","refunds","{{dsps_delivery_id}}"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[{"id":"f516b92b-e41f-40b2-be3f-0332432eedb3","name":"Success Response","originalRequest":{"method":"GET","header":[],"url":"{{base_url}}/v3/refunds/dsp_delivery_12345"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"success\": true,\n  \"data\": {\n    \"id\": \"refund_12345\",\n    \"amount\": 15.5,\n    \"contact_email\": \"customer@example.com\",\n    \"description\": \"Food was cold and delivery was late\",\n    \"external_dsps_id\": \"dsp_delivery_12345\",\n    \"external_dsps_name\": \"DoorDash\",\n    \"issue_type\": \"food_quality\",\n    \"merchant_name\": \"Joe's Pizza\",\n    \"internal_status\": \"unreviewed\",\n    \"status\": \"pending\",\n    \"created_at\": \"2024-01-15T10:30:00Z\",\n    \"updated_at\": \"2024-01-15T10:30:00Z\"\n  }\n}"}],"_postman_id":"5309322a-9c1a-4bbb-828d-0be681e08d2a"}],"id":"a1649d87-0b43-4801-b57f-4682e3038082","description":"<h2 id=\"how-refunds-work\">How Refunds Work</h2>\n<h3 id=\"refund-workflow-process\">Refund Workflow Process</h3>\n<ol>\n<li><p><strong>Refund Request Creation</strong><br /> When a refund is created via the API, First automatically sends an email to the DSP's support email address with the customer's contact email CC'd.</p>\n</li>\n<li><p><strong>Manual Email Exchange</strong><br /> The refund dispute is then handled through manual email communication between:</p>\n<ul>\n<li><p>The DSP support team</p>\n</li>\n<li><p>The customer (via CC)</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Status Updates</strong><br /> For <strong>DoorDash</strong> and <strong>Uber Direct</strong> only, when the refund dispute is resolved, First will automatically update the refund status to one of:</p>\n<ul>\n<li><p><code>rejected</code> — Refund request was denied</p>\n</li>\n<li><p><code>approved</code> — Full refund approved</p>\n</li>\n<li><p><code>partial_approved</code> — Partial refund approved</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Other DSPs</strong><br /> For all other delivery service providers, the status remains in the manual email workflow without automatic status updates.</p>\n</li>\n</ol>\n<p>The <code>internal_status</code> field can be used to manually manage the state of all refunds. <strong>Note that this is distinct from the</strong> <strong><code>status</code></strong> <strong>field, which can only be changed by the DSP.</strong></p>\n<hr />\n<h3 id=\"key-points\">Key Points</h3>\n<ul>\n<li><p><strong>Email Automation</strong>: All refund requests trigger automatic email notifications</p>\n</li>\n<li><p><strong>Manual Process</strong>: Resolution requires human intervention via email</p>\n</li>\n<li><p><strong>Selective Automation</strong>: Only DoorDash and Uber Eats get automatic status updates</p>\n</li>\n<li><p><strong>Customer Involvement</strong>: Customers are CC'd on all communications</p>\n</li>\n</ul>\n","_postman_id":"a1649d87-0b43-4801-b57f-4682e3038082"},{"name":"Shifts","item":[{"name":"Get Shifts","id":"8aaaec57-2578-4fdf-9687-c5171faf4cbe","request":{"method":"GET","header":[{"key":"Authorization","value":"{{auth_token}}","type":"text","description":"<p>Bearer token for authentication</p>\n"}],"url":"{{base_url}}/api/v3/shifts?page=0&limit=20","description":"<p>Retrieves a paginated list of shifts with optional filters.</p>\n<p><strong>Authentication Required:</strong> admin, partner, or vendor role</p>\n<h2 id=\"query-parameters\">Query Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>page</code></td>\n<td>number</td>\n<td>No</td>\n<td>0</td>\n<td>Page number for pagination</td>\n</tr>\n<tr>\n<td><code>limit</code></td>\n<td>number</td>\n<td>No</td>\n<td>20</td>\n<td>Results per page (max: 250 in production, 10000 in dev)</td>\n</tr>\n<tr>\n<td><code>start</code></td>\n<td>string (ISO date)</td>\n<td>No</td>\n<td>-</td>\n<td>Filter shifts starting on or after this date (e.g., <code>2025-10-20T00:00:00Z</code>)</td>\n</tr>\n<tr>\n<td><code>stop</code></td>\n<td>string (ISO date)</td>\n<td>No</td>\n<td>-</td>\n<td>Filter shifts ending on or before this date (e.g., <code>2025-10-30T00:00:00Z</code>)</td>\n</tr>\n<tr>\n<td><code>user_id</code></td>\n<td>string (UUID)</td>\n<td>No</td>\n<td>-</td>\n<td>Filter by specific user ID</td>\n</tr>\n<tr>\n<td><code>territory_id</code></td>\n<td>string (UUID)</td>\n<td>No</td>\n<td>-</td>\n<td>Filter by territory ID</td>\n</tr>\n<tr>\n<td><code>retreat_point</code></td>\n<td>string (UUID)</td>\n<td>No</td>\n<td>-</td>\n<td>Filter by retreat point ID</td>\n</tr>\n<tr>\n<td><code>chomp_run_id</code></td>\n<td>number</td>\n<td>No</td>\n<td>-</td>\n<td>Filter by chomp run ID</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response-structure\">Response Structure</h2>\n<p>Returns a paginated list of shifts with embedded user information.</p>\n<h3 id=\"response-fields\">Response Fields</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"data\": [\n    {\n      \"id\": \"string (UUID)\",\n      \"created_at\": \"string (ISO date)\",\n      \"retreat_point\": \"string (UUID)\",\n      \"recurring\": \"string | null\",\n      \"hourly_rate\": \"number\",\n      \"length_hours\": \"number\",\n      \"start\": \"string (ISO date)\",\n      \"user_id\": \"string (UUID)\",\n      \"stop\": \"string (ISO date)\",\n      \"role\": \"string\",\n      \"territory_id\": \"string (UUID)\",\n      \"chomp_run_id\": \"number | null\",\n      \"shift_type\": \"string\",\n      \"bonus_pay\": \"number\",\n      \"guarantee\": \"number\",\n      \"blitz\": \"boolean\",\n      \"user\": {\n        \"first_name\": \"string\",\n        \"last_name\": \"string\",\n        \"phone\": \"string\",\n        \"username\": \"string\",\n        \"is_external_runner\": \"boolean\"\n      }\n    }\n  ],\n  \"total\": \"number\"\n}\n</code></pre>\n<h3 id=\"example-response\">Example Response</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"data\": [\n    {\n      \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n      \"created_at\": \"2025-10-20T10:00:00.000Z\",\n      \"retreat_point\": \"650e8400-e29b-41d4-a716-446655440000\",\n      \"recurring\": null,\n      \"hourly_rate\": 15.5,\n      \"length_hours\": 8,\n      \"start\": \"2025-10-20T08:00:00.000Z\",\n      \"user_id\": \"750e8400-e29b-41d4-a716-446655440000\",\n      \"stop\": \"2025-10-20T16:00:00.000Z\",\n      \"role\": \"runner\",\n      \"territory_id\": \"850e8400-e29b-41d4-a716-446655440000\",\n      \"chomp_run_id\": 123,\n      \"shift_type\": \"delivery\",\n      \"bonus_pay\": 0,\n      \"guarantee\": 100,\n      \"blitz\": false,\n      \"user\": {\n        \"first_name\": \"John\",\n        \"last_name\": \"Doe\",\n        \"phone\": \"+15551234567\",\n        \"username\": \"john.doe@example.com\",\n        \"is_external_runner\": false\n      }\n    }\n  ],\n  \"total\": 42\n}\n</code></pre>\n","urlObject":{"path":["api","v3","shifts"],"host":["{{base_url}}"],"query":[{"description":{"content":"<p>Page number for pagination (default: 0)</p>\n","type":"text/plain"},"key":"page","value":"0"},{"description":{"content":"<p>Number of results per page (default: 20, max: 250 in production)</p>\n","type":"text/plain"},"key":"limit","value":"20"},{"disabled":true,"description":{"content":"<p>Filter shifts starting after this ISO date (e.g., 2025-10-20T00:00:00Z)</p>\n","type":"text/plain"},"key":"start","value":""},{"disabled":true,"description":{"content":"<p>Filter shifts ending before this ISO date (e.g., 2025-10-30T00:00:00Z)</p>\n","type":"text/plain"},"key":"stop","value":""},{"disabled":true,"description":{"content":"<p>Filter by specific user UUID</p>\n","type":"text/plain"},"key":"user_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by territory UUID</p>\n","type":"text/plain"},"key":"territory_id","value":""},{"disabled":true,"description":{"content":"<p>Filter by retreat point UUID</p>\n","type":"text/plain"},"key":"retreat_point","value":""},{"disabled":true,"description":{"content":"<p>Filter by chomp run ID</p>\n","type":"text/plain"},"key":"chomp_run_id","value":""}],"variable":[]}},"response":[{"id":"792a02de-e593-4805-93da-827982816f95","name":"Success Response","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{base_url}}/api/v3/shifts?page=0&limit=20","host":["{{base_url}}"],"path":["api","v3","shifts"],"query":[{"key":"page","value":"0"},{"key":"limit","value":"20"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": [\n    {\n      \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n      \"created_at\": \"2025-10-20T10:00:00.000Z\",\n      \"retreat_point\": \"650e8400-e29b-41d4-a716-446655440000\",\n      \"recurring\": null,\n      \"hourly_rate\": 15.5,\n      \"length_hours\": 8,\n      \"start\": \"2025-10-20T08:00:00.000Z\",\n      \"user_id\": \"750e8400-e29b-41d4-a716-446655440000\",\n      \"stop\": \"2025-10-20T16:00:00.000Z\",\n      \"role\": \"runner\",\n      \"territory_id\": \"850e8400-e29b-41d4-a716-446655440000\",\n      \"chomp_run_id\": 123,\n      \"shift_type\": \"delivery\",\n      \"bonus_pay\": 0,\n      \"guarantee\": 100,\n      \"blitz\": false,\n      \"user\": {\n        \"first_name\": \"John\",\n        \"last_name\": \"Doe\",\n        \"phone\": \"+15551234567\",\n        \"username\": \"john.doe@example.com\",\n        \"is_external_runner\": false\n      }\n    }\n  ],\n  \"total\": 42\n}"}],"_postman_id":"8aaaec57-2578-4fdf-9687-c5171faf4cbe"}],"id":"cb1bffd8-86e9-4a86-8fe6-2bd7dbf1b01a","_postman_id":"cb1bffd8-86e9-4a86-8fe6-2bd7dbf1b01a","description":""}],"id":"ccf63ad1-6be6-4f35-a97d-557f317a679d","description":"<p>The First Platform API provides full access for you to externally manage your delivery operation</p>\n<ul>\n<li>Creating markets (territories)</li>\n<li>Creating runners and merchants</li>\n<li>Sending orders for internal delivery or to the preferred provider in our DSP network (Doordash, UberEats, etc)</li>\n</ul>\n<h4 id=\"order-statuses\">Order Statuses</h4>\n<p>When creating, getting, updating orders - statuses are defined as following:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>status</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>pending_assign</code></td>\n<td>Order is waiting to be dispatched to a runner. Can't be updated to this. Returned on POST /orders.</td>\n</tr>\n<tr>\n<td><code>pending_merchant</code></td>\n<td>Order is waiting for merchant to accept. Can't be updated to this. Returned on POST /orders.</td>\n</tr>\n<tr>\n<td><code>scheduled</code></td>\n<td>Order is scheduled for future. Can't be updated to this. Returned on POST /orders.</td>\n</tr>\n<tr>\n<td><code>runner_assigned</code></td>\n<td>Runner has been assigned - <code>payload</code> required. You can send this multiple times if a new runner is assigned in the course of delivery. Any completed statuses by the previous runner will be rolled back on reassign.</td>\n</tr>\n<tr>\n<td><code>en_route_pickup</code></td>\n<td>Runner on way to pickup.</td>\n</tr>\n<tr>\n<td><code>arrived_pickup</code></td>\n<td>Runner arrived at pickup</td>\n</tr>\n<tr>\n<td><code>picked_up</code></td>\n<td>Runner picked up order</td>\n</tr>\n<tr>\n<td><code>en_route_dropoff</code></td>\n<td>Runner on way to dropoff</td>\n</tr>\n<tr>\n<td><code>arrived_dropoff</code></td>\n<td>Runner arrived at drop off</td>\n</tr>\n<tr>\n<td><code>completed</code></td>\n<td>Order is completed</td>\n</tr>\n<tr>\n<td><code>cancelled</code></td>\n<td>Can't be updated to this. USE POST /cancel to cancel orders</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"ccf63ad1-6be6-4f35-a97d-557f317a679d"}],"event":[{"listen":"prerequest","script":{"id":"60330587-abaf-4ce9-befe-ccb41ceb2f4a","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"ae39e992-450a-4da4-b3b7-c5d82acdb2f9","type":"text/javascript","exec":[""]}}],"variable":[{"key":"BASE_HABITAT_URL","value":"https://habitat-market.ngrok.io","type":"string"},{"key":"ACCESS_TOKEN_ADMIN","value":"d03ea3d0-d3b9-11ed-8b58-fd444294f6c5","type":"string","disabled":true},{"key":"ORDER_ID","value":"df5c9da0-623d-11ee-8d45-dd71e550b626","type":"string"},{"key":"ORDER_STATUS","value":"runner_assigned","type":"string"},{"key":"$merchantId","value":"2c77c710-d9a2-11ed-bffb-7df939ab8e29","type":"string"},{"key":"RUNNER_ID","value":"1697c3af-450f-42f4-8609-669a4350c22f","type":"string"}]}