{
  "_type": "export",
  "__export_format": 4,
  "__export_date": "2026-08-05T00:00:00.000Z",
  "__export_source": "d-edge-mintlify-collection-export",
  "resources": [
    {
      "_id": "wrk_d-edge-docs",
      "_type": "workspace",
      "parentId": null,
      "name": "D-EDGE Docs: API reference",
      "description": "Insomnia collection, version 1.1, for the D-EDGE public APIs, documented at https://docs.d-edge.com.\n\n**This collection is preconfigured for the mock environment** at `api-mock.d-edge.com`: import it and send any request to get mock responses, no credentials needed.\n\nTo call the live API instead, edit the Base Environment values:\n\n- set each API's `baseUrl` (`bestPriceApi.baseUrl`, `quotationApi.baseUrl`, `dailyRatesApi.baseUrl`, `bookingEngineApi.baseUrl`, `giftShopApi.baseUrl`, `crmApi.baseUrl`) to the live base URL provided by D-EDGE with your credentials\n- Channel Manager API: set `channelManagerApi.yourBaseUrl` to your own server to replay the calls D-EDGE makes to your endpoints, fill `channelManagerApi.login`, `channelManagerApi.password`, and `channelManagerApi.hotelCode` with your values, and set `channelManagerApi.baseUrl`, `channelManagerApi.pushLogin`, and `channelManagerApi.pushPassword` with the Push bookings URL and credentials D-EDGE issues\n\n- fill `common.oauth1.consumerKey`, `common.oauth1.consumerSecret`, `common.oauth1.token`, `common.oauth1.tokenSecret` with your OAuth 1.0 credentials, delivered by D-EDGE during partnership setup\n- fill `giftShopApi.apiKey` with the X-API-KEY delivered by D-EDGE (Gift Shop API only; the pricing and booking APIs use OAuth 1.0)\n- fill `crmApi.tokenUrl`, `crmApi.clientId`, and `crmApi.clientSecret` with your OAuth 2.0 credentials; the tool fetches and refreshes the token by itself (CRM API only)\n- set `crmApi.entityId` to your own entity, and `crmApi.mergedGuestId` to a merged profile of yours; the other CRM identifiers need nothing, they flow from the earlier responses\n- set `common.hotelId` and `common.groupId` to your real identifiers (the placeholders 12345 / 67890 silently return empty results on the live API for requests using the `exceptions/default` filter pattern)\n\nThe request bodies use future dates. Re-download the collection to refresh them if needed. To get the mock configuration back at any time, re-import the downloaded file.",
      "scope": "collection"
    },
    {
      "_id": "env_base",
      "_type": "environment",
      "parentId": "wrk_d-edge-docs",
      "name": "Base Environment",
      "data": {
        "common": {
          "mockApiKey": "@erBN6$LE$#rrotSzD@c6iPtYe!Xt!k#s&aNhL?J",
          "oauth1": {
            "consumerKey": "",
            "consumerSecret": "",
            "token": "",
            "tokenSecret": ""
          },
          "hotelId": 12345,
          "groupId": 67890,
          "currency": "EUR"
        },
        "channelManagerApi": {
          "baseUrl": "https://api-mock.d-edge.com/channel-manager-api",
          "yourBaseUrl": "https://api-mock.d-edge.com/channel-manager-api",
          "login": "testhotel",
          "password": "testpassword",
          "hotelCode": "1234",
          "pushLogin": "",
          "pushPassword": ""
        },
        "bestPriceApi": {
          "baseUrl": "https://api-mock.d-edge.com/best-price-api"
        },
        "quotationApi": {
          "baseUrl": "https://api-mock.d-edge.com/quotation-api"
        },
        "dailyRatesApi": {
          "baseUrl": "https://api-mock.d-edge.com/daily-rates-api"
        },
        "bookingEngineApi": {
          "baseUrl": "https://api-mock.d-edge.com/booking-engine-api",
          "engineId": "1XXA",
          "selectedHotelId": "30001",
          "bookingReference": "BKG001"
        },
        "giftShopApi": {
          "baseUrl": "https://api-mock.d-edge.com/gift-shop-api",
          "apiKey": ""
        },
        "crmApi": {
          "baseUrl": "https://api-mock.d-edge.com/crm-api",
          "tokenUrl": "https://api-mock.d-edge.com/crm-api/oauth/token",
          "clientId": "",
          "clientSecret": "",
          "entityId": "c3000001-0002-0003-0004-000000000001",
          "mergedGuestId": "c3000007-0002-0003-0004-000000000007"
        }
      },
      "dataPropertyOrder": {
        "&": [
          "common",
          "channelManagerApi",
          "bestPriceApi",
          "quotationApi",
          "dailyRatesApi",
          "bookingEngineApi",
          "giftShopApi",
          "crmApi"
        ],
        "&~|common": [
          "mockApiKey",
          "oauth1",
          "hotelId",
          "groupId",
          "currency"
        ],
        "&~|common~|oauth1": [
          "consumerKey",
          "consumerSecret",
          "token",
          "tokenSecret"
        ],
        "&~|channelManagerApi": [
          "baseUrl",
          "yourBaseUrl",
          "login",
          "password",
          "hotelCode",
          "pushLogin",
          "pushPassword"
        ],
        "&~|bookingEngineApi": [
          "baseUrl",
          "engineId",
          "selectedHotelId",
          "bookingReference"
        ],
        "&~|giftShopApi": [
          "baseUrl",
          "apiKey"
        ],
        "&~|crmApi": [
          "baseUrl",
          "tokenUrl",
          "clientId",
          "clientSecret",
          "entityId",
          "mergedGuestId"
        ]
      },
      "color": null,
      "isPrivate": false,
      "metaSortKey": 1700000000000
    },
    {
      "_id": "fld_channel-manager-api",
      "_type": "request_group",
      "parentId": "wrk_d-edge-docs",
      "name": "Channel Manager API",
      "description": "This API runs the other way round: D-EDGE calls endpoints you host, and the collection plays D-EDGE. The requests to your four interfaces (Get hotel, Planning updates, Get bookings, Confirm bookings) target channelManagerApi.yourBaseUrl, preset to the mock environment, which answers as your server would. Set it to your own server and the same requests replay the examples of the documentation against your endpoints. The certification scenarios ship as the test scenarios collection on the same page. Push bookings is the one call you make to D-EDGE and targets channelManagerApi.baseUrl. The requests reproduce the examples of the documentation, with your credentials and hotel code as variables in the Base Environment.",
      "metaSortKey": -600
    },
    {
      "_id": "fld_cm-hotel-setup",
      "_type": "request_group",
      "parentId": "fld_channel-manager-api",
      "name": "Hotel setup",
      "description": "",
      "metaSortKey": 0
    },
    {
      "_id": "req_channel-manager.get-hotel.request-we-send",
      "_type": "request",
      "parentId": "fld_cm-hotel-setup",
      "name": "Get hotel",
      "description": "D-EDGE reads a hotel's configuration from your system. D-EDGE sends this request to the endpoint you host: the collection plays D-EDGE and targets channelManagerApi.yourBaseUrl, the mock by default. The mock answers with the PerDay configuration shown on the Get hotel page.",
      "method": "GET",
      "url": "{{ _.channelManagerApi.yourBaseUrl }}/getHotel",
      "parameters": [
        {
          "name": "hotelCode",
          "value": "{{ _.channelManagerApi.hotelCode }}"
        },
        {
          "name": "lang",
          "value": "EN"
        }
      ],
      "headers": [
        {
          "name": "Accept",
          "value": "application/xml, text/xml"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "basic",
        "useISO88591": false,
        "disabled": false,
        "username": "{{ _.channelManagerApi.login }}",
        "password": "{{ _.channelManagerApi.password }}"
      },
      "metaSortKey": 0
    },
    {
      "_id": "fld_cm-planning",
      "_type": "request_group",
      "parentId": "fld_channel-manager-api",
      "name": "Planning",
      "description": "",
      "metaSortKey": 1
    },
    {
      "_id": "req_channel-manager.planning-updates.perday",
      "_type": "request",
      "parentId": "fld_cm-planning",
      "name": "Planning updates (PerDay)",
      "description": "D-EDGE pushes availability, prices, and restrictions. D-EDGE sends this request to the endpoint you host: the collection plays D-EDGE and targets channelManagerApi.yourBaseUrl, the mock by default. The mock answers with a <success /> envelope.",
      "method": "POST",
      "url": "{{ _.channelManagerApi.yourBaseUrl }}/planningUpdates",
      "parameters": [],
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/xml; charset=utf-8"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "basic",
        "useISO88591": false,
        "disabled": false,
        "username": "{{ _.channelManagerApi.login }}",
        "password": "{{ _.channelManagerApi.password }}"
      },
      "metaSortKey": 0,
      "body": {
        "mimeType": "application/xml",
        "text": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<message xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\n  <authentication login=\"{{ _.channelManagerApi.login }}\" password=\"{{ _.channelManagerApi.password }}\"/>\n  <inventoryUpdate hotelId=\"{{ _.channelManagerApi.hotelCode }}\">\n    <room id=\"CLA\">\n      <inventory>\n        <availability from=\"2027-03-01\" to=\"2027-03-14\" quantity=\"5\"/>\n        <availability from=\"2027-03-15\" to=\"2027-03-31\" quantity=\"2\"/>\n      </inventory>\n      <rate currency=\"EUR\" rateCode=\"BAR\" rateName=\"BAR\">\n        <planning from=\"2027-03-01\" to=\"2027-03-14\" unitPrice=\"142.00\" minimumStay=\"1\" maximumStay=\"14\" noArrival=\"false\" noDeparture=\"false\" isClosed=\"false\"/>\n        <planning from=\"2027-03-15\" to=\"2027-03-31\" unitPrice=\"169.00\" minimumStay=\"2\" maximumStay=\"14\" noArrival=\"false\" noDeparture=\"false\" isClosed=\"false\"/>\n      </rate>\n    </room>\n  </inventoryUpdate>\n</message>"
      }
    },
    {
      "_id": "req_channel-manager.planning-updates.perperson",
      "_type": "request",
      "parentId": "fld_cm-planning",
      "name": "Planning updates (PerPerson)",
      "description": "D-EDGE pushes availability, prices, and restrictions. D-EDGE sends this request to the endpoint you host: the collection plays D-EDGE and targets channelManagerApi.yourBaseUrl, the mock by default. The mock answers with a <success /> envelope.",
      "method": "POST",
      "url": "{{ _.channelManagerApi.yourBaseUrl }}/planningUpdates",
      "parameters": [],
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/xml; charset=utf-8"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "basic",
        "useISO88591": false,
        "disabled": false,
        "username": "{{ _.channelManagerApi.login }}",
        "password": "{{ _.channelManagerApi.password }}"
      },
      "metaSortKey": 1,
      "body": {
        "mimeType": "application/xml",
        "text": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<message xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\n  <authentication login=\"{{ _.channelManagerApi.login }}\" password=\"{{ _.channelManagerApi.password }}\"/>\n  <inventoryUpdate hotelId=\"{{ _.channelManagerApi.hotelCode }}\">\n    <room id=\"SUP\">\n      <inventory>\n        <availability from=\"2027-03-01\" to=\"2027-03-31\" quantity=\"5\"/>\n      </inventory>\n      <rate currency=\"EUR\" rateCode=\"BAR\" rateName=\"BAR\">\n        <planning from=\"2027-03-01\" to=\"2027-03-31\" minimumStay=\"1\" maximumStay=\"99\" noArrival=\"false\" noDeparture=\"false\" isClosed=\"false\">\n          <occupancy personCount=\"1\" unitPrice=\"100.00\" isClosed=\"false\"/>\n          <occupancy personCount=\"2\" unitPrice=\"120.00\" isClosed=\"false\"/>\n        </planning>\n      </rate>\n    </room>\n  </inventoryUpdate>\n</message>"
      }
    },
    {
      "_id": "req_channel-manager.planning-updates.peroccupancy",
      "_type": "request",
      "parentId": "fld_cm-planning",
      "name": "Planning updates (PerOccupancy)",
      "description": "D-EDGE pushes availability, prices, and restrictions. D-EDGE sends this request to the endpoint you host: the collection plays D-EDGE and targets channelManagerApi.yourBaseUrl, the mock by default. The mock answers with a <success /> envelope.",
      "method": "POST",
      "url": "{{ _.channelManagerApi.yourBaseUrl }}/planningUpdates",
      "parameters": [],
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/xml; charset=utf-8"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "basic",
        "useISO88591": false,
        "disabled": false,
        "username": "{{ _.channelManagerApi.login }}",
        "password": "{{ _.channelManagerApi.password }}"
      },
      "metaSortKey": 2,
      "body": {
        "mimeType": "application/xml",
        "text": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<message xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\n  <authentication login=\"{{ _.channelManagerApi.login }}\" password=\"{{ _.channelManagerApi.password }}\"/>\n  <inventoryUpdate hotelId=\"{{ _.channelManagerApi.hotelCode }}\">\n    <room id=\"SUP\">\n      <rate currency=\"EUR\" rateCode=\"BAR\" rateName=\"BAR\">\n        <planning from=\"2027-03-01\" to=\"2027-03-31\" minimumStay=\"1\" maximumStay=\"99\" noArrival=\"false\" noDeparture=\"false\" isClosed=\"false\">\n          <occupancy adultCount=\"1\" childCount=\"0\" unitPrice=\"100.00\" isClosed=\"false\"/>\n          <occupancy adultCount=\"1\" childCount=\"1\" unitPrice=\"105.00\" isClosed=\"false\"/>\n          <occupancy adultCount=\"2\" childCount=\"0\" unitPrice=\"120.00\" isClosed=\"false\"/>\n        </planning>\n      </rate>\n    </room>\n  </inventoryUpdate>\n</message>"
      }
    },
    {
      "_id": "req_channel-manager.planning-updates.inventory-only",
      "_type": "request",
      "parentId": "fld_cm-planning",
      "name": "Planning updates (Inventory only)",
      "description": "D-EDGE pushes availability, prices, and restrictions. D-EDGE sends this request to the endpoint you host: the collection plays D-EDGE and targets channelManagerApi.yourBaseUrl, the mock by default. The mock answers with a <success /> envelope.",
      "method": "POST",
      "url": "{{ _.channelManagerApi.yourBaseUrl }}/planningUpdates",
      "parameters": [],
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/xml; charset=utf-8"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "basic",
        "useISO88591": false,
        "disabled": false,
        "username": "{{ _.channelManagerApi.login }}",
        "password": "{{ _.channelManagerApi.password }}"
      },
      "metaSortKey": 3,
      "body": {
        "mimeType": "application/xml",
        "text": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<message xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\n  <authentication login=\"{{ _.channelManagerApi.login }}\" password=\"{{ _.channelManagerApi.password }}\"/>\n  <inventoryUpdate hotelId=\"{{ _.channelManagerApi.hotelCode }}\">\n    <room id=\"CLA\">\n      <inventory>\n        <availability from=\"2027-03-01\" to=\"2027-12-30\" quantity=\"5\"/>\n      </inventory>\n    </room>\n    <room id=\"SUP\">\n      <inventory>\n        <availability from=\"2027-03-01\" to=\"2027-12-30\" quantity=\"7\"/>\n      </inventory>\n    </room>\n  </inventoryUpdate>\n</message>"
      }
    },
    {
      "_id": "req_channel-manager.planning-updates.meal-plan",
      "_type": "request",
      "parentId": "fld_cm-planning",
      "name": "Planning updates (Meal plan)",
      "description": "D-EDGE pushes availability, prices, and restrictions. D-EDGE sends this request to the endpoint you host: the collection plays D-EDGE and targets channelManagerApi.yourBaseUrl, the mock by default. The mock answers with a <success /> envelope.",
      "method": "POST",
      "url": "{{ _.channelManagerApi.yourBaseUrl }}/planningUpdates",
      "parameters": [],
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/xml; charset=utf-8"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "basic",
        "useISO88591": false,
        "disabled": false,
        "username": "{{ _.channelManagerApi.login }}",
        "password": "{{ _.channelManagerApi.password }}"
      },
      "metaSortKey": 4,
      "body": {
        "mimeType": "application/xml",
        "text": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<message xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\n  <authentication login=\"{{ _.channelManagerApi.login }}\" password=\"{{ _.channelManagerApi.password }}\"/>\n  <inventoryUpdate hotelId=\"{{ _.channelManagerApi.hotelCode }}\">\n    <room id=\"SUP\">\n      <rate currency=\"EUR\" rateCode=\"BB\" rateName=\"BB\" mealPlanType=\"BreakfastIncluded\">\n        <planning from=\"2027-08-30\" to=\"2027-09-29\" unitPrice=\"142.00\">\n          <mealPlan paxType=\"adult\" price=\"20.0000\"/>\n          <mealPlan paxType=\"child\" price=\"12.0000\"/>\n        </planning>\n      </rate>\n    </room>\n  </inventoryUpdate>\n</message>"
      }
    },
    {
      "_id": "fld_cm-bookings",
      "_type": "request_group",
      "parentId": "fld_channel-manager-api",
      "name": "Bookings",
      "description": "",
      "metaSortKey": 2
    },
    {
      "_id": "req_channel-manager.get-bookings.per-hotel",
      "_type": "request",
      "parentId": "fld_cm-bookings",
      "name": "Get bookings (Per hotel)",
      "description": "D-EDGE pulls new, modified, and cancelled bookings. D-EDGE sends this request to the endpoint you host: the collection plays D-EDGE and targets channelManagerApi.yourBaseUrl, the mock by default. The mock answers with the two-booking response shown on the Get bookings page.",
      "method": "GET",
      "url": "{{ _.channelManagerApi.yourBaseUrl }}/getBookings",
      "parameters": [
        {
          "name": "from",
          "value": "2027-04-20T20:00:00"
        },
        {
          "name": "to",
          "value": "2027-04-20T21:00:00"
        },
        {
          "name": "hotelId",
          "value": "{{ _.channelManagerApi.hotelCode }}"
        }
      ],
      "headers": [
        {
          "name": "Accept",
          "value": "application/xml, text/xml"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "basic",
        "useISO88591": false,
        "disabled": false,
        "username": "{{ _.channelManagerApi.login }}",
        "password": "{{ _.channelManagerApi.password }}"
      },
      "metaSortKey": 0
    },
    {
      "_id": "req_channel-manager.get-bookings.all-hotels",
      "_type": "request",
      "parentId": "fld_cm-bookings",
      "name": "Get bookings (All hotels)",
      "description": "D-EDGE pulls new, modified, and cancelled bookings. D-EDGE sends this request to the endpoint you host: the collection plays D-EDGE and targets channelManagerApi.yourBaseUrl, the mock by default. The mock answers with the two-booking response shown on the Get bookings page.",
      "method": "GET",
      "url": "{{ _.channelManagerApi.yourBaseUrl }}/getBookings",
      "parameters": [
        {
          "name": "duration",
          "value": "1"
        }
      ],
      "headers": [
        {
          "name": "Accept",
          "value": "application/xml, text/xml"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "basic",
        "useISO88591": false,
        "disabled": false,
        "username": "{{ _.channelManagerApi.login }}",
        "password": "{{ _.channelManagerApi.password }}"
      },
      "metaSortKey": 1
    },
    {
      "_id": "req_channel-manager.push-bookings.create",
      "_type": "request",
      "parentId": "fld_cm-bookings",
      "name": "Push bookings (Create)",
      "description": "You push each confirmed booking to D-EDGE. Your system sends this request to D-EDGE, at channelManagerApi.baseUrl. The mock answers with a <success /> envelope, meaning the booking was read.",
      "method": "POST",
      "url": "{{ _.channelManagerApi.baseUrl }}/pushBookings",
      "parameters": [],
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/xml"
        },
        {
          "name": "Accept",
          "value": "application/xml, text/xml"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "basic",
        "useISO88591": false,
        "disabled": false,
        "username": "{{ _.channelManagerApi.pushLogin }}",
        "password": "{{ _.channelManagerApi.pushPassword }}"
      },
      "metaSortKey": 2,
      "body": {
        "mimeType": "application/xml",
        "text": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<message>\n  <success/>\n  <bookings hotelId=\"{{ _.channelManagerApi.hotelCode }}\">\n    <booking id=\"EOCFGA\" action=\"Create\" currency=\"EUR\" date=\"2027-04-20T20:03:25\" totalAmount=\"397.00\" paidAmount=\"0.00\" dueAmount=\"397.00\" payableAmount=\"0.00\" paxCount=\"2\">\n      <customer firstName=\"Alain\" lastName=\"Dupont\">\n        <contact email=\"alain.dupont@example.com\"/>\n      </customer>\n      <rooms>\n        <room id=\"CLA\">\n          <stays>\n            <stay date=\"2027-10-02\" quantity=\"1\" unitPrice=\"198.50\" rateCode=\"BAR\"/>\n            <stay date=\"2027-10-03\" quantity=\"1\" unitPrice=\"198.50\" rateCode=\"BAR\"/>\n          </stays>\n          <guests>\n            <guest firstName=\"Alain\" lastName=\"Dupont\" ageRange=\"10\"/>\n            <guest firstName=\"Marie\" lastName=\"Dupont\" title=\"Mrs\" ageRange=\"10\"/>\n          </guests>\n        </room>\n      </rooms>\n    </booking>\n  </bookings>\n</message>"
      }
    },
    {
      "_id": "req_channel-manager.push-bookings.modify",
      "_type": "request",
      "parentId": "fld_cm-bookings",
      "name": "Push bookings (Modify)",
      "description": "You push each confirmed booking to D-EDGE. Your system sends this request to D-EDGE, at channelManagerApi.baseUrl. The mock answers with a <success /> envelope, meaning the booking was read.",
      "method": "POST",
      "url": "{{ _.channelManagerApi.baseUrl }}/pushBookings",
      "parameters": [],
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/xml"
        },
        {
          "name": "Accept",
          "value": "application/xml, text/xml"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "basic",
        "useISO88591": false,
        "disabled": false,
        "username": "{{ _.channelManagerApi.pushLogin }}",
        "password": "{{ _.channelManagerApi.pushPassword }}"
      },
      "metaSortKey": 3,
      "body": {
        "mimeType": "application/xml",
        "text": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<message>\n  <success/>\n  <bookings hotelId=\"{{ _.channelManagerApi.hotelCode }}\">\n    <booking id=\"EOCFGA\" action=\"Modify\" currency=\"EUR\" date=\"2027-04-21T09:12:40\" totalAmount=\"595.50\" paidAmount=\"0.00\" dueAmount=\"595.50\" payableAmount=\"0.00\" paxCount=\"2\">\n      <customer firstName=\"Alain\" lastName=\"Dupont\">\n        <contact email=\"alain.dupont@example.com\"/>\n      </customer>\n      <rooms>\n        <room id=\"CLA\">\n          <stays>\n            <stay date=\"2027-10-02\" quantity=\"1\" unitPrice=\"198.50\" rateCode=\"BAR\"/>\n            <stay date=\"2027-10-03\" quantity=\"1\" unitPrice=\"198.50\" rateCode=\"BAR\"/>\n            <stay date=\"2027-10-04\" quantity=\"1\" unitPrice=\"198.50\" rateCode=\"BAR\"/>\n          </stays>\n          <guests>\n            <guest firstName=\"Alain\" lastName=\"Dupont\" ageRange=\"10\"/>\n            <guest firstName=\"Marie\" lastName=\"Dupont\" title=\"Mrs\" ageRange=\"10\"/>\n          </guests>\n        </room>\n      </rooms>\n    </booking>\n  </bookings>\n</message>"
      }
    },
    {
      "_id": "req_channel-manager.push-bookings.cancel",
      "_type": "request",
      "parentId": "fld_cm-bookings",
      "name": "Push bookings (Cancel)",
      "description": "You push each confirmed booking to D-EDGE. Your system sends this request to D-EDGE, at channelManagerApi.baseUrl. The mock answers with a <success /> envelope, meaning the booking was read.",
      "method": "POST",
      "url": "{{ _.channelManagerApi.baseUrl }}/pushBookings",
      "parameters": [],
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/xml"
        },
        {
          "name": "Accept",
          "value": "application/xml, text/xml"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "basic",
        "useISO88591": false,
        "disabled": false,
        "username": "{{ _.channelManagerApi.pushLogin }}",
        "password": "{{ _.channelManagerApi.pushPassword }}"
      },
      "metaSortKey": 4,
      "body": {
        "mimeType": "application/xml",
        "text": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<message>\n  <success/>\n  <bookings hotelId=\"{{ _.channelManagerApi.hotelCode }}\">\n    <booking id=\"EOCFGA\" action=\"Cancel\" currency=\"EUR\" date=\"2027-04-22T16:40:05\" totalAmount=\"595.50\" paidAmount=\"0.00\" dueAmount=\"595.50\" payableAmount=\"0.00\" paxCount=\"2\">\n      <customer/>\n    </booking>\n  </bookings>\n</message>"
      }
    },
    {
      "_id": "req_channel-manager.push-bookings.full-booking",
      "_type": "request",
      "parentId": "fld_cm-bookings",
      "name": "Push bookings (Full booking)",
      "description": "You push each confirmed booking to D-EDGE. Your system sends this request to D-EDGE, at channelManagerApi.baseUrl. The mock answers with a <success /> envelope, meaning the booking was read.",
      "method": "POST",
      "url": "{{ _.channelManagerApi.baseUrl }}/pushBookings",
      "parameters": [],
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/xml"
        },
        {
          "name": "Accept",
          "value": "application/xml, text/xml"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "basic",
        "useISO88591": false,
        "disabled": false,
        "username": "{{ _.channelManagerApi.pushLogin }}",
        "password": "{{ _.channelManagerApi.pushPassword }}"
      },
      "metaSortKey": 5,
      "body": {
        "mimeType": "application/xml",
        "text": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<message>\n  <success/>\n  <bookings hotelId=\"{{ _.channelManagerApi.hotelCode }}\">\n    <booking id=\"EOC4440\" action=\"Create\" currency=\"EUR\" date=\"2027-04-14T10:03:25\" totalAmount=\"397.00\" paidAmount=\"397.00\" dueAmount=\"0.00\" payableAmount=\"397.00\" origin=\"MySite.com\" paxCount=\"3\" adultCount=\"2\" childCount=\"1\" infantCount=\"0\" commissionType=\"percent\" commissionValue=\"10.00\" sellType=\"gross\" dayUse=\"false\" arrivalTime=\"15:00Z\" departureTime=\"11:00Z\">\n      <customer firstName=\"Alain\" lastName=\"Dupont\" title=\"Mr\">\n        <contact email=\"alain.dupont@example.com\" phone=\"0620304050\">\n          <address city=\"Paris\" country=\"FR\" postalCode=\"75002\"><![CDATA[24 rue du sentier]]></address>\n        </contact>\n        <creditCard number=\"4111111111111111\" cardHolder=\"Alain Dupont\" expiryDate=\"2028-03\" cardType=\"Visa\"/>\n        <comment><![CDATA[Quiet room, please.]]></comment>\n      </customer>\n      <travelAgent name=\"My Travel Agency\" id=\"IATA12456\">\n        <contact email=\"agency@example.com\" phone=\"+33120304050\"/>\n      </travelAgent>\n      <distributor>\n        <comment name=\"Cancel Policy\"><![CDATA[In the event of a no-show, the first night is charged.]]></comment>\n        <comment name=\"Guaranty\"><![CDATA[Credit card guarantee]]></comment>\n      </distributor>\n      <rooms>\n        <room id=\"CLA\">\n          <stays>\n            <stay date=\"2027-10-02\" quantity=\"1\" unitPrice=\"62.50\" rateCode=\"BAR\"/>\n            <stay date=\"2027-10-03\" quantity=\"1\" unitPrice=\"63.00\" rateCode=\"NR\"/>\n            <stay date=\"2027-10-04\" quantity=\"1\" unitPrice=\"60.00\" rateCode=\"BAR\"/>\n          </stays>\n          <guests>\n            <guest firstName=\"Alain\" lastName=\"Dupont\" title=\"Mr\" ageRange=\"10\"/>\n          </guests>\n        </room>\n        <room id=\"SUP\">\n          <stays>\n            <stay date=\"2027-10-02\" quantity=\"1\" unitPrice=\"70.50\" rateCode=\"BAR\"/>\n            <stay date=\"2027-10-03\" quantity=\"1\" unitPrice=\"70.50\" rateCode=\"BAR\"/>\n            <stay date=\"2027-10-04\" quantity=\"1\" unitPrice=\"70.50\" rateCode=\"BAR\"/>\n          </stays>\n          <guests>\n            <guest firstName=\"Helene\" lastName=\"Dupont\" title=\"Mrs\" ageRange=\"10\"/>\n            <guest firstName=\"Lea\" lastName=\"Dupont\" title=\"Miss\" ageRange=\"8\" birthDate=\"2019-02-05\"/>\n          </guests>\n        </room>\n      </rooms>\n    </booking>\n  </bookings>\n</message>"
      }
    },
    {
      "_id": "req_channel-manager.confirm-bookings.request",
      "_type": "request",
      "parentId": "fld_cm-bookings",
      "name": "Confirm bookings",
      "description": "D-EDGE acknowledges each booking it has integrated. D-EDGE sends this request to the endpoint you host: the collection plays D-EDGE and targets channelManagerApi.yourBaseUrl, the mock by default. The mock answers with a <success /> envelope.",
      "method": "POST",
      "url": "{{ _.channelManagerApi.yourBaseUrl }}/confirmBookings",
      "parameters": [],
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/xml; charset=utf-8"
        },
        {
          "name": "Accept",
          "value": "application/xml, text/xml"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "basic",
        "useISO88591": false,
        "disabled": false,
        "username": "{{ _.channelManagerApi.login }}",
        "password": "{{ _.channelManagerApi.password }}"
      },
      "metaSortKey": 6,
      "body": {
        "mimeType": "application/xml",
        "text": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<message xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\n  <authentication login=\"{{ _.channelManagerApi.login }}\" password=\"{{ _.channelManagerApi.password }}\"/>\n  <bookingConfirmation hotelCode=\"{{ _.channelManagerApi.hotelCode }}\" partnerBookingId=\"EOCFGA\" status=\"Create\" crsBookingId=\"RXHS34\"/>\n</message>"
      }
    },
    {
      "_id": "fld_best-price-api",
      "_type": "request_group",
      "parentId": "wrk_d-edge-docs",
      "name": "Best Price API",
      "description": "",
      "metaSortKey": -500
    },
    {
      "_id": "req_best-price.calendar.reference",
      "_type": "request",
      "parentId": "fld_best-price-api",
      "name": "Calendar",
      "description": "Best price per arrival date, for one hotel.\n\nNote: `guests` is an **array** for this endpoint.",
      "method": "POST",
      "url": "{{ _.bestPriceApi.baseUrl }}/Planning/2018A/BestPrice/Calendar",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"beginDate\": \"2027-04-11\",\n  \"endDate\": \"2027-04-14\",\n  \"guests\": [{\"adults\": 2}],\n  \"filter\": {\n    \"ratePlan\": {\"hotelId\": {{ _.common.hotelId }}, \"groupId\": {{ _.common.groupId }}},\n    \"currency\": \"{{ _.common.currency }}\"\n  }\n}"
      },
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": -500
    },
    {
      "_id": "req_best-price.rates.reference",
      "_type": "request",
      "parentId": "fld_best-price-api",
      "name": "Rates",
      "description": "Best price per rate plan, for one hotel, over a date range.\n\nNote: `guests` is a **single object** for this endpoint.",
      "method": "POST",
      "url": "{{ _.bestPriceApi.baseUrl }}/Planning/2018A/BestPrice/Rates",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"beginDate\": \"2027-04-11\",\n  \"endDate\": \"2027-04-14\",\n  \"guests\": {\"adults\": 2},\n  \"filter\": {\n    \"ratePlan\": {\"hotelId\": {{ _.common.hotelId }}, \"groupId\": {{ _.common.groupId }}},\n    \"currency\": \"{{ _.common.currency }}\"\n  }\n}"
      },
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": -400
    },
    {
      "_id": "req_best-price.rooms.reference",
      "_type": "request",
      "parentId": "fld_best-price-api",
      "name": "Rooms",
      "description": "Best price per room type, for one hotel, over a date range.\n\nNote: `guests` is a **single object** for this endpoint.",
      "method": "POST",
      "url": "{{ _.bestPriceApi.baseUrl }}/Planning/2018A/BestPrice/Rooms",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"beginDate\": \"2027-04-11\",\n  \"endDate\": \"2027-04-14\",\n  \"guests\": {\"adults\": 2},\n  \"filter\": {\n    \"ratePlan\": {\"hotelId\": {{ _.common.hotelId }}, \"groupId\": {{ _.common.groupId }}},\n    \"currency\": \"{{ _.common.currency }}\"\n  }\n}"
      },
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": -300
    },
    {
      "_id": "req_best-price.hotels-arrivals.reference",
      "_type": "request",
      "parentId": "fld_best-price-api",
      "name": "Hotels (Arrivals)",
      "description": "Best price per hotel over a date range, across multiple hotels.\n\nNote: `guests` is a **single object** for this endpoint.",
      "method": "POST",
      "url": "{{ _.bestPriceApi.baseUrl }}/Planning/2018A/BestPrice/Hotels/Arrivals",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"beginDate\": \"2027-04-11\",\n  \"endDate\": \"2027-04-14\",\n  \"guests\": {\"adults\": 2},\n  \"filter\": {\n    \"ratePlan\": {\"groupId\": {{ _.common.groupId }}},\n    \"currency\": \"{{ _.common.currency }}\"\n  }\n}"
      },
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": -200
    },
    {
      "_id": "req_best-price.hotels-stays.reference",
      "_type": "request",
      "parentId": "fld_best-price-api",
      "name": "Hotels (Stays)",
      "description": "Best price for a specific stay, across multiple hotels.\n\nNote: `guests` is an **array** for this endpoint, and the date semantics differ (`arrivalDate` + `nightCount`, not `beginDate`/`endDate`).",
      "method": "POST",
      "url": "{{ _.bestPriceApi.baseUrl }}/Planning/2018A/BestPrice/Hotels/Stays",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"arrivalDate\": \"2027-04-11\",\n  \"nightCount\": 3,\n  \"guests\": [{\"adults\": 2}],\n  \"filter\": {\n    \"ratePlan\": {\"groupId\": {{ _.common.groupId }}},\n    \"currency\": \"{{ _.common.currency }}\"\n  }\n}"
      },
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": -100
    },
    {
      "_id": "fld_best-price-api_use-cases",
      "_type": "request_group",
      "parentId": "fld_best-price-api",
      "name": "Use cases",
      "description": "See the use cases documented at https://docs.d-edge.com/best-price-api/resources/use-cases.",
      "metaSortKey": 100
    },
    {
      "_id": "req_best-price.calendar.use-case.dynamic-price-calendar",
      "_type": "request",
      "parentId": "fld_best-price-api_use-cases",
      "name": "Dynamic price calendar",
      "description": "Show the best rate for each arrival date in a range.",
      "method": "POST",
      "url": "{{ _.bestPriceApi.baseUrl }}/Planning/2018A/BestPrice/Calendar",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"beginDate\": \"2027-04-11\",\n  \"endDate\": \"2027-04-14\",\n  \"guests\": [{\"adults\": 2}],\n  \"filter\": {\n    \"ratePlan\": {\"hotelId\": {{ _.common.hotelId }}, \"groupId\": {{ _.common.groupId }}},\n    \"currency\": \"{{ _.common.currency }}\"\n  }\n}"
      },
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": -500
    },
    {
      "_id": "req_best-price.rooms.use-case.best-rate-per-room-type",
      "_type": "request",
      "parentId": "fld_best-price-api_use-cases",
      "name": "Best rate per room type",
      "description": "Show the cheapest offer for each room on a listing page.",
      "method": "POST",
      "url": "{{ _.bestPriceApi.baseUrl }}/Planning/2018A/BestPrice/Rooms",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"beginDate\": \"2027-04-11\",\n  \"endDate\": \"2027-04-14\",\n  \"guests\": {\"adults\": 2},\n  \"filter\": {\n    \"ratePlan\": {\"hotelId\": {{ _.common.hotelId }}, \"groupId\": {{ _.common.groupId }}},\n    \"currency\": \"{{ _.common.currency }}\"\n  }\n}"
      },
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": -400
    },
    {
      "_id": "req_best-price.hotels-arrivals.use-case.hotels-destination-explorer",
      "_type": "request",
      "parentId": "fld_best-price-api_use-cases",
      "name": "Hotels destination explorer",
      "description": "Show a 'from' price for every hotel in a chain or destination.",
      "method": "POST",
      "url": "{{ _.bestPriceApi.baseUrl }}/Planning/2018A/BestPrice/Hotels/Arrivals",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"beginDate\": \"2027-04-11\",\n  \"endDate\": \"2027-04-14\",\n  \"guests\": {\"adults\": 2},\n  \"filter\": {\n    \"ratePlan\": {\"groupId\": {{ _.common.groupId }}},\n    \"currency\": \"{{ _.common.currency }}\"\n  }\n}"
      },
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": -300
    },
    {
      "_id": "req_best-price.rates.use-case.member-rate-showcase",
      "_type": "request",
      "parentId": "fld_best-price-api_use-cases",
      "name": "Member rate showcase",
      "description": "Show the value of being a loyalty member with a side-by-side rate comparison.",
      "method": "POST",
      "url": "{{ _.bestPriceApi.baseUrl }}/Planning/2018A/BestPrice/Rates",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"beginDate\": \"2027-04-11\",\n  \"endDate\": \"2027-04-14\",\n  \"guests\": {\"adults\": 2},\n  \"filter\": {\n    \"ratePlan\": {\"hotelId\": {{ _.common.hotelId }}, \"groupId\": {{ _.common.groupId }}},\n    \"currency\": \"{{ _.common.currency }}\",\n    \"loyaltyProgram\": {\"membershipLevel\": 1}\n  }\n}"
      },
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": -200
    },
    {
      "_id": "req_best-price.calendar.use-case.multi-currency-price-display",
      "_type": "request",
      "parentId": "fld_best-price-api_use-cases",
      "name": "Multi-currency price display",
      "description": "Show prices in the guest's currency with display-time conversion.",
      "method": "POST",
      "url": "{{ _.bestPriceApi.baseUrl }}/Planning/2018A/BestPrice/Calendar",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"beginDate\": \"2027-04-11\",\n  \"endDate\": \"2027-04-14\",\n  \"guests\": [{\"adults\": 2}],\n  \"filter\": {\n    \"ratePlan\": {\"hotelId\": {{ _.common.hotelId }}, \"groupId\": {{ _.common.groupId }}},\n    \"currency\": \"{{ _.common.currency }}\"\n  }\n}"
      },
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": -100
    },
    {
      "_id": "fld_quotation-api",
      "_type": "request_group",
      "parentId": "wrk_d-edge-docs",
      "name": "Quotation API",
      "description": "**Note**: on the live API, this endpoint uses the `exceptions/default` filter pattern. A placeholder `hotelId` such as 12345 then targets a non-existent hotel, and the live API returns 200 OK with an empty result. Set your real `common.hotelId` and `common.groupId` in the Base Environment before calling the live API. The mock environment returns mock data regardless.",
      "metaSortKey": -400
    },
    {
      "_id": "req_quotation.stay-planning.reference",
      "_type": "request",
      "parentId": "fld_quotation-api",
      "name": "Stay quotation",
      "description": "Quote every room and rate combination for a known stay.\n\nNote: `guests` is an **array** for this endpoint.",
      "method": "POST",
      "url": "{{ _.quotationApi.baseUrl }}/Planning/2018A/Quotation/GetStayPlanning",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"arrivalDate\": \"2027-04-11\",\n  \"nightCount\": 3,\n  \"guests\": [{\"adults\": 2}],\n  \"filter\": {\n    \"ratePlans\": [{\n      \"groupId\": {{ _.common.groupId }},\n      \"hotels\": {\"exceptions\": [{{ _.common.hotelId }}], \"default\": \"Excluded\"}\n    }],\n    \"currencies\": {\"exceptions\": [\"{{ _.common.currency }}\"], \"default\": \"Excluded\"}\n  },\n  \"layout\": {\n    \"levels\": [{\n      \"name\": \"ArticleRate\",\n      \"properties\": [\n        \"Status\",\n        \"Availability\",\n        \"TotalPrice\",\n        \"IncludedArticles\",\n        \"CancellationCondition\",\n        \"Occupancies\",\n        \"TaxesAndFees\",\n        \"DailyTaxesAndFeesPrice\"\n      ]\n    }]\n  }\n}"
      },
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": -200
    },
    {
      "_id": "fld_quotation-api_use-cases",
      "_type": "request_group",
      "parentId": "fld_quotation-api",
      "name": "Use cases",
      "description": "See the use cases documented at https://docs.d-edge.com/quotation-api/resources/use-cases.",
      "metaSortKey": 100
    },
    {
      "_id": "req_quotation.stay-planning.use-case.bookable-offers-showcase",
      "_type": "request",
      "parentId": "fld_quotation-api_use-cases",
      "name": "Bookable offers showcase",
      "description": "Show every available room and rate for a chosen stay.",
      "method": "POST",
      "url": "{{ _.quotationApi.baseUrl }}/Planning/2018A/Quotation/GetStayPlanning",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"arrivalDate\": \"2027-04-11\",\n  \"nightCount\": 3,\n  \"guests\": [{\"adults\": 2}],\n  \"filter\": {\n    \"ratePlans\": [{\n      \"groupId\": {{ _.common.groupId }},\n      \"hotels\": {\"exceptions\": [{{ _.common.hotelId }}], \"default\": \"Excluded\"}\n    }],\n    \"currencies\": {\"exceptions\": [\"{{ _.common.currency }}\"], \"default\": \"Excluded\"}\n  },\n  \"layout\": {\n    \"levels\": [{\n      \"name\": \"ArticleRate\",\n      \"properties\": [\n        \"Status\",\n        \"Availability\",\n        \"TotalPrice\",\n        \"IncludedArticles\",\n        \"CancellationCondition\",\n        \"Occupancies\"\n      ]\n    }]\n  }\n}"
      },
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": -200
    },
    {
      "_id": "req_quotation.stay-planning.use-case.promo-code-landing",
      "_type": "request",
      "parentId": "fld_quotation-api_use-cases",
      "name": "Promo code landing",
      "description": "Quote the offer behind a promo code on a tailored landing page.",
      "method": "POST",
      "url": "{{ _.quotationApi.baseUrl }}/Planning/2018A/Quotation/GetStayPlanning",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"arrivalDate\": \"2027-04-11\",\n  \"nightCount\": 3,\n  \"guests\": [{\"adults\": 2}],\n  \"filter\": {\n    \"ratePlans\": [{\n      \"groupId\": {{ _.common.groupId }},\n      \"referenceRateCode\": \"AUTUMN2026\",\n      \"hotels\": {\"exceptions\": [{{ _.common.hotelId }}], \"default\": \"Excluded\"}\n    }],\n    \"currencies\": {\"exceptions\": [\"{{ _.common.currency }}\"], \"default\": \"Excluded\"}\n  },\n  \"layout\": {\n    \"levels\": [{\n      \"name\": \"ArticleRate\",\n      \"properties\": [\n        \"Status\",\n        \"TotalPrice\",\n        \"IncludedArticles\",\n        \"CancellationCondition\",\n        \"Occupancies\"\n      ]\n    }]\n  }\n}"
      },
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": -100
    },
    {
      "_id": "fld_daily-rates-api",
      "_type": "request_group",
      "parentId": "wrk_d-edge-docs",
      "name": "Daily Rates API",
      "description": "**Note**: on the live API, this endpoint uses the `exceptions/default` filter pattern. A placeholder `hotelId` such as 12345 then targets a non-existent hotel, and the live API returns 200 OK with an empty result. Set your real `common.hotelId` and `common.groupId` in the Base Environment before calling the live API. The mock environment returns mock data regardless.",
      "metaSortKey": -300
    },
    {
      "_id": "req_daily-rates.per-day.reference",
      "_type": "request",
      "parentId": "fld_daily-rates-api",
      "name": "Per day",
      "description": "Daily availabilities, prices, and restrictions for one hotel.\n\nNote: `guests` is an **array** for this endpoint.",
      "method": "POST",
      "url": "{{ _.dailyRatesApi.baseUrl }}/Planning/2018A/DailyRates/PerDay",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"beginDate\": \"2027-04-11\",\n  \"endDate\": \"2027-04-14\",\n  \"guests\": [{\"adults\": 2}],\n  \"filter\": {\n    \"ratePlans\": [{\n      \"hotels\": {\"exceptions\": [{{ _.common.hotelId }}], \"default\": \"Excluded\"},\n      \"groupId\": {{ _.common.groupId }}\n    }],\n    \"currencies\": {\"exceptions\": [\"{{ _.common.currency }}\"], \"default\": \"Excluded\"}\n  },\n  \"layout\": {\n    \"levels\": [{\n      \"name\": \"ArticleRate\",\n      \"properties\": [\n        \"Status\",\n        \"Availability\",\n        \"TotalPrice\",\n        \"Occupancies\"\n      ]\n    }]\n  }\n}"
      },
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": -100
    },
    {
      "_id": "fld_daily-rates-api_use-cases",
      "_type": "request_group",
      "parentId": "fld_daily-rates-api",
      "name": "Use cases",
      "description": "See the use cases documented at https://docs.d-edge.com/daily-rates-api/resources/use-cases.",
      "metaSortKey": 100
    },
    {
      "_id": "req_daily-rates.per-day.use-case.nightly-rate-refresh",
      "_type": "request",
      "parentId": "fld_daily-rates-api_use-cases",
      "name": "Nightly rate refresh",
      "description": "Refresh an internal rates database from D-EDGE on a nightly schedule.",
      "method": "POST",
      "url": "{{ _.dailyRatesApi.baseUrl }}/Planning/2018A/DailyRates/PerDay",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"beginDate\": \"2027-04-11\",\n  \"endDate\": \"2027-04-14\",\n  \"guests\": [{\"adults\": 2}],\n  \"filter\": {\n    \"ratePlans\": [{\n      \"hotels\": {\"exceptions\": [{{ _.common.hotelId }}], \"default\": \"Excluded\"},\n      \"groupId\": {{ _.common.groupId }}\n    }],\n    \"currencies\": {\"exceptions\": [\"{{ _.common.currency }}\"], \"default\": \"Excluded\"}\n  },\n  \"layout\": {\n    \"levels\": [{\n      \"name\": \"ArticleRate\",\n      \"properties\": [\n        \"Status\",\n        \"Availability\",\n        \"TotalPrice\",\n        \"MinimumStayOnArrival\",\n        \"MaximumStayOnArrival\",\n        \"ClosedOnArrival\",\n        \"ClosedOnDeparture\",\n        \"Occupancies\"\n      ]\n    }]\n  }\n}"
      },
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": -200
    },
    {
      "_id": "req_daily-rates.per-day.use-case.revenue-manager-dashboard",
      "_type": "request",
      "parentId": "fld_daily-rates-api_use-cases",
      "name": "Revenue manager dashboard",
      "description": "Surface availability, prices, restrictions, and key metrics in one back-office view.",
      "method": "POST",
      "url": "{{ _.dailyRatesApi.baseUrl }}/Planning/2018A/DailyRates/PerDay",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"beginDate\": \"2027-04-11\",\n  \"endDate\": \"2027-04-14\",\n  \"guests\": [{\"adults\": 2}],\n  \"filter\": {\n    \"ratePlans\": [{\n      \"hotels\": {\"exceptions\": [{{ _.common.hotelId }}], \"default\": \"Excluded\"},\n      \"groupId\": {{ _.common.groupId }}\n    }],\n    \"currencies\": {\"exceptions\": [\"{{ _.common.currency }}\"], \"default\": \"Excluded\"}\n  },\n  \"layout\": {\n    \"levels\": [{\n      \"name\": \"ArticleRate\",\n      \"properties\": [\n        \"Status\",\n        \"Availability\",\n        \"TotalPrice\",\n        \"MinimumStayOnArrival\",\n        \"ClosedOnArrival\",\n        \"ClosedOnDeparture\",\n        \"Occupancies\"\n      ]\n    }]\n  }\n}"
      },
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": -100
    },
    {
      "_id": "fld_booking-engine-api",
      "_type": "request_group",
      "parentId": "wrk_d-edge-docs",
      "name": "Booking Engine API",
      "description": "Stateful booking funnel. Run the requests in funnel order starting with Create session: each request reads the session and resource IDs from the response of the previous one (response chaining). On the mock host the same flow returns mock data; on the live host set the per-API baseUrl and your OAuth credentials.",
      "metaSortKey": -200
    },
    {
      "_id": "fld_be-session",
      "_type": "request_group",
      "parentId": "fld_booking-engine-api",
      "name": "Session",
      "description": "",
      "metaSortKey": 0
    },
    {
      "_id": "fld_be-search",
      "_type": "request_group",
      "parentId": "fld_booking-engine-api",
      "name": "Search",
      "description": "",
      "metaSortKey": 1
    },
    {
      "_id": "fld_be-description",
      "_type": "request_group",
      "parentId": "fld_booking-engine-api",
      "name": "Description",
      "description": "",
      "metaSortKey": 2
    },
    {
      "_id": "fld_be-promotion",
      "_type": "request_group",
      "parentId": "fld_booking-engine-api",
      "name": "Promotion",
      "description": "",
      "metaSortKey": 3
    },
    {
      "_id": "fld_be-loyalty",
      "_type": "request_group",
      "parentId": "fld_booking-engine-api",
      "name": "Loyalty",
      "description": "",
      "metaSortKey": 4
    },
    {
      "_id": "fld_be-basket",
      "_type": "request_group",
      "parentId": "fld_booking-engine-api",
      "name": "Basket",
      "description": "",
      "metaSortKey": 5
    },
    {
      "_id": "fld_be-booking",
      "_type": "request_group",
      "parentId": "fld_booking-engine-api",
      "name": "Booking",
      "description": "",
      "metaSortKey": 6
    },
    {
      "_id": "fld_be-configuration",
      "_type": "request_group",
      "parentId": "fld_booking-engine-api",
      "name": "Configuration",
      "description": "",
      "metaSortKey": 7
    },
    {
      "_id": "fld_be-resources",
      "_type": "request_group",
      "parentId": "fld_booking-engine-api",
      "name": "Resources",
      "description": "",
      "metaSortKey": 8
    },
    {
      "_id": "req_be.basket.add-a-room-to-the-session-s-basket.0",
      "_type": "request",
      "parentId": "fld_be-basket",
      "name": "Add a room to the session's basket",
      "description": "Add a room to the session's basket",
      "method": "POST",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/basket/rooms",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 0,
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"roomId\": {% response 'body', 'req_be.search.provides-rooms-availabilities.1', '$.rooms[0].roomId', 'never', 60 %},\n  \"rateId\": \"{% response 'body', 'req_be.search.provides-rooms-availabilities.1', '$.rooms[0].rates[0].rateId', 'never', 60 %}\",\n  \"occupancyId\": {% response 'body', 'req_be.search.provides-rooms-availabilities.1', '$.rooms[0].rates[0].occupancy.occupancyId', 'never', 60 %},\n  \"quantity\": 1,\n  \"guestPosition\": 1\n}"
      }
    },
    {
      "_id": "req_be.basket.add-an-extra-to-the-session-s-basket.1",
      "_type": "request",
      "parentId": "fld_be-basket",
      "name": "Add an extra to the session's basket",
      "description": "Add an extra to the session's basket",
      "method": "POST",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/basket/extras",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 1,
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"extraId\": {% response 'body', 'req_be.search.provides-extra-availabilities.2', '$.roomExtras[0].extraId', 'never', 60 %},\n  \"roomId\": {% response 'body', 'req_be.search.provides-rooms-availabilities.1', '$.rooms[0].roomId', 'never', 60 %},\n  \"quantity\": 1,\n  \"guestPosition\": 1\n}"
      }
    },
    {
      "_id": "req_be.basket.retrieve-the-content-of-the-basket.2",
      "_type": "request",
      "parentId": "fld_be-basket",
      "name": "Retrieve the content of the basket",
      "description": "Retrieve the content of the basket associated with the session",
      "method": "GET",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/basket",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 2
    },
    {
      "_id": "req_be.basket.get-a-quote-for-the-basket.3",
      "_type": "request",
      "parentId": "fld_be-basket",
      "name": "Get a quote for the basket",
      "description": "Get a quote for the basket associated with the session",
      "method": "GET",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/quote",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 3
    },
    {
      "_id": "req_be.basket.accept-a-quote.4",
      "_type": "request",
      "parentId": "fld_be-basket",
      "name": "Accept a quote",
      "description": "Accept a quote",
      "method": "POST",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/quote",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 4,
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"paymentType\": \"{% response 'body', 'req_be.basket.get-a-quote-for-the-basket.3', '$.defaultPaymentType', 'never', 60 %}\",\n  \"paymentModeName\": \"{% response 'body', 'req_be.basket.get-a-quote-for-the-basket.3', '$.defaultPaymentName', 'never', 60 %}\",\n  \"subscribeInsurance\": false,\n  \"customerDetails\": {\n    \"title\": \"Mr\",\n    \"firstName\": \"Example\",\n    \"lastName\": \"Guest\",\n    \"emailAddress\": \"guest@example.com\",\n    \"countryCode\": \"FR\",\n    \"phoneNumber\": \"+33100000000\",\n    \"phoneCountryCode\": \"FR\",\n    \"addressLines\": [\"1 Example Street\"],\n    \"cityName\": \"Paris\",\n    \"postalCode\": \"75001\"\n  },\n  \"guestDetails\": [\n    {\n      \"title\": \"Mr\",\n      \"type\": \"Adult\",\n      \"firstName\": \"Example\",\n      \"lastName\": \"Guest\",\n      \"roomId\": {% response 'body', 'req_be.search.provides-rooms-availabilities.1', '$.rooms[0].roomId', 'never', 60 %},\n      \"occupancyId\": {% response 'body', 'req_be.search.provides-rooms-availabilities.1', '$.rooms[0].rates[0].occupancy.occupancyId', 'never', 60 %},\n      \"itemNumber\": 1\n    }\n  ]\n}"
      }
    },
    {
      "_id": "req_be.basket.get-sales-terms.5",
      "_type": "request",
      "parentId": "fld_be-basket",
      "name": "Get sales terms",
      "description": "Get sales terms",
      "method": "GET",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/terms",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 5
    },
    {
      "_id": "req_be.basket.clear-the-session-s-basket.6",
      "_type": "request",
      "parentId": "fld_be-basket",
      "name": "Clear the session's basket",
      "description": "Clear the session's basket",
      "method": "DELETE",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/basket",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 6
    },
    {
      "_id": "req_be.booking.create-a-booking-access-token.0",
      "_type": "request",
      "parentId": "fld_be-booking",
      "name": "Create a booking access token",
      "description": "Create a booking access token",
      "method": "GET",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/booking/{{ _.bookingEngineApi.bookingReference }}/token",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 0
    },
    {
      "_id": "req_be.booking.get-the-confirmation-of-a-booking.1",
      "_type": "request",
      "parentId": "fld_be-booking",
      "name": "Get the confirmation of a booking",
      "description": "Full confirmation details of a completed booking, from stay to payment",
      "method": "GET",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/booking/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/confirmation",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 1
    },
    {
      "_id": "req_be.configuration.gets-the-engine-theme.0",
      "_type": "request",
      "parentId": "fld_be-configuration",
      "name": "Gets the engine theme",
      "description": "Gets the engine theme attached to the client session",
      "method": "GET",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/configuration/theme",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 0
    },
    {
      "_id": "req_be.configuration.gets-the-engine-configuration.1",
      "_type": "request",
      "parentId": "fld_be-configuration",
      "name": "Gets the engine configuration",
      "description": "Gets the engine configuration attached to the client session",
      "method": "GET",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/configuration/engine",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 1
    },
    {
      "_id": "req_be.configuration.gets-the-plugins-configuration.2",
      "_type": "request",
      "parentId": "fld_be-configuration",
      "name": "Gets the plugins configuration",
      "description": "Gets the plugins configuration attached to a session",
      "method": "GET",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/configuration/plugins",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 2
    },
    {
      "_id": "req_be.description.gets-hotels-descriptions.0",
      "_type": "request",
      "parentId": "fld_be-description",
      "name": "Gets hotels descriptions",
      "description": "Gets hotels descriptions",
      "method": "GET",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/description/hotels",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 0
    },
    {
      "_id": "req_be.description.get-the-hotel-description.1",
      "_type": "request",
      "parentId": "fld_be-description",
      "name": "Get the hotel description",
      "description": "Get the hotel description",
      "method": "GET",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/description/hotels/{{ _.bookingEngineApi.selectedHotelId }}",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 1
    },
    {
      "_id": "req_be.description.gets-rooms-descriptions.2",
      "_type": "request",
      "parentId": "fld_be-description",
      "name": "Gets rooms descriptions",
      "description": "Gets rooms descriptions",
      "method": "GET",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/description/rooms",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 2
    },
    {
      "_id": "req_be.description.gets-the-room-description.3",
      "_type": "request",
      "parentId": "fld_be-description",
      "name": "Gets the room description",
      "description": "Gets the room description",
      "method": "GET",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/description/rooms/{% response 'body', 'req_be.search.provides-rooms-availabilities.1', '$.rooms[0].roomId', 'never', 60 %}",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 3
    },
    {
      "_id": "req_be.description.gets-rates-descriptions.4",
      "_type": "request",
      "parentId": "fld_be-description",
      "name": "Gets rates descriptions",
      "description": "Gets rates descriptions",
      "method": "GET",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/description/rates",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 4
    },
    {
      "_id": "req_be.description.gets-the-rate-descriptions.5",
      "_type": "request",
      "parentId": "fld_be-description",
      "name": "Gets the rate descriptions",
      "description": "Gets the rate descriptions",
      "method": "GET",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/description/rates/{% response 'body', 'req_be.description.gets-rates-descriptions.4', '$.rates[0].rateId', 'never', 60 %}",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 5
    },
    {
      "_id": "req_be.description.gets-extras-descriptions.6",
      "_type": "request",
      "parentId": "fld_be-description",
      "name": "Gets extras descriptions",
      "description": "Gets extras descriptions",
      "method": "GET",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/description/extras",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 6
    },
    {
      "_id": "req_be.description.gets-the-extra-descriptions.7",
      "_type": "request",
      "parentId": "fld_be-description",
      "name": "Gets the extra descriptions",
      "description": "Gets the extra descriptions",
      "method": "GET",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/description/extras/{% response 'body', 'req_be.search.provides-extra-availabilities.2', '$.roomExtras[0].extraId', 'never', 60 %}",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 7
    },
    {
      "_id": "req_be.loyalty.retrieve-the-available-loyalty-program-config.0",
      "_type": "request",
      "parentId": "fld_be-loyalty",
      "name": "Retrieve the available loyalty program config",
      "description": "Retrieve the available loyalty program config associated with the session",
      "method": "GET",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/loyalty/config",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 0
    },
    {
      "_id": "req_be.loyalty.patch-logged-in-loyalty-member.1",
      "_type": "request",
      "parentId": "fld_be-loyalty",
      "name": "Patch logged in loyalty member",
      "description": "Patch logged in loyalty member",
      "method": "PATCH",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/loyalty/login",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 1,
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"payload\": \"<id_token returned by the loyalty provider portal redirect>\"\n}"
      }
    },
    {
      "_id": "req_be.loyalty.retrieve-the-loyalty-member-information.2",
      "_type": "request",
      "parentId": "fld_be-loyalty",
      "name": "Retrieve the loyalty member information",
      "description": "Retrieve the loyalty member information associated with the session",
      "method": "GET",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/loyalty/member",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 2
    },
    {
      "_id": "req_be.loyalty.patch-logged-out-loyalty-member.3",
      "_type": "request",
      "parentId": "fld_be-loyalty",
      "name": "Patch logged out loyalty member",
      "description": "Patch logged out loyalty member",
      "method": "PATCH",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/loyalty/logout",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 3
    },
    {
      "_id": "req_be.promotion.provides-an-ongoing-promotion.0",
      "_type": "request",
      "parentId": "fld_be-promotion",
      "name": "Provides an ongoing promotion",
      "description": "Provides an ongoing promotion for a given session",
      "method": "GET",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/promotion",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 0
    },
    {
      "_id": "req_be.resources.get-countries-and-their-corresponding-phone-constraints.0",
      "_type": "request",
      "parentId": "fld_be-resources",
      "name": "Get countries and their corresponding phone constraints",
      "description": "Get countries and their corresponding phone constraints",
      "method": "GET",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/resources/countries",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 0
    },
    {
      "_id": "req_be.resources.get-currencies.1",
      "_type": "request",
      "parentId": "fld_be-resources",
      "name": "Get currencies",
      "description": "Get currencies",
      "method": "GET",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/resources/currencies",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 1
    },
    {
      "_id": "req_be.search.provides-hotels-availabilities.0",
      "_type": "request",
      "parentId": "fld_be-search",
      "name": "Provides hotels availabilities",
      "description": "Provides hotels availabilities matching the session context",
      "method": "GET",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/search/hotels",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 0
    },
    {
      "_id": "req_be.search.provides-rooms-availabilities.1",
      "_type": "request",
      "parentId": "fld_be-search",
      "name": "Provides rooms availabilities",
      "description": "Provides rooms availabilities matching the session context",
      "method": "GET",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/search/rooms",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 1
    },
    {
      "_id": "req_be.search.provides-extra-availabilities.2",
      "_type": "request",
      "parentId": "fld_be-search",
      "name": "Provides extra availabilities",
      "description": "Provides extra availabilities matching the session context",
      "method": "GET",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/search/extras",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 2
    },
    {
      "_id": "req_be.session.create-a-new-session.0",
      "_type": "request",
      "parentId": "fld_be-session",
      "name": "Create a new session",
      "description": "Create a new session",
      "method": "POST",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/session",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 0,
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"engineId\": \"{{ _.bookingEngineApi.engineId }}\",\n  \"guestSelectionMode\": \"PerBooking\",\n  \"display\": {\n    \"culture\": \"fr-FR\",\n    \"currency\": \"{{ _.common.currency }}\",\n    \"countryCode\": \"FR\"\n  },\n  \"context\": {\n    \"stayPeriod\": {\n      \"arrivalDate\": \"2027-04-11\",\n      \"departureDate\": \"2027-04-14\"\n    },\n    \"guests\": [\n      { \"adults\": 2, \"children\": 0, \"infants\": 0, \"childrenAges\": null, \"position\": 1 }\n    ],\n    \"selectedHotelId\": \"{{ _.bookingEngineApi.selectedHotelId }}\",\n    \"selectedRoomCode\": null,\n    \"highlightedRateCode\": null,\n    \"highlightedRoomCode\": null,\n    \"highlightedHotelCode\": null,\n    \"promoCode\": null,\n    \"excludeMixedRates\": false,\n    \"disableCrossSell\": false,\n    \"isMobile\": false,\n    \"gpsPosition\": { \"latitude\": 48.866667, \"longitude\": 2.333333 }\n  },\n  \"metadata\": {\n    \"customTrackingValues\": { \"uuidTracking\": \"d0000004-0002-0003-0004-000000000008\" },\n    \"application\": null,\n    \"device\": \"Samsung Galaxy S26 Ultra\",\n    \"ipAddress\": \"127.0.0.1\"\n  }\n}"
      }
    },
    {
      "_id": "req_be.session.get-an-existing-session.1",
      "_type": "request",
      "parentId": "fld_be-session",
      "name": "Get an existing session",
      "description": "Get an existing session",
      "method": "GET",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/session",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 1
    },
    {
      "_id": "req_be.session.get-the-session-scope.2",
      "_type": "request",
      "parentId": "fld_be-session",
      "name": "Get the session scope",
      "description": "Get the session scope",
      "method": "GET",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/session/scope",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 2
    },
    {
      "_id": "req_be.session.returns-the-session-metadata.3",
      "_type": "request",
      "parentId": "fld_be-session",
      "name": "Returns the session metadata",
      "description": "Returns the session metadata",
      "method": "GET",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/session/metadata",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 3
    },
    {
      "_id": "req_be.session.update-the-search-context.4",
      "_type": "request",
      "parentId": "fld_be-session",
      "name": "Update the search context",
      "description": "Update the search context",
      "method": "PATCH",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/session/context",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 4,
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"stayPeriod\": {\n    \"arrivalDate\": \"2027-04-11\",\n    \"departureDate\": \"2027-04-14\"\n  },\n  \"guests\": [\n    {\n      \"adults\": 2,\n      \"children\": 0,\n      \"infants\": 0,\n      \"childrenAges\": null,\n      \"position\": 1\n    }\n  ],\n  \"selectedHotelId\": null,\n  \"selectedRoomCode\": null,\n  \"highlightedRateCode\": null,\n  \"highlightedRoomCode\": null,\n  \"highlightedHotelCode\": null,\n  \"promoCode\": null,\n  \"excludeMixedRates\": false,\n  \"disableCrossSell\": false,\n  \"isMobile\": false,\n  \"gpsPosition\": {\n    \"latitude\": 48.866667,\n    \"longitude\": 2.333333\n  }\n}"
      }
    },
    {
      "_id": "req_be.session.update-the-user-display-options.5",
      "_type": "request",
      "parentId": "fld_be-session",
      "name": "Update the user display options",
      "description": "Update the user display options",
      "method": "PATCH",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/session/display",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 5,
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"culture\": \"en-US\",\n  \"currency\": \"USD\",\n  \"countryCode\": \"US\"\n}"
      }
    },
    {
      "_id": "req_be.session.update-the-search-filters-for-rooms.6",
      "_type": "request",
      "parentId": "fld_be-session",
      "name": "Update the search filters for rooms",
      "description": "Update the search filters for rooms",
      "method": "PATCH",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/session/filters/rooms",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 6,
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"filters\": [\n    {\n      \"type\": \"RoomTypes\",\n      \"values\": [\n        \"Single\",\n        \"Double\"\n      ]\n    },\n    {\n      \"type\": \"Amenities\",\n      \"values\": [\n        \"Balcony\",\n        \"NonSmoking\",\n        \"Phone\",\n        \"WirelessInternetAccess\"\n      ]\n    }\n  ]\n}"
      }
    },
    {
      "_id": "req_be.session.update-the-search-filters-for-hotels.7",
      "_type": "request",
      "parentId": "fld_be-session",
      "name": "Update the search filters for hotels",
      "description": "Update the search filters for hotels",
      "method": "PATCH",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/session/filters/hotels",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 7,
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"filters\": [\n    {\n      \"type\": \"Localisation\",\n      \"values\": [\n        \"5000\"\n      ]\n    },\n    {\n      \"type\": \"Budget\",\n      \"values\": [\n        \"350\"\n      ]\n    },\n    {\n      \"type\": \"Rating\",\n      \"values\": [\n        \"FourStars\",\n        \"FiveStars\"\n      ]\n    },\n    {\n      \"type\": \"Amenities\",\n      \"values\": [\n        \"Garden\",\n        \"Terrace\"\n      ]\n    },\n    {\n      \"type\": \"City\",\n      \"values\": [\n        \"Paris\"\n      ]\n    },\n    {\n      \"type\": \"Country\",\n      \"values\": [\n        \"FR\"\n      ]\n    }\n  ]\n}"
      }
    },
    {
      "_id": "req_be.session.update-the-user-sorting-preferences.8",
      "_type": "request",
      "parentId": "fld_be-session",
      "name": "Update the user sorting preferences",
      "description": "Update the user sorting preferences",
      "method": "PATCH",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/session/sortOrder/rooms",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 8,
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"sortType\": \"Default\"\n}"
      }
    },
    {
      "_id": "req_be.session.update-the-user-sorting-preferences-for-hotels.9",
      "_type": "request",
      "parentId": "fld_be-session",
      "name": "Update the user sorting preferences for hotels",
      "description": "Update the user sorting preferences for hotels",
      "method": "PATCH",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/session/sortOrder/hotels",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 9,
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"sortType\": \"AscendingPrice\"\n}"
      }
    },
    {
      "_id": "req_be.session.delete-the-user-session.10",
      "_type": "request",
      "parentId": "fld_be-session",
      "name": "Delete the user session",
      "description": "Delete the user session",
      "method": "DELETE",
      "url": "{{ _.bookingEngineApi.baseUrl }}/v2/{% response 'body', 'req_be.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/session",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth1",
        "signatureMethod": "HMAC-SHA1",
        "consumerKey": "{{ _.common.oauth1.consumerKey }}",
        "consumerSecret": "{{ _.common.oauth1.consumerSecret }}",
        "tokenKey": "{{ _.common.oauth1.token }}",
        "tokenSecret": "{{ _.common.oauth1.tokenSecret }}",
        "version": "1.0",
        "includeBodyHash": false
      },
      "metaSortKey": 10
    },
    {
      "_id": "fld_gift-shop-api",
      "_type": "request_group",
      "parentId": "wrk_d-edge-docs",
      "name": "Gift Shop API",
      "description": "Stateful gift shop journey. Run the requests in order, starting with Create a session. Each request reads the session, product, and cart item IDs from the response of the previous one (response chaining). Authentication uses the X-API-KEY header, not OAuth. On the mock host the same flow returns mock data; on the live host set the per-API baseUrl and your API key.",
      "metaSortKey": -100
    },
    {
      "_id": "fld_gs-session",
      "_type": "request_group",
      "parentId": "fld_gift-shop-api",
      "name": "Session",
      "description": "",
      "metaSortKey": 0
    },
    {
      "_id": "fld_gs-configuration",
      "_type": "request_group",
      "parentId": "fld_gift-shop-api",
      "name": "Configuration",
      "description": "",
      "metaSortKey": 1
    },
    {
      "_id": "fld_gs-category",
      "_type": "request_group",
      "parentId": "fld_gift-shop-api",
      "name": "Category",
      "description": "",
      "metaSortKey": 2
    },
    {
      "_id": "fld_gs-product",
      "_type": "request_group",
      "parentId": "fld_gift-shop-api",
      "name": "Product",
      "description": "",
      "metaSortKey": 3
    },
    {
      "_id": "fld_gs-cart",
      "_type": "request_group",
      "parentId": "fld_gift-shop-api",
      "name": "Cart",
      "description": "",
      "metaSortKey": 4
    },
    {
      "_id": "fld_gs-localization",
      "_type": "request_group",
      "parentId": "fld_gift-shop-api",
      "name": "Localization",
      "description": "",
      "metaSortKey": 5
    },
    {
      "_id": "fld_gs-order",
      "_type": "request_group",
      "parentId": "fld_gift-shop-api",
      "name": "Order",
      "description": "",
      "metaSortKey": 6
    },
    {
      "_id": "req_gs.cart.add-a-cart-item.0",
      "_type": "request",
      "parentId": "fld_gs-cart",
      "name": "Add a cart item",
      "description": "Adds a new cart item into the cart of the guest",
      "method": "POST",
      "url": "{{ _.giftShopApi.baseUrl }}/v1/{% response 'body', 'req_gs.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/cart/item",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        },
        {
          "name": "X-API-KEY",
          "value": "{{ _.giftShopApi.apiKey }}"
        }
      ],
      "authentication": {},
      "metaSortKey": 0,
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"productId\": {% response 'body', 'req_gs.product.search-active-products.0', \"$.products[?(@.price.priceType=='Range')].id\", 'never', 60 %},\n  \"quantity\": 1,\n  \"amount\": {\n    \"amount\": {% response 'body', 'req_gs.product.search-active-products.0', \"$.products[?(@.price.priceType=='Range')].price.minAmount.amount\", 'never', 60 %},\n    \"currency\": \"{% response 'body', 'req_gs.product.search-active-products.0', \"$.products[?(@.price.priceType=='Range')].price.minAmount.currency\", 'never', 60 %}\"\n  },\n  \"hidePrice\": false,\n  \"comment\": \"Happy birthday, enjoy!\",\n  \"sendTo\": \"Beneficiary\",\n  \"beneficiary\": {\n    \"firstName\": \"Alex\",\n    \"lastName\": \"Example\",\n    \"email\": \"beneficiary@example.com\"\n  },\n  \"sentFrom\": \"Guest\"\n}"
      }
    },
    {
      "_id": "req_gs.cart.get-the-active-cart.1",
      "_type": "request",
      "parentId": "fld_gs-cart",
      "name": "Get the active cart",
      "description": "Gets the active cart of the guest for its session",
      "method": "GET",
      "url": "{{ _.giftShopApi.baseUrl }}/v1/{% response 'body', 'req_gs.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/cart",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        },
        {
          "name": "X-API-KEY",
          "value": "{{ _.giftShopApi.apiKey }}"
        }
      ],
      "authentication": {},
      "metaSortKey": 1
    },
    {
      "_id": "req_gs.cart.update-a-cart-item.2",
      "_type": "request",
      "parentId": "fld_gs-cart",
      "name": "Update a cart item",
      "description": "Updates an existing cart item in the cart of the guest",
      "method": "PUT",
      "url": "{{ _.giftShopApi.baseUrl }}/v1/{% response 'body', 'req_gs.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/cart/items/{% response 'body', 'req_gs.cart.add-a-cart-item.0', '$.cartItemIds[0]', 'never', 60 %}",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        },
        {
          "name": "X-API-KEY",
          "value": "{{ _.giftShopApi.apiKey }}"
        }
      ],
      "authentication": {},
      "metaSortKey": 2,
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"amount\": {\n    \"amount\": 200.0,\n    \"currency\": \"{{ _.common.currency }}\"\n  },\n  \"hidePrice\": false,\n  \"comment\": \"Happy birthday, enjoy!\",\n  \"sendTo\": \"Beneficiary\",\n  \"beneficiary\": {\n    \"firstName\": \"Alex\",\n    \"lastName\": \"Example\",\n    \"email\": \"beneficiary@example.com\"\n  },\n  \"sentFrom\": \"Guest\"\n}"
      }
    },
    {
      "_id": "req_gs.cart.remove-a-cart-item.3",
      "_type": "request",
      "parentId": "fld_gs-cart",
      "name": "Remove a cart item",
      "description": "Removes a single item of the cart",
      "method": "DELETE",
      "url": "{{ _.giftShopApi.baseUrl }}/v1/{% response 'body', 'req_gs.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/cart/items/{% response 'body', 'req_gs.cart.add-a-cart-item.0', '$.cartItemIds[0]', 'never', 60 %}",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        },
        {
          "name": "X-API-KEY",
          "value": "{{ _.giftShopApi.apiKey }}"
        }
      ],
      "authentication": {},
      "metaSortKey": 3
    },
    {
      "_id": "req_gs.cart.empty-the-cart.4",
      "_type": "request",
      "parentId": "fld_gs-cart",
      "name": "Empty the cart",
      "description": "Removes all the items of the cart",
      "method": "DELETE",
      "url": "{{ _.giftShopApi.baseUrl }}/v1/{% response 'body', 'req_gs.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/cart",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        },
        {
          "name": "X-API-KEY",
          "value": "{{ _.giftShopApi.apiKey }}"
        }
      ],
      "authentication": {},
      "metaSortKey": 4
    },
    {
      "_id": "req_gs.cart.confirm-the-cart.5",
      "_type": "request",
      "parentId": "fld_gs-cart",
      "name": "Confirm the cart",
      "description": "Confirms the cart and returns the redirect URL to the payment page",
      "method": "POST",
      "url": "{{ _.giftShopApi.baseUrl }}/v1/{% response 'body', 'req_gs.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/cart/confirm",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        },
        {
          "name": "X-API-KEY",
          "value": "{{ _.giftShopApi.apiKey }}"
        }
      ],
      "authentication": {},
      "metaSortKey": 5,
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"shopper\": {\n    \"firstName\": \"Guest\",\n    \"lastName\": \"Example\",\n    \"email\": \"guest@example.com\",\n    \"phone\": \"612345678\",\n    \"phoneCode\": \"+33\",\n    \"address\": {\n      \"address\": \"1 Example Street\",\n      \"postalCode\": \"75001\",\n      \"city\": \"Paris\",\n      \"countryCode\": \"FR\"\n    }\n  },\n  \"confirmationUrl\": \"https://www.example.com/gift-shop/confirmation\"\n}"
      }
    },
    {
      "_id": "req_gs.category.get-all-categories.0",
      "_type": "request",
      "parentId": "fld_gs-category",
      "name": "Get all categories",
      "description": "Gets all categories for the owner's gift shop",
      "method": "GET",
      "url": "{{ _.giftShopApi.baseUrl }}/v1/{% response 'body', 'req_gs.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/categories",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        },
        {
          "name": "X-API-KEY",
          "value": "{{ _.giftShopApi.apiKey }}"
        }
      ],
      "authentication": {},
      "metaSortKey": 0
    },
    {
      "_id": "req_gs.configuration.get-the-gift-shop-configuration.0",
      "_type": "request",
      "parentId": "fld_gs-configuration",
      "name": "Get the gift shop configuration",
      "description": "Returns the gift shop details, theme, and payment methods",
      "method": "GET",
      "url": "{{ _.giftShopApi.baseUrl }}/v1/{% response 'body', 'req_gs.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/Configuration",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        },
        {
          "name": "X-API-KEY",
          "value": "{{ _.giftShopApi.apiKey }}"
        }
      ],
      "authentication": {},
      "metaSortKey": 0
    },
    {
      "_id": "req_gs.localization.get-phone-codes.0",
      "_type": "request",
      "parentId": "fld_gs-localization",
      "name": "Get phone codes",
      "description": "Gets the phone code list",
      "method": "GET",
      "url": "{{ _.giftShopApi.baseUrl }}/v1/{% response 'body', 'req_gs.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/Localization/PhoneCodes",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        },
        {
          "name": "X-API-KEY",
          "value": "{{ _.giftShopApi.apiKey }}"
        }
      ],
      "authentication": {},
      "metaSortKey": 0
    },
    {
      "_id": "req_gs.localization.get-country-names.1",
      "_type": "request",
      "parentId": "fld_gs-localization",
      "name": "Get country names",
      "description": "Gets country names localised from the session culture",
      "method": "GET",
      "url": "{{ _.giftShopApi.baseUrl }}/v1/{% response 'body', 'req_gs.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/Localization/Countries",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        },
        {
          "name": "X-API-KEY",
          "value": "{{ _.giftShopApi.apiKey }}"
        }
      ],
      "authentication": {},
      "metaSortKey": 1
    },
    {
      "_id": "req_gs.order.get-the-order.0",
      "_type": "request",
      "parentId": "fld_gs-order",
      "name": "Get the order",
      "description": "Gets the order from a session",
      "method": "GET",
      "url": "{{ _.giftShopApi.baseUrl }}/v1/{% response 'body', 'req_gs.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/Order",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        },
        {
          "name": "X-API-KEY",
          "value": "{{ _.giftShopApi.apiKey }}"
        }
      ],
      "authentication": {},
      "metaSortKey": 0
    },
    {
      "_id": "req_gs.product.search-active-products.0",
      "_type": "request",
      "parentId": "fld_gs-product",
      "name": "Search active products",
      "description": "Searches all owner's gift shop active products",
      "method": "POST",
      "url": "{{ _.giftShopApi.baseUrl }}/v1/{% response 'body', 'req_gs.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/products/search",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        },
        {
          "name": "X-API-KEY",
          "value": "{{ _.giftShopApi.apiKey }}"
        }
      ],
      "authentication": {},
      "metaSortKey": 0,
      "body": {
        "mimeType": "application/json",
        "text": "{}"
      }
    },
    {
      "_id": "req_gs.session.create-a-new-session.0",
      "_type": "request",
      "parentId": "fld_gs-session",
      "name": "Create a new session",
      "description": "Creates a new Gift Shop session for a guest",
      "method": "POST",
      "url": "{{ _.giftShopApi.baseUrl }}/v1/Session",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        },
        {
          "name": "X-API-KEY",
          "value": "{{ _.giftShopApi.apiKey }}"
        }
      ],
      "authentication": {},
      "metaSortKey": 0,
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"owner\": {\n    \"hotelId\": {{ _.common.hotelId }},\n    \"groupId\": {{ _.common.groupId }}\n  },\n  \"culture\": \"fr-FR\"\n}"
      }
    },
    {
      "_id": "req_gs.session.update-the-session.1",
      "_type": "request",
      "parentId": "fld_gs-session",
      "name": "Update the session",
      "description": "Updates the session",
      "method": "PUT",
      "url": "{{ _.giftShopApi.baseUrl }}/v1/{% response 'body', 'req_gs.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/Session",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        },
        {
          "name": "X-API-KEY",
          "value": "{{ _.giftShopApi.apiKey }}"
        }
      ],
      "authentication": {},
      "metaSortKey": 1,
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"culture\": \"en-GB\"\n}"
      }
    },
    {
      "_id": "req_gs.session.get-session-partial-data.2",
      "_type": "request",
      "parentId": "fld_gs-session",
      "name": "Get session partial data",
      "description": "Gets partial data from a session",
      "method": "GET",
      "url": "{{ _.giftShopApi.baseUrl }}/v1/{% response 'body', 'req_gs.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        },
        {
          "name": "X-API-KEY",
          "value": "{{ _.giftShopApi.apiKey }}"
        }
      ],
      "authentication": {},
      "metaSortKey": 2
    },
    {
      "_id": "req_gs.session.get-session-shopper-data.3",
      "_type": "request",
      "parentId": "fld_gs-session",
      "name": "Get session shopper data",
      "description": "Gets shopper data from a session",
      "method": "GET",
      "url": "{{ _.giftShopApi.baseUrl }}/v1/{% response 'body', 'req_gs.session.create-a-new-session.0', '$.sessionId', 'never', 60 %}/shopper",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        },
        {
          "name": "X-API-KEY",
          "value": "{{ _.giftShopApi.apiKey }}"
        }
      ],
      "authentication": {},
      "metaSortKey": 3
    },
    {
      "_id": "fld_crm-api",
      "_type": "request_group",
      "parentId": "wrk_d-edge-docs",
      "name": "CRM API",
      "description": "Guest data platform. The API is stateless: every request stands on its own, there is no session to open, so the requests can be run in any order. Authentication is OAuth 2.0 client credentials, handled by the tool itself, where the pricing and booking APIs use OAuth 1.0. The tool fetches and refreshes the token, so there is nothing to run first. On the mock host that works as is, with no credentials. On the live host, point crmApi.tokenUrl at the D-EDGE CRM ID server and fill crmApi.clientId and crmApi.clientSecret in the Base Environment. Two identifiers are set by hand, crmApi.entityId because no endpoint lists the entities a token can reach, and crmApi.mergedGuestId because the merge returns it inside a longer string. Everything else flows from the responses, so run the requests in order the first time. Creating a guest returns its path in the location header, and reading that guest yields the id the update, anonymize, segments, and merge requests use. Searching provides the second profile a merge compares against. Listing segments provides the segment the segment-scoped requests read. Merging guests and computing a merge confidence run in the background: both answer with the path of a task in the location header, which Read a task follows until its status settles. The Browse requests page through large result sets with a limit and an afterKey cursor: send the afterKey returned by a call to get the next batch. Browse bookings lives on the bookings service, so its path starts with /api/bookings-manager/ while the rest of the API starts with /api/guestprofile/.",
      "metaSortKey": 0
    },
    {
      "_id": "fld_crm-guest",
      "_type": "request_group",
      "parentId": "fld_crm-api",
      "name": "Guest",
      "description": "",
      "metaSortKey": 0
    },
    {
      "_id": "fld_crm-search",
      "_type": "request_group",
      "parentId": "fld_crm-api",
      "name": "Search",
      "description": "",
      "metaSortKey": 1
    },
    {
      "_id": "fld_crm-merge",
      "_type": "request_group",
      "parentId": "fld_crm-api",
      "name": "Merge",
      "description": "",
      "metaSortKey": 2
    },
    {
      "_id": "fld_crm-segments",
      "_type": "request_group",
      "parentId": "fld_crm-api",
      "name": "Segments",
      "description": "",
      "metaSortKey": 3
    },
    {
      "_id": "req_crm.guest.create-a-guest.0",
      "_type": "request",
      "parentId": "fld_crm-guest",
      "name": "Create a guest",
      "description": "Create a guest profile on an entity",
      "method": "POST",
      "url": "{{ _.crmApi.baseUrl }}/api/guestprofile/entities/{{ _.crmApi.entityId }}/guests/create",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth2",
        "grantType": "client_credentials",
        "accessTokenUrl": "{{ _.crmApi.tokenUrl }}",
        "clientId": "{{ _.crmApi.clientId }}",
        "clientSecret": "{{ _.crmApi.clientSecret }}",
        "credentialsInBody": true,
        "scope": ""
      },
      "metaSortKey": 0,
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"firstname\": { \"value\": \"Martin\", \"from\": \"pms\" },\n  \"lastname\": { \"value\": \"Dupont\", \"from\": \"pms\" },\n  \"emails\": [\n    { \"value\": { \"email\": \"guest@example.com\" }, \"from\": \"system\" }\n  ],\n  \"languages\": [\n    { \"value\": \"en\", \"from\": \"guest\" }\n  ],\n  \"optedOut\": {\n    \"marketing\": { \"value\": false, \"from\": \"guest\" }\n  }\n}"
      }
    },
    {
      "_id": "req_crm.guest.get-a-guest.1",
      "_type": "request",
      "parentId": "fld_crm-guest",
      "name": "Get a guest",
      "description": "Read a guest profile by identifier",
      "method": "GET",
      "url": "{{ _.crmApi.baseUrl }}{% response 'header', 'req_crm.guest.create-a-guest.0', 'location', 'never', 60 %}",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth2",
        "grantType": "client_credentials",
        "accessTokenUrl": "{{ _.crmApi.tokenUrl }}",
        "clientId": "{{ _.crmApi.clientId }}",
        "clientSecret": "{{ _.crmApi.clientSecret }}",
        "credentialsInBody": true,
        "scope": ""
      },
      "metaSortKey": 1
    },
    {
      "_id": "req_crm.guest.update-a-guest.2",
      "_type": "request",
      "parentId": "fld_crm-guest",
      "name": "Update a guest",
      "description": "Override the attributes of a guest profile",
      "method": "PUT",
      "url": "{{ _.crmApi.baseUrl }}/api/guestprofile/entities/{{ _.crmApi.entityId }}/guests/{% response 'body', 'req_crm.guest.get-a-guest.1', '$.id', 'never', 60 %}",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth2",
        "grantType": "client_credentials",
        "accessTokenUrl": "{{ _.crmApi.tokenUrl }}",
        "clientId": "{{ _.crmApi.clientId }}",
        "clientSecret": "{{ _.crmApi.clientSecret }}",
        "credentialsInBody": true,
        "scope": ""
      },
      "metaSortKey": 2,
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"title\": { \"value\": \"MR\", \"from\": \"agent\" },\n  \"gender\": { \"value\": \"M\", \"from\": \"agent\" }\n}"
      }
    },
    {
      "_id": "req_crm.guest.partially-update-a-guest.3",
      "_type": "request",
      "parentId": "fld_crm-guest",
      "name": "Partially update a guest",
      "description": "Update a guest differentially, appending to array attributes",
      "method": "PATCH",
      "url": "{{ _.crmApi.baseUrl }}/api/guestprofile/entities/{{ _.crmApi.entityId }}/guests/{% response 'body', 'req_crm.guest.get-a-guest.1', '$.id', 'never', 60 %}",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth2",
        "grantType": "client_credentials",
        "accessTokenUrl": "{{ _.crmApi.tokenUrl }}",
        "clientId": "{{ _.crmApi.clientId }}",
        "clientSecret": "{{ _.crmApi.clientSecret }}",
        "credentialsInBody": true,
        "scope": ""
      },
      "metaSortKey": 3,
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"notes\": [\n    { \"value\": \"Prefers a room on floor 2.\", \"from\": \"agent\" }\n  ],\n  \"languages\": [\n    { \"value\": \"fr\", \"from\": \"guest\" }\n  ]\n}"
      }
    },
    {
      "_id": "req_crm.guest.anonymise-a-guest.4",
      "_type": "request",
      "parentId": "fld_crm-guest",
      "name": "Anonymise a guest",
      "description": "Anonymise a guest profile on an entity",
      "method": "POST",
      "url": "{{ _.crmApi.baseUrl }}/api/guestprofile/entities/{{ _.crmApi.entityId }}/guests/{% response 'body', 'req_crm.guest.get-a-guest.1', '$.id', 'never', 60 %}/anonymize",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth2",
        "grantType": "client_credentials",
        "accessTokenUrl": "{{ _.crmApi.tokenUrl }}",
        "clientId": "{{ _.crmApi.clientId }}",
        "clientSecret": "{{ _.crmApi.clientSecret }}",
        "credentialsInBody": true,
        "scope": ""
      },
      "metaSortKey": 4
    },
    {
      "_id": "req_crm.merge.compute-merge-confidence.0",
      "_type": "request",
      "parentId": "fld_crm-merge",
      "name": "Compute merge confidence",
      "description": "Score how close two or more guest profiles are before merging them",
      "method": "POST",
      "url": "{{ _.crmApi.baseUrl }}/api/guestprofile/entities/{{ _.crmApi.entityId }}/guests/compute-merge-confidence",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth2",
        "grantType": "client_credentials",
        "accessTokenUrl": "{{ _.crmApi.tokenUrl }}",
        "clientId": "{{ _.crmApi.clientId }}",
        "clientSecret": "{{ _.crmApi.clientSecret }}",
        "credentialsInBody": true,
        "scope": ""
      },
      "metaSortKey": 0,
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"guestIds\": [\n    \"{% response 'body', 'req_crm.guest.get-a-guest.1', '$.id', 'never', 60 %}\",\n    \"{% response 'body', 'req_crm.search.search-guests.1', '$.documents[1].guest.id', 'never', 60 %}\"\n  ]\n}"
      }
    },
    {
      "_id": "req_crm.merge.merge-guests.1",
      "_type": "request",
      "parentId": "fld_crm-merge",
      "name": "Merge guests",
      "description": "Merge guest profiles into one when the similarity threshold is reached",
      "method": "POST",
      "url": "{{ _.crmApi.baseUrl }}/api/guestprofile/entities/{{ _.crmApi.entityId }}/guests/merge",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth2",
        "grantType": "client_credentials",
        "accessTokenUrl": "{{ _.crmApi.tokenUrl }}",
        "clientId": "{{ _.crmApi.clientId }}",
        "clientSecret": "{{ _.crmApi.clientSecret }}",
        "credentialsInBody": true,
        "scope": ""
      },
      "metaSortKey": 1,
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"guestIds\": [\n    \"{% response 'body', 'req_crm.guest.get-a-guest.1', '$.id', 'never', 60 %}\",\n    \"{% response 'body', 'req_crm.search.search-guests.1', '$.documents[1].guest.id', 'never', 60 %}\"\n  ],\n  \"threshold\": 75\n}"
      }
    },
    {
      "_id": "req_crm.merge.read-a-task.2",
      "_type": "request",
      "parentId": "fld_crm-merge",
      "name": "Read a task",
      "description": "Follow an asynchronous operation and collect its result",
      "method": "GET",
      "url": "{{ _.crmApi.baseUrl }}{% response 'header', 'req_crm.merge.merge-guests.1', 'location', 'never', 60 %}",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth2",
        "grantType": "client_credentials",
        "accessTokenUrl": "{{ _.crmApi.tokenUrl }}",
        "clientId": "{{ _.crmApi.clientId }}",
        "clientSecret": "{{ _.crmApi.clientSecret }}",
        "credentialsInBody": true,
        "scope": ""
      },
      "metaSortKey": 2
    },
    {
      "_id": "req_crm.merge.unmerge-a-guest.3",
      "_type": "request",
      "parentId": "fld_crm-merge",
      "name": "Unmerge a guest",
      "description": "Split a merged profile back into the profiles it was composed of",
      "method": "POST",
      "url": "{{ _.crmApi.baseUrl }}/api/guestprofile/entities/{{ _.crmApi.entityId }}/guests/{{ _.crmApi.mergedGuestId }}/unmerge",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth2",
        "grantType": "client_credentials",
        "accessTokenUrl": "{{ _.crmApi.tokenUrl }}",
        "clientId": "{{ _.crmApi.clientId }}",
        "clientSecret": "{{ _.crmApi.clientSecret }}",
        "credentialsInBody": true,
        "scope": ""
      },
      "metaSortKey": 3
    },
    {
      "_id": "req_crm.search.count-guests.0",
      "_type": "request",
      "parentId": "fld_crm-search",
      "name": "Count guests",
      "description": "Count or estimate the guests matching advanced filters",
      "method": "POST",
      "url": "{{ _.crmApi.baseUrl }}/api/guestprofile/entities/{{ _.crmApi.entityId }}/guests/count",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth2",
        "grantType": "client_credentials",
        "accessTokenUrl": "{{ _.crmApi.tokenUrl }}",
        "clientId": "{{ _.crmApi.clientId }}",
        "clientSecret": "{{ _.crmApi.clientSecret }}",
        "credentialsInBody": true,
        "scope": ""
      },
      "metaSortKey": 0,
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"query\": {\n    \"logic\": \"AND\",\n    \"criteria\": [\n      {\n        \"logic\": \"AND\",\n        \"criteria\": [\n          { \"field\": \"sourceType\", \"operator\": \"=\", \"value\": \"website\" }\n        ]\n      }\n    ]\n  }\n}"
      }
    },
    {
      "_id": "req_crm.search.search-guests.1",
      "_type": "request",
      "parentId": "fld_crm-search",
      "name": "Search guests",
      "description": "Search guests with quick or advanced filters",
      "method": "POST",
      "url": "{{ _.crmApi.baseUrl }}/api/guestprofile/entities/{{ _.crmApi.entityId }}/guests/search",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth2",
        "grantType": "client_credentials",
        "accessTokenUrl": "{{ _.crmApi.tokenUrl }}",
        "clientId": "{{ _.crmApi.clientId }}",
        "clientSecret": "{{ _.crmApi.clientSecret }}",
        "credentialsInBody": true,
        "scope": ""
      },
      "metaSortKey": 1,
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"query\": {\n    \"logic\": \"AND\",\n    \"criteria\": [\n      {\n        \"logic\": \"AND\",\n        \"criteria\": [\n          { \"field\": \"sourceType\", \"operator\": \"=\", \"value\": \"website\" }\n        ]\n      }\n    ]\n  }\n}"
      }
    },
    {
      "_id": "req_crm.search.browse-guests.2",
      "_type": "request",
      "parentId": "fld_crm-search",
      "name": "Browse guests",
      "description": "Scroll through a high volume of guests",
      "method": "POST",
      "url": "{{ _.crmApi.baseUrl }}/api/guestprofile/entities/{{ _.crmApi.entityId }}/guests/browse",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth2",
        "grantType": "client_credentials",
        "accessTokenUrl": "{{ _.crmApi.tokenUrl }}",
        "clientId": "{{ _.crmApi.clientId }}",
        "clientSecret": "{{ _.crmApi.clientSecret }}",
        "credentialsInBody": true,
        "scope": ""
      },
      "metaSortKey": 2,
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"limit\": 50,\n  \"query\": {\n    \"logic\": \"AND\",\n    \"criteria\": [\n      {\n        \"logic\": \"AND\",\n        \"criteria\": [\n          { \"field\": \"sourceType\", \"operator\": \"=\", \"value\": \"website\" }\n        ]\n      }\n    ]\n  }\n}"
      }
    },
    {
      "_id": "req_crm.search.browse-bookings.3",
      "_type": "request",
      "parentId": "fld_crm-search",
      "name": "Browse bookings",
      "description": "Page through the bookings of an entity with their guest",
      "method": "POST",
      "url": "{{ _.crmApi.baseUrl }}/api/bookings-manager/entities/{{ _.crmApi.entityId }}/bookings/browse",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth2",
        "grantType": "client_credentials",
        "accessTokenUrl": "{{ _.crmApi.tokenUrl }}",
        "clientId": "{{ _.crmApi.clientId }}",
        "clientSecret": "{{ _.crmApi.clientSecret }}",
        "credentialsInBody": true,
        "scope": ""
      },
      "metaSortKey": 3,
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"limit\": 50,\n  \"query\": {\n    \"logic\": \"AND\",\n    \"criteria\": [\n      {\n        \"logic\": \"AND\",\n        \"criteria\": [\n          { \"field\": \"sourceType\", \"operator\": \"=\", \"value\": \"website\" }\n        ]\n      }\n    ]\n  }\n}"
      }
    },
    {
      "_id": "req_crm.segments.create-a-segment.0",
      "_type": "request",
      "parentId": "fld_crm-segments",
      "name": "Create a segment",
      "description": "Save a set of search criteria under a name",
      "method": "POST",
      "url": "{{ _.crmApi.baseUrl }}/api/guestprofile/entities/{{ _.crmApi.entityId }}/segments/new",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth2",
        "grantType": "client_credentials",
        "accessTokenUrl": "{{ _.crmApi.tokenUrl }}",
        "clientId": "{{ _.crmApi.clientId }}",
        "clientSecret": "{{ _.crmApi.clientSecret }}",
        "credentialsInBody": true,
        "scope": ""
      },
      "metaSortKey": 0,
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"name\": \"Guests acquired on the website\",\n  \"query\": {\n    \"logic\": \"AND\",\n    \"criteria\": [\n      {\n        \"logic\": \"AND\",\n        \"criteria\": [\n          { \"field\": \"sourceType\", \"operator\": \"=\", \"value\": \"website\" }\n        ]\n      }\n    ]\n  }\n}"
      }
    },
    {
      "_id": "req_crm.segments.list-segments.1",
      "_type": "request",
      "parentId": "fld_crm-segments",
      "name": "List segments",
      "description": "Retrieve all segments defined on an entity",
      "method": "GET",
      "url": "{{ _.crmApi.baseUrl }}/api/guestprofile/entities/{{ _.crmApi.entityId }}/segments",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth2",
        "grantType": "client_credentials",
        "accessTokenUrl": "{{ _.crmApi.tokenUrl }}",
        "clientId": "{{ _.crmApi.clientId }}",
        "clientSecret": "{{ _.crmApi.clientSecret }}",
        "credentialsInBody": true,
        "scope": ""
      },
      "metaSortKey": 1
    },
    {
      "_id": "req_crm.segments.get-a-segment.2",
      "_type": "request",
      "parentId": "fld_crm-segments",
      "name": "Get a segment",
      "description": "Read the name and criteria of a segment",
      "method": "GET",
      "url": "{{ _.crmApi.baseUrl }}/api/guestprofile/entities/{{ _.crmApi.entityId }}/segments/{% response 'body', 'req_crm.segments.list-segments.1', '$[0].model.id', 'never', 60 %}",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth2",
        "grantType": "client_credentials",
        "accessTokenUrl": "{{ _.crmApi.tokenUrl }}",
        "clientId": "{{ _.crmApi.clientId }}",
        "clientSecret": "{{ _.crmApi.clientSecret }}",
        "credentialsInBody": true,
        "scope": ""
      },
      "metaSortKey": 2
    },
    {
      "_id": "req_crm.segments.update-a-segment.3",
      "_type": "request",
      "parentId": "fld_crm-segments",
      "name": "Update a segment",
      "description": "Change the name or the criteria of an existing segment",
      "method": "PATCH",
      "url": "{{ _.crmApi.baseUrl }}/api/guestprofile/entities/{{ _.crmApi.entityId }}/segments/{% response 'body', 'req_crm.segments.list-segments.1', '$[0].model.id', 'never', 60 %}",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth2",
        "grantType": "client_credentials",
        "accessTokenUrl": "{{ _.crmApi.tokenUrl }}",
        "clientId": "{{ _.crmApi.clientId }}",
        "clientSecret": "{{ _.crmApi.clientSecret }}",
        "credentialsInBody": true,
        "scope": ""
      },
      "metaSortKey": 3,
      "body": {
        "mimeType": "application/json",
        "text": "{\n  \"name\": \"Guests acquired on the website, renamed\",\n  \"query\": {\n    \"logic\": \"AND\",\n    \"criteria\": [\n      {\n        \"logic\": \"AND\",\n        \"criteria\": [\n          { \"field\": \"sourceType\", \"operator\": \"=\", \"value\": \"website\" }\n        ]\n      }\n    ]\n  }\n}"
      }
    },
    {
      "_id": "req_crm.segments.delete-a-segment.4",
      "_type": "request",
      "parentId": "fld_crm-segments",
      "name": "Delete a segment",
      "description": "Delete a segment definition without altering guests",
      "method": "DELETE",
      "url": "{{ _.crmApi.baseUrl }}/api/guestprofile/entities/{{ _.crmApi.entityId }}/segments/{% response 'body', 'req_crm.segments.list-segments.1', '$[0].model.id', 'never', 60 %}",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth2",
        "grantType": "client_credentials",
        "accessTokenUrl": "{{ _.crmApi.tokenUrl }}",
        "clientId": "{{ _.crmApi.clientId }}",
        "clientSecret": "{{ _.crmApi.clientSecret }}",
        "credentialsInBody": true,
        "scope": ""
      },
      "metaSortKey": 4
    },
    {
      "_id": "req_crm.segments.get-a-guest-s-segments.5",
      "_type": "request",
      "parentId": "fld_crm-segments",
      "name": "Get a guest's segments",
      "description": "List the segments whose criteria match a guest",
      "method": "GET",
      "url": "{{ _.crmApi.baseUrl }}/api/guestprofile/entities/{{ _.crmApi.entityId }}/guests/{% response 'body', 'req_crm.guest.get-a-guest.1', '$.id', 'never', 60 %}/segments",
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Accept",
          "value": "application/json"
        },
        {
          "name": "x-mock-api-key",
          "value": "{{ _.common.mockApiKey }}"
        }
      ],
      "authentication": {
        "type": "oauth2",
        "grantType": "client_credentials",
        "accessTokenUrl": "{{ _.crmApi.tokenUrl }}",
        "clientId": "{{ _.crmApi.clientId }}",
        "clientSecret": "{{ _.crmApi.clientSecret }}",
        "credentialsInBody": true,
        "scope": ""
      },
      "metaSortKey": 5
    }
  ]
}