{
  "info": {
    "name": "D-EDGE Docs: API reference",
    "_postman_id": "c0d6e0c5-d0c5-4c01-90c5-d0c5d0c5d0c5",
    "description": "Postman 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, open the 'Variables' tab and:\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.",
    "version": "1.1",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "item": [
    {
      "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 collection variables.",
      "item": [
        {
          "name": "Hotel setup",
          "item": [
            {
              "name": "Get hotel",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/xml, text/xml"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{channelManagerApi.yourBaseUrl}}/getHotel?hotelCode={{channelManagerApi.hotelCode}}&lang=EN",
                  "host": [
                    "{{channelManagerApi.yourBaseUrl}}"
                  ],
                  "path": [
                    "getHotel"
                  ],
                  "query": [
                    {
                      "key": "hotelCode",
                      "value": "{{channelManagerApi.hotelCode}}"
                    },
                    {
                      "key": "lang",
                      "value": "EN"
                    }
                  ]
                },
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "username",
                      "value": "{{channelManagerApi.login}}",
                      "type": "string"
                    },
                    {
                      "key": "password",
                      "value": "{{channelManagerApi.password}}",
                      "type": "string"
                    }
                  ]
                },
                "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."
              },
              "response": []
            }
          ]
        },
        {
          "name": "Planning",
          "item": [
            {
              "name": "Planning updates (PerDay)",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/xml; charset=utf-8"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{channelManagerApi.yourBaseUrl}}/planningUpdates",
                  "host": [
                    "{{channelManagerApi.yourBaseUrl}}"
                  ],
                  "path": [
                    "planningUpdates"
                  ]
                },
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "username",
                      "value": "{{channelManagerApi.login}}",
                      "type": "string"
                    },
                    {
                      "key": "password",
                      "value": "{{channelManagerApi.password}}",
                      "type": "string"
                    }
                  ]
                },
                "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.",
                "body": {
                  "mode": "raw",
                  "raw": "<?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>",
                  "options": {
                    "raw": {
                      "language": "xml"
                    }
                  }
                }
              },
              "response": []
            },
            {
              "name": "Planning updates (PerPerson)",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/xml; charset=utf-8"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{channelManagerApi.yourBaseUrl}}/planningUpdates",
                  "host": [
                    "{{channelManagerApi.yourBaseUrl}}"
                  ],
                  "path": [
                    "planningUpdates"
                  ]
                },
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "username",
                      "value": "{{channelManagerApi.login}}",
                      "type": "string"
                    },
                    {
                      "key": "password",
                      "value": "{{channelManagerApi.password}}",
                      "type": "string"
                    }
                  ]
                },
                "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.",
                "body": {
                  "mode": "raw",
                  "raw": "<?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>",
                  "options": {
                    "raw": {
                      "language": "xml"
                    }
                  }
                }
              },
              "response": []
            },
            {
              "name": "Planning updates (PerOccupancy)",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/xml; charset=utf-8"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{channelManagerApi.yourBaseUrl}}/planningUpdates",
                  "host": [
                    "{{channelManagerApi.yourBaseUrl}}"
                  ],
                  "path": [
                    "planningUpdates"
                  ]
                },
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "username",
                      "value": "{{channelManagerApi.login}}",
                      "type": "string"
                    },
                    {
                      "key": "password",
                      "value": "{{channelManagerApi.password}}",
                      "type": "string"
                    }
                  ]
                },
                "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.",
                "body": {
                  "mode": "raw",
                  "raw": "<?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>",
                  "options": {
                    "raw": {
                      "language": "xml"
                    }
                  }
                }
              },
              "response": []
            },
            {
              "name": "Planning updates (Inventory only)",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/xml; charset=utf-8"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{channelManagerApi.yourBaseUrl}}/planningUpdates",
                  "host": [
                    "{{channelManagerApi.yourBaseUrl}}"
                  ],
                  "path": [
                    "planningUpdates"
                  ]
                },
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "username",
                      "value": "{{channelManagerApi.login}}",
                      "type": "string"
                    },
                    {
                      "key": "password",
                      "value": "{{channelManagerApi.password}}",
                      "type": "string"
                    }
                  ]
                },
                "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.",
                "body": {
                  "mode": "raw",
                  "raw": "<?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>",
                  "options": {
                    "raw": {
                      "language": "xml"
                    }
                  }
                }
              },
              "response": []
            },
            {
              "name": "Planning updates (Meal plan)",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/xml; charset=utf-8"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{channelManagerApi.yourBaseUrl}}/planningUpdates",
                  "host": [
                    "{{channelManagerApi.yourBaseUrl}}"
                  ],
                  "path": [
                    "planningUpdates"
                  ]
                },
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "username",
                      "value": "{{channelManagerApi.login}}",
                      "type": "string"
                    },
                    {
                      "key": "password",
                      "value": "{{channelManagerApi.password}}",
                      "type": "string"
                    }
                  ]
                },
                "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.",
                "body": {
                  "mode": "raw",
                  "raw": "<?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>",
                  "options": {
                    "raw": {
                      "language": "xml"
                    }
                  }
                }
              },
              "response": []
            }
          ]
        },
        {
          "name": "Bookings",
          "item": [
            {
              "name": "Get bookings (Per hotel)",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/xml, text/xml"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{channelManagerApi.yourBaseUrl}}/getBookings?from=2027-04-20T20:00:00&to=2027-04-20T21:00:00&hotelId={{channelManagerApi.hotelCode}}",
                  "host": [
                    "{{channelManagerApi.yourBaseUrl}}"
                  ],
                  "path": [
                    "getBookings"
                  ],
                  "query": [
                    {
                      "key": "from",
                      "value": "2027-04-20T20:00:00"
                    },
                    {
                      "key": "to",
                      "value": "2027-04-20T21:00:00"
                    },
                    {
                      "key": "hotelId",
                      "value": "{{channelManagerApi.hotelCode}}"
                    }
                  ]
                },
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "username",
                      "value": "{{channelManagerApi.login}}",
                      "type": "string"
                    },
                    {
                      "key": "password",
                      "value": "{{channelManagerApi.password}}",
                      "type": "string"
                    }
                  ]
                },
                "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."
              },
              "response": []
            },
            {
              "name": "Get bookings (All hotels)",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Accept",
                    "value": "application/xml, text/xml"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{channelManagerApi.yourBaseUrl}}/getBookings?duration=1",
                  "host": [
                    "{{channelManagerApi.yourBaseUrl}}"
                  ],
                  "path": [
                    "getBookings"
                  ],
                  "query": [
                    {
                      "key": "duration",
                      "value": "1"
                    }
                  ]
                },
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "username",
                      "value": "{{channelManagerApi.login}}",
                      "type": "string"
                    },
                    {
                      "key": "password",
                      "value": "{{channelManagerApi.password}}",
                      "type": "string"
                    }
                  ]
                },
                "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."
              },
              "response": []
            },
            {
              "name": "Push bookings (Create)",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/xml"
                  },
                  {
                    "key": "Accept",
                    "value": "application/xml, text/xml"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{channelManagerApi.baseUrl}}/pushBookings",
                  "host": [
                    "{{channelManagerApi.baseUrl}}"
                  ],
                  "path": [
                    "pushBookings"
                  ]
                },
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "username",
                      "value": "{{channelManagerApi.pushLogin}}",
                      "type": "string"
                    },
                    {
                      "key": "password",
                      "value": "{{channelManagerApi.pushPassword}}",
                      "type": "string"
                    }
                  ]
                },
                "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.",
                "body": {
                  "mode": "raw",
                  "raw": "<?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>",
                  "options": {
                    "raw": {
                      "language": "xml"
                    }
                  }
                }
              },
              "response": []
            },
            {
              "name": "Push bookings (Modify)",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/xml"
                  },
                  {
                    "key": "Accept",
                    "value": "application/xml, text/xml"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{channelManagerApi.baseUrl}}/pushBookings",
                  "host": [
                    "{{channelManagerApi.baseUrl}}"
                  ],
                  "path": [
                    "pushBookings"
                  ]
                },
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "username",
                      "value": "{{channelManagerApi.pushLogin}}",
                      "type": "string"
                    },
                    {
                      "key": "password",
                      "value": "{{channelManagerApi.pushPassword}}",
                      "type": "string"
                    }
                  ]
                },
                "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.",
                "body": {
                  "mode": "raw",
                  "raw": "<?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>",
                  "options": {
                    "raw": {
                      "language": "xml"
                    }
                  }
                }
              },
              "response": []
            },
            {
              "name": "Push bookings (Cancel)",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/xml"
                  },
                  {
                    "key": "Accept",
                    "value": "application/xml, text/xml"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{channelManagerApi.baseUrl}}/pushBookings",
                  "host": [
                    "{{channelManagerApi.baseUrl}}"
                  ],
                  "path": [
                    "pushBookings"
                  ]
                },
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "username",
                      "value": "{{channelManagerApi.pushLogin}}",
                      "type": "string"
                    },
                    {
                      "key": "password",
                      "value": "{{channelManagerApi.pushPassword}}",
                      "type": "string"
                    }
                  ]
                },
                "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.",
                "body": {
                  "mode": "raw",
                  "raw": "<?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>",
                  "options": {
                    "raw": {
                      "language": "xml"
                    }
                  }
                }
              },
              "response": []
            },
            {
              "name": "Push bookings (Full booking)",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/xml"
                  },
                  {
                    "key": "Accept",
                    "value": "application/xml, text/xml"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{channelManagerApi.baseUrl}}/pushBookings",
                  "host": [
                    "{{channelManagerApi.baseUrl}}"
                  ],
                  "path": [
                    "pushBookings"
                  ]
                },
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "username",
                      "value": "{{channelManagerApi.pushLogin}}",
                      "type": "string"
                    },
                    {
                      "key": "password",
                      "value": "{{channelManagerApi.pushPassword}}",
                      "type": "string"
                    }
                  ]
                },
                "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.",
                "body": {
                  "mode": "raw",
                  "raw": "<?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>",
                  "options": {
                    "raw": {
                      "language": "xml"
                    }
                  }
                }
              },
              "response": []
            },
            {
              "name": "Confirm bookings",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/xml; charset=utf-8"
                  },
                  {
                    "key": "Accept",
                    "value": "application/xml, text/xml"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{channelManagerApi.yourBaseUrl}}/confirmBookings",
                  "host": [
                    "{{channelManagerApi.yourBaseUrl}}"
                  ],
                  "path": [
                    "confirmBookings"
                  ]
                },
                "auth": {
                  "type": "basic",
                  "basic": [
                    {
                      "key": "username",
                      "value": "{{channelManagerApi.login}}",
                      "type": "string"
                    },
                    {
                      "key": "password",
                      "value": "{{channelManagerApi.password}}",
                      "type": "string"
                    }
                  ]
                },
                "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.",
                "body": {
                  "mode": "raw",
                  "raw": "<?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>",
                  "options": {
                    "raw": {
                      "language": "xml"
                    }
                  }
                }
              },
              "response": []
            }
          ]
        }
      ]
    },
    {
      "name": "Best Price API",
      "item": [
        {
          "name": "Calendar",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "x-mock-api-key",
                "value": "{{common.mockApiKey}}"
              }
            ],
            "url": {
              "raw": "{{bestPriceApi.baseUrl}}/Planning/2018A/BestPrice/Calendar",
              "host": [
                "{{bestPriceApi.baseUrl}}"
              ],
              "path": [
                "Planning",
                "2018A",
                "BestPrice",
                "Calendar"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\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}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "oauth1",
              "oauth1": [
                {
                  "key": "consumerKey",
                  "value": "{{common.oauth1.consumerKey}}",
                  "type": "string"
                },
                {
                  "key": "consumerSecret",
                  "value": "{{common.oauth1.consumerSecret}}",
                  "type": "string"
                },
                {
                  "key": "token",
                  "value": "{{common.oauth1.token}}",
                  "type": "string"
                },
                {
                  "key": "tokenSecret",
                  "value": "{{common.oauth1.tokenSecret}}",
                  "type": "string"
                },
                {
                  "key": "signatureMethod",
                  "value": "HMAC-SHA1",
                  "type": "string"
                },
                {
                  "key": "version",
                  "value": "1.0",
                  "type": "string"
                },
                {
                  "key": "addParamsToHeader",
                  "value": true,
                  "type": "boolean"
                },
                {
                  "key": "addEmptyParamsToSign",
                  "value": false,
                  "type": "boolean"
                },
                {
                  "key": "includeBodyHash",
                  "value": false,
                  "type": "boolean"
                }
              ]
            },
            "description": "Best price per arrival date, for one hotel.\n\nNote: `guests` is an **array** for this endpoint."
          },
          "response": []
        },
        {
          "name": "Rates",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "x-mock-api-key",
                "value": "{{common.mockApiKey}}"
              }
            ],
            "url": {
              "raw": "{{bestPriceApi.baseUrl}}/Planning/2018A/BestPrice/Rates",
              "host": [
                "{{bestPriceApi.baseUrl}}"
              ],
              "path": [
                "Planning",
                "2018A",
                "BestPrice",
                "Rates"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\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}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "oauth1",
              "oauth1": [
                {
                  "key": "consumerKey",
                  "value": "{{common.oauth1.consumerKey}}",
                  "type": "string"
                },
                {
                  "key": "consumerSecret",
                  "value": "{{common.oauth1.consumerSecret}}",
                  "type": "string"
                },
                {
                  "key": "token",
                  "value": "{{common.oauth1.token}}",
                  "type": "string"
                },
                {
                  "key": "tokenSecret",
                  "value": "{{common.oauth1.tokenSecret}}",
                  "type": "string"
                },
                {
                  "key": "signatureMethod",
                  "value": "HMAC-SHA1",
                  "type": "string"
                },
                {
                  "key": "version",
                  "value": "1.0",
                  "type": "string"
                },
                {
                  "key": "addParamsToHeader",
                  "value": true,
                  "type": "boolean"
                },
                {
                  "key": "addEmptyParamsToSign",
                  "value": false,
                  "type": "boolean"
                },
                {
                  "key": "includeBodyHash",
                  "value": false,
                  "type": "boolean"
                }
              ]
            },
            "description": "Best price per rate plan, for one hotel, over a date range.\n\nNote: `guests` is a **single object** for this endpoint."
          },
          "response": []
        },
        {
          "name": "Rooms",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "x-mock-api-key",
                "value": "{{common.mockApiKey}}"
              }
            ],
            "url": {
              "raw": "{{bestPriceApi.baseUrl}}/Planning/2018A/BestPrice/Rooms",
              "host": [
                "{{bestPriceApi.baseUrl}}"
              ],
              "path": [
                "Planning",
                "2018A",
                "BestPrice",
                "Rooms"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\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}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "oauth1",
              "oauth1": [
                {
                  "key": "consumerKey",
                  "value": "{{common.oauth1.consumerKey}}",
                  "type": "string"
                },
                {
                  "key": "consumerSecret",
                  "value": "{{common.oauth1.consumerSecret}}",
                  "type": "string"
                },
                {
                  "key": "token",
                  "value": "{{common.oauth1.token}}",
                  "type": "string"
                },
                {
                  "key": "tokenSecret",
                  "value": "{{common.oauth1.tokenSecret}}",
                  "type": "string"
                },
                {
                  "key": "signatureMethod",
                  "value": "HMAC-SHA1",
                  "type": "string"
                },
                {
                  "key": "version",
                  "value": "1.0",
                  "type": "string"
                },
                {
                  "key": "addParamsToHeader",
                  "value": true,
                  "type": "boolean"
                },
                {
                  "key": "addEmptyParamsToSign",
                  "value": false,
                  "type": "boolean"
                },
                {
                  "key": "includeBodyHash",
                  "value": false,
                  "type": "boolean"
                }
              ]
            },
            "description": "Best price per room type, for one hotel, over a date range.\n\nNote: `guests` is a **single object** for this endpoint."
          },
          "response": []
        },
        {
          "name": "Hotels (Arrivals)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "x-mock-api-key",
                "value": "{{common.mockApiKey}}"
              }
            ],
            "url": {
              "raw": "{{bestPriceApi.baseUrl}}/Planning/2018A/BestPrice/Hotels/Arrivals",
              "host": [
                "{{bestPriceApi.baseUrl}}"
              ],
              "path": [
                "Planning",
                "2018A",
                "BestPrice",
                "Hotels",
                "Arrivals"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\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}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "oauth1",
              "oauth1": [
                {
                  "key": "consumerKey",
                  "value": "{{common.oauth1.consumerKey}}",
                  "type": "string"
                },
                {
                  "key": "consumerSecret",
                  "value": "{{common.oauth1.consumerSecret}}",
                  "type": "string"
                },
                {
                  "key": "token",
                  "value": "{{common.oauth1.token}}",
                  "type": "string"
                },
                {
                  "key": "tokenSecret",
                  "value": "{{common.oauth1.tokenSecret}}",
                  "type": "string"
                },
                {
                  "key": "signatureMethod",
                  "value": "HMAC-SHA1",
                  "type": "string"
                },
                {
                  "key": "version",
                  "value": "1.0",
                  "type": "string"
                },
                {
                  "key": "addParamsToHeader",
                  "value": true,
                  "type": "boolean"
                },
                {
                  "key": "addEmptyParamsToSign",
                  "value": false,
                  "type": "boolean"
                },
                {
                  "key": "includeBodyHash",
                  "value": false,
                  "type": "boolean"
                }
              ]
            },
            "description": "Best price per hotel over a date range, across multiple hotels.\n\nNote: `guests` is a **single object** for this endpoint."
          },
          "response": []
        },
        {
          "name": "Hotels (Stays)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "x-mock-api-key",
                "value": "{{common.mockApiKey}}"
              }
            ],
            "url": {
              "raw": "{{bestPriceApi.baseUrl}}/Planning/2018A/BestPrice/Hotels/Stays",
              "host": [
                "{{bestPriceApi.baseUrl}}"
              ],
              "path": [
                "Planning",
                "2018A",
                "BestPrice",
                "Hotels",
                "Stays"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\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}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "oauth1",
              "oauth1": [
                {
                  "key": "consumerKey",
                  "value": "{{common.oauth1.consumerKey}}",
                  "type": "string"
                },
                {
                  "key": "consumerSecret",
                  "value": "{{common.oauth1.consumerSecret}}",
                  "type": "string"
                },
                {
                  "key": "token",
                  "value": "{{common.oauth1.token}}",
                  "type": "string"
                },
                {
                  "key": "tokenSecret",
                  "value": "{{common.oauth1.tokenSecret}}",
                  "type": "string"
                },
                {
                  "key": "signatureMethod",
                  "value": "HMAC-SHA1",
                  "type": "string"
                },
                {
                  "key": "version",
                  "value": "1.0",
                  "type": "string"
                },
                {
                  "key": "addParamsToHeader",
                  "value": true,
                  "type": "boolean"
                },
                {
                  "key": "addEmptyParamsToSign",
                  "value": false,
                  "type": "boolean"
                },
                {
                  "key": "includeBodyHash",
                  "value": false,
                  "type": "boolean"
                }
              ]
            },
            "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`)."
          },
          "response": []
        },
        {
          "name": "Use cases",
          "description": "See the use cases documented at https://docs.d-edge.com/best-price-api/resources/use-cases.",
          "item": [
            {
              "name": "Dynamic price calendar",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bestPriceApi.baseUrl}}/Planning/2018A/BestPrice/Calendar",
                  "host": [
                    "{{bestPriceApi.baseUrl}}"
                  ],
                  "path": [
                    "Planning",
                    "2018A",
                    "BestPrice",
                    "Calendar"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\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}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Show the best rate for each arrival date in a range."
              },
              "response": []
            },
            {
              "name": "Best rate per room type",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bestPriceApi.baseUrl}}/Planning/2018A/BestPrice/Rooms",
                  "host": [
                    "{{bestPriceApi.baseUrl}}"
                  ],
                  "path": [
                    "Planning",
                    "2018A",
                    "BestPrice",
                    "Rooms"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\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}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Show the cheapest offer for each room on a listing page."
              },
              "response": []
            },
            {
              "name": "Hotels destination explorer",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bestPriceApi.baseUrl}}/Planning/2018A/BestPrice/Hotels/Arrivals",
                  "host": [
                    "{{bestPriceApi.baseUrl}}"
                  ],
                  "path": [
                    "Planning",
                    "2018A",
                    "BestPrice",
                    "Hotels",
                    "Arrivals"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\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}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Show a 'from' price for every hotel in a chain or destination."
              },
              "response": []
            },
            {
              "name": "Member rate showcase",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bestPriceApi.baseUrl}}/Planning/2018A/BestPrice/Rates",
                  "host": [
                    "{{bestPriceApi.baseUrl}}"
                  ],
                  "path": [
                    "Planning",
                    "2018A",
                    "BestPrice",
                    "Rates"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\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}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Show the value of being a loyalty member with a side-by-side rate comparison."
              },
              "response": []
            },
            {
              "name": "Multi-currency price display",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bestPriceApi.baseUrl}}/Planning/2018A/BestPrice/Calendar",
                  "host": [
                    "{{bestPriceApi.baseUrl}}"
                  ],
                  "path": [
                    "Planning",
                    "2018A",
                    "BestPrice",
                    "Calendar"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\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}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Show prices in the guest's currency with display-time conversion."
              },
              "response": []
            }
          ]
        }
      ]
    },
    {
      "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 collection variables before calling the live API. The mock environment returns mock data regardless.",
      "item": [
        {
          "name": "Stay quotation",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "x-mock-api-key",
                "value": "{{common.mockApiKey}}"
              }
            ],
            "url": {
              "raw": "{{quotationApi.baseUrl}}/Planning/2018A/Quotation/GetStayPlanning",
              "host": [
                "{{quotationApi.baseUrl}}"
              ],
              "path": [
                "Planning",
                "2018A",
                "Quotation",
                "GetStayPlanning"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\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}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "oauth1",
              "oauth1": [
                {
                  "key": "consumerKey",
                  "value": "{{common.oauth1.consumerKey}}",
                  "type": "string"
                },
                {
                  "key": "consumerSecret",
                  "value": "{{common.oauth1.consumerSecret}}",
                  "type": "string"
                },
                {
                  "key": "token",
                  "value": "{{common.oauth1.token}}",
                  "type": "string"
                },
                {
                  "key": "tokenSecret",
                  "value": "{{common.oauth1.tokenSecret}}",
                  "type": "string"
                },
                {
                  "key": "signatureMethod",
                  "value": "HMAC-SHA1",
                  "type": "string"
                },
                {
                  "key": "version",
                  "value": "1.0",
                  "type": "string"
                },
                {
                  "key": "addParamsToHeader",
                  "value": true,
                  "type": "boolean"
                },
                {
                  "key": "addEmptyParamsToSign",
                  "value": false,
                  "type": "boolean"
                },
                {
                  "key": "includeBodyHash",
                  "value": false,
                  "type": "boolean"
                }
              ]
            },
            "description": "Quote every room and rate combination for a known stay.\n\nNote: `guests` is an **array** for this endpoint."
          },
          "response": []
        },
        {
          "name": "Use cases",
          "description": "See the use cases documented at https://docs.d-edge.com/quotation-api/resources/use-cases.",
          "item": [
            {
              "name": "Bookable offers showcase",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{quotationApi.baseUrl}}/Planning/2018A/Quotation/GetStayPlanning",
                  "host": [
                    "{{quotationApi.baseUrl}}"
                  ],
                  "path": [
                    "Planning",
                    "2018A",
                    "Quotation",
                    "GetStayPlanning"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\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}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Show every available room and rate for a chosen stay."
              },
              "response": []
            },
            {
              "name": "Promo code landing",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{quotationApi.baseUrl}}/Planning/2018A/Quotation/GetStayPlanning",
                  "host": [
                    "{{quotationApi.baseUrl}}"
                  ],
                  "path": [
                    "Planning",
                    "2018A",
                    "Quotation",
                    "GetStayPlanning"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\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}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Quote the offer behind a promo code on a tailored landing page."
              },
              "response": []
            }
          ]
        }
      ]
    },
    {
      "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 collection variables before calling the live API. The mock environment returns mock data regardless.",
      "item": [
        {
          "name": "Per day",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "x-mock-api-key",
                "value": "{{common.mockApiKey}}"
              }
            ],
            "url": {
              "raw": "{{dailyRatesApi.baseUrl}}/Planning/2018A/DailyRates/PerDay",
              "host": [
                "{{dailyRatesApi.baseUrl}}"
              ],
              "path": [
                "Planning",
                "2018A",
                "DailyRates",
                "PerDay"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\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}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "oauth1",
              "oauth1": [
                {
                  "key": "consumerKey",
                  "value": "{{common.oauth1.consumerKey}}",
                  "type": "string"
                },
                {
                  "key": "consumerSecret",
                  "value": "{{common.oauth1.consumerSecret}}",
                  "type": "string"
                },
                {
                  "key": "token",
                  "value": "{{common.oauth1.token}}",
                  "type": "string"
                },
                {
                  "key": "tokenSecret",
                  "value": "{{common.oauth1.tokenSecret}}",
                  "type": "string"
                },
                {
                  "key": "signatureMethod",
                  "value": "HMAC-SHA1",
                  "type": "string"
                },
                {
                  "key": "version",
                  "value": "1.0",
                  "type": "string"
                },
                {
                  "key": "addParamsToHeader",
                  "value": true,
                  "type": "boolean"
                },
                {
                  "key": "addEmptyParamsToSign",
                  "value": false,
                  "type": "boolean"
                },
                {
                  "key": "includeBodyHash",
                  "value": false,
                  "type": "boolean"
                }
              ]
            },
            "description": "Daily availabilities, prices, and restrictions for one hotel.\n\nNote: `guests` is an **array** for this endpoint."
          },
          "response": []
        },
        {
          "name": "Use cases",
          "description": "See the use cases documented at https://docs.d-edge.com/daily-rates-api/resources/use-cases.",
          "item": [
            {
              "name": "Nightly rate refresh",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{dailyRatesApi.baseUrl}}/Planning/2018A/DailyRates/PerDay",
                  "host": [
                    "{{dailyRatesApi.baseUrl}}"
                  ],
                  "path": [
                    "Planning",
                    "2018A",
                    "DailyRates",
                    "PerDay"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\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}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Refresh an internal rates database from D-EDGE on a nightly schedule."
              },
              "response": []
            },
            {
              "name": "Revenue manager dashboard",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{dailyRatesApi.baseUrl}}/Planning/2018A/DailyRates/PerDay",
                  "host": [
                    "{{dailyRatesApi.baseUrl}}"
                  ],
                  "path": [
                    "Planning",
                    "2018A",
                    "DailyRates",
                    "PerDay"
                  ]
                },
                "body": {
                  "mode": "raw",
                  "raw": "{\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}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Surface availability, prices, restrictions, and key metrics in one back-office view."
              },
              "response": []
            }
          ]
        }
      ]
    },
    {
      "name": "Booking Engine API",
      "description": "Stateful booking funnel. Run the requests in funnel order starting with Create session: each producer request stores the session and resource IDs into collection variables (Tests script), and the next requests read them. On the mock host the same flow returns mock data; on the live host set the per-API baseUrl and your OAuth credentials.",
      "item": [
        {
          "name": "Session",
          "item": [
            {
              "name": "Create a new session",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/session",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "session"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Create a new session",
                "body": {
                  "mode": "raw",
                  "raw": "{\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}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [],
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "type": "text/javascript",
                    "exec": [
                      "try {",
                      "    const d = pm.response.json();",
                      "    if (d && d.sessionId) pm.collectionVariables.set('_sessionId', String(d.sessionId));",
                      "} catch (e) { /* non-JSON response: nothing to capture */ }"
                    ]
                  }
                }
              ]
            },
            {
              "name": "Get an existing session",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/session",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "session"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Get an existing session"
              },
              "response": []
            },
            {
              "name": "Get the session scope",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/session/scope",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "session",
                    "scope"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Get the session scope"
              },
              "response": []
            },
            {
              "name": "Returns the session metadata",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/session/metadata",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "session",
                    "metadata"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Returns the session metadata"
              },
              "response": []
            },
            {
              "name": "Update the search context",
              "request": {
                "method": "PATCH",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/session/context",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "session",
                    "context"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Update the search context",
                "body": {
                  "mode": "raw",
                  "raw": "{\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}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": []
            },
            {
              "name": "Update the user display options",
              "request": {
                "method": "PATCH",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/session/display",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "session",
                    "display"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Update the user display options",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"culture\": \"en-US\",\n  \"currency\": \"USD\",\n  \"countryCode\": \"US\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": []
            },
            {
              "name": "Update the search filters for rooms",
              "request": {
                "method": "PATCH",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/session/filters/rooms",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "session",
                    "filters",
                    "rooms"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Update the search filters for rooms",
                "body": {
                  "mode": "raw",
                  "raw": "{\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}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": []
            },
            {
              "name": "Update the search filters for hotels",
              "request": {
                "method": "PATCH",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/session/filters/hotels",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "session",
                    "filters",
                    "hotels"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Update the search filters for hotels",
                "body": {
                  "mode": "raw",
                  "raw": "{\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}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": []
            },
            {
              "name": "Update the user sorting preferences",
              "request": {
                "method": "PATCH",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/session/sortOrder/rooms",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "session",
                    "sortOrder",
                    "rooms"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Update the user sorting preferences",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"sortType\": \"Default\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": []
            },
            {
              "name": "Update the user sorting preferences for hotels",
              "request": {
                "method": "PATCH",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/session/sortOrder/hotels",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "session",
                    "sortOrder",
                    "hotels"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Update the user sorting preferences for hotels",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"sortType\": \"AscendingPrice\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": []
            },
            {
              "name": "Delete the user session",
              "request": {
                "method": "DELETE",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/session",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "session"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Delete the user session"
              },
              "response": []
            }
          ]
        },
        {
          "name": "Search",
          "item": [
            {
              "name": "Provides hotels availabilities",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/search/hotels",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "search",
                    "hotels"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Provides hotels availabilities matching the session context"
              },
              "response": []
            },
            {
              "name": "Provides rooms availabilities",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/search/rooms",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "search",
                    "rooms"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Provides rooms availabilities matching the session context"
              },
              "response": [],
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "type": "text/javascript",
                    "exec": [
                      "try {",
                      "    const d = pm.response.json();",
                      "    const room = d && d.rooms && d.rooms[0];",
                      "    if (room) {",
                      "        pm.collectionVariables.set('_roomId', String(room.roomId));",
                      "        const rate = room.rates && room.rates[0];",
                      "        if (rate) {",
                      "            pm.collectionVariables.set('_rateId', String(rate.rateId));",
                      "            if (rate.occupancy) pm.collectionVariables.set('_occupancyId', String(rate.occupancy.occupancyId));",
                      "        }",
                      "    }",
                      "} catch (e) { /* non-JSON response: nothing to capture */ }"
                    ]
                  }
                }
              ]
            },
            {
              "name": "Provides extra availabilities",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/search/extras",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "search",
                    "extras"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Provides extra availabilities matching the session context"
              },
              "response": [],
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "type": "text/javascript",
                    "exec": [
                      "try {",
                      "    const d = pm.response.json();",
                      "    const extra = d && d.roomExtras && d.roomExtras[0];",
                      "    if (extra) pm.collectionVariables.set('_extraId', String(extra.extraId));",
                      "} catch (e) { /* non-JSON response: nothing to capture */ }"
                    ]
                  }
                }
              ]
            }
          ]
        },
        {
          "name": "Description",
          "item": [
            {
              "name": "Gets hotels descriptions",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/description/hotels",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "description",
                    "hotels"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Gets hotels descriptions"
              },
              "response": []
            },
            {
              "name": "Get the hotel description",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/description/hotels/{{bookingEngineApi.selectedHotelId}}",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "description",
                    "hotels",
                    "{{bookingEngineApi.selectedHotelId}}"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Get the hotel description"
              },
              "response": []
            },
            {
              "name": "Gets rooms descriptions",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/description/rooms",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "description",
                    "rooms"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Gets rooms descriptions"
              },
              "response": []
            },
            {
              "name": "Gets the room description",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/description/rooms/{{_roomId}}",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "description",
                    "rooms",
                    "{{_roomId}}"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Gets the room description"
              },
              "response": []
            },
            {
              "name": "Gets rates descriptions",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/description/rates",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "description",
                    "rates"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Gets rates descriptions"
              },
              "response": [],
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "type": "text/javascript",
                    "exec": [
                      "try {",
                      "    const d = pm.response.json();",
                      "    const rate = d && d.rates && d.rates[0];",
                      "    if (rate) pm.collectionVariables.set('_descRateId', String(rate.rateId));",
                      "} catch (e) { /* non-JSON response: nothing to capture */ }"
                    ]
                  }
                }
              ]
            },
            {
              "name": "Gets the rate descriptions",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/description/rates/{{_descRateId}}",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "description",
                    "rates",
                    "{{_descRateId}}"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Gets the rate descriptions"
              },
              "response": []
            },
            {
              "name": "Gets extras descriptions",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/description/extras",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "description",
                    "extras"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Gets extras descriptions"
              },
              "response": []
            },
            {
              "name": "Gets the extra descriptions",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/description/extras/{{_extraId}}",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "description",
                    "extras",
                    "{{_extraId}}"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Gets the extra descriptions"
              },
              "response": []
            }
          ]
        },
        {
          "name": "Promotion",
          "item": [
            {
              "name": "Provides an ongoing promotion",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/promotion",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "promotion"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Provides an ongoing promotion for a given session"
              },
              "response": []
            }
          ]
        },
        {
          "name": "Loyalty",
          "item": [
            {
              "name": "Retrieve the available loyalty program config",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/loyalty/config",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "loyalty",
                    "config"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Retrieve the available loyalty program config associated with the session"
              },
              "response": []
            },
            {
              "name": "Patch logged in loyalty member",
              "request": {
                "method": "PATCH",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/loyalty/login",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "loyalty",
                    "login"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Patch logged in loyalty member",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"payload\": \"<id_token returned by the loyalty provider portal redirect>\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": []
            },
            {
              "name": "Retrieve the loyalty member information",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/loyalty/member",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "loyalty",
                    "member"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Retrieve the loyalty member information associated with the session"
              },
              "response": []
            },
            {
              "name": "Patch logged out loyalty member",
              "request": {
                "method": "PATCH",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/loyalty/logout",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "loyalty",
                    "logout"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Patch logged out loyalty member"
              },
              "response": []
            }
          ]
        },
        {
          "name": "Basket",
          "item": [
            {
              "name": "Add a room to the session's basket",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/basket/rooms",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "basket",
                    "rooms"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Add a room to the session's basket",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"roomId\": {{_roomId}},\n  \"rateId\": \"{{_rateId}}\",\n  \"occupancyId\": {{_occupancyId}},\n  \"quantity\": 1,\n  \"guestPosition\": 1\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": []
            },
            {
              "name": "Add an extra to the session's basket",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/basket/extras",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "basket",
                    "extras"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Add an extra to the session's basket",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"extraId\": {{_extraId}},\n  \"roomId\": {{_roomId}},\n  \"quantity\": 1,\n  \"guestPosition\": 1\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": []
            },
            {
              "name": "Retrieve the content of the basket",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/basket",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "basket"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Retrieve the content of the basket associated with the session"
              },
              "response": []
            },
            {
              "name": "Get a quote for the basket",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/quote",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "quote"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Get a quote for the basket associated with the session"
              },
              "response": [],
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "type": "text/javascript",
                    "exec": [
                      "try {",
                      "    const d = pm.response.json();",
                      "    if (d && d.defaultPaymentType) pm.collectionVariables.set('_paymentType', String(d.defaultPaymentType));",
                      "    if (d && d.defaultPaymentName) pm.collectionVariables.set('_paymentModeName', String(d.defaultPaymentName));",
                      "} catch (e) { /* non-JSON response: nothing to capture */ }"
                    ]
                  }
                }
              ]
            },
            {
              "name": "Accept a quote",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/quote",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "quote"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Accept a quote",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"paymentType\": \"{{_paymentType}}\",\n  \"paymentModeName\": \"{{_paymentModeName}}\",\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\": {{_roomId}},\n      \"occupancyId\": {{_occupancyId}},\n      \"itemNumber\": 1\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": []
            },
            {
              "name": "Get sales terms",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/terms",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "terms"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Get sales terms"
              },
              "response": []
            },
            {
              "name": "Clear the session's basket",
              "request": {
                "method": "DELETE",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/basket",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "basket"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Clear the session's basket"
              },
              "response": []
            }
          ]
        },
        {
          "name": "Booking",
          "item": [
            {
              "name": "Create a booking access token",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/booking/{{bookingEngineApi.bookingReference}}/token",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "booking",
                    "{{bookingEngineApi.bookingReference}}",
                    "token"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Create a booking access token"
              },
              "response": []
            },
            {
              "name": "Get the confirmation of a booking",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/booking/{{_sessionId}}/confirmation",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "booking",
                    "{{_sessionId}}",
                    "confirmation"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Full confirmation details of a completed booking, from stay to payment"
              },
              "response": []
            }
          ]
        },
        {
          "name": "Configuration",
          "item": [
            {
              "name": "Gets the engine theme",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/configuration/theme",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "configuration",
                    "theme"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Gets the engine theme attached to the client session"
              },
              "response": []
            },
            {
              "name": "Gets the engine configuration",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/configuration/engine",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "configuration",
                    "engine"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Gets the engine configuration attached to the client session"
              },
              "response": []
            },
            {
              "name": "Gets the plugins configuration",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/configuration/plugins",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "configuration",
                    "plugins"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Gets the plugins configuration attached to a session"
              },
              "response": []
            }
          ]
        },
        {
          "name": "Resources",
          "item": [
            {
              "name": "Get countries and their corresponding phone constraints",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/resources/countries",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "resources",
                    "countries"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Get countries and their corresponding phone constraints"
              },
              "response": []
            },
            {
              "name": "Get currencies",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{bookingEngineApi.baseUrl}}/v2/{{_sessionId}}/resources/currencies",
                  "host": [
                    "{{bookingEngineApi.baseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "{{_sessionId}}",
                    "resources",
                    "currencies"
                  ]
                },
                "auth": {
                  "type": "oauth1",
                  "oauth1": [
                    {
                      "key": "consumerKey",
                      "value": "{{common.oauth1.consumerKey}}",
                      "type": "string"
                    },
                    {
                      "key": "consumerSecret",
                      "value": "{{common.oauth1.consumerSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "token",
                      "value": "{{common.oauth1.token}}",
                      "type": "string"
                    },
                    {
                      "key": "tokenSecret",
                      "value": "{{common.oauth1.tokenSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "signatureMethod",
                      "value": "HMAC-SHA1",
                      "type": "string"
                    },
                    {
                      "key": "version",
                      "value": "1.0",
                      "type": "string"
                    },
                    {
                      "key": "addParamsToHeader",
                      "value": true,
                      "type": "boolean"
                    },
                    {
                      "key": "addEmptyParamsToSign",
                      "value": false,
                      "type": "boolean"
                    },
                    {
                      "key": "includeBodyHash",
                      "value": false,
                      "type": "boolean"
                    }
                  ]
                },
                "description": "Get currencies"
              },
              "response": []
            }
          ]
        }
      ]
    },
    {
      "name": "Gift Shop API",
      "description": "Stateful gift shop journey. Run the requests in order, starting with Create a session. Each producer request stores the session, product, and cart item IDs into collection variables (Tests script), and the next requests read them. 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.",
      "item": [
        {
          "name": "Session",
          "item": [
            {
              "name": "Create a new session",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  },
                  {
                    "key": "X-API-KEY",
                    "value": "{{giftShopApi.apiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{giftShopApi.baseUrl}}/v1/Session",
                  "host": [
                    "{{giftShopApi.baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "Session"
                  ]
                },
                "auth": {
                  "type": "noauth"
                },
                "description": "Creates a new Gift Shop session for a guest",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"owner\": {\n    \"hotelId\": {{common.hotelId}},\n    \"groupId\": {{common.groupId}}\n  },\n  \"culture\": \"fr-FR\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [],
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "type": "text/javascript",
                    "exec": [
                      "try {",
                      "    const d = pm.response.json();",
                      "    if (d && d.sessionId) pm.collectionVariables.set('_gsSessionId', String(d.sessionId));",
                      "} catch (e) { /* non-JSON response: nothing to capture */ }"
                    ]
                  }
                }
              ]
            },
            {
              "name": "Update the session",
              "request": {
                "method": "PUT",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  },
                  {
                    "key": "X-API-KEY",
                    "value": "{{giftShopApi.apiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{giftShopApi.baseUrl}}/v1/{{_gsSessionId}}/Session",
                  "host": [
                    "{{giftShopApi.baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "{{_gsSessionId}}",
                    "Session"
                  ]
                },
                "auth": {
                  "type": "noauth"
                },
                "description": "Updates the session",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"culture\": \"en-GB\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": []
            },
            {
              "name": "Get session partial data",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  },
                  {
                    "key": "X-API-KEY",
                    "value": "{{giftShopApi.apiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{giftShopApi.baseUrl}}/v1/{{_gsSessionId}}",
                  "host": [
                    "{{giftShopApi.baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "{{_gsSessionId}}"
                  ]
                },
                "auth": {
                  "type": "noauth"
                },
                "description": "Gets partial data from a session"
              },
              "response": []
            },
            {
              "name": "Get session shopper data",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  },
                  {
                    "key": "X-API-KEY",
                    "value": "{{giftShopApi.apiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{giftShopApi.baseUrl}}/v1/{{_gsSessionId}}/shopper",
                  "host": [
                    "{{giftShopApi.baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "{{_gsSessionId}}",
                    "shopper"
                  ]
                },
                "auth": {
                  "type": "noauth"
                },
                "description": "Gets shopper data from a session"
              },
              "response": []
            }
          ]
        },
        {
          "name": "Configuration",
          "item": [
            {
              "name": "Get the gift shop configuration",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  },
                  {
                    "key": "X-API-KEY",
                    "value": "{{giftShopApi.apiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{giftShopApi.baseUrl}}/v1/{{_gsSessionId}}/Configuration",
                  "host": [
                    "{{giftShopApi.baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "{{_gsSessionId}}",
                    "Configuration"
                  ]
                },
                "auth": {
                  "type": "noauth"
                },
                "description": "Returns the gift shop details, theme, and payment methods"
              },
              "response": []
            }
          ]
        },
        {
          "name": "Category",
          "item": [
            {
              "name": "Get all categories",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  },
                  {
                    "key": "X-API-KEY",
                    "value": "{{giftShopApi.apiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{giftShopApi.baseUrl}}/v1/{{_gsSessionId}}/categories",
                  "host": [
                    "{{giftShopApi.baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "{{_gsSessionId}}",
                    "categories"
                  ]
                },
                "auth": {
                  "type": "noauth"
                },
                "description": "Gets all categories for the owner's gift shop"
              },
              "response": []
            }
          ]
        },
        {
          "name": "Product",
          "item": [
            {
              "name": "Search active products",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  },
                  {
                    "key": "X-API-KEY",
                    "value": "{{giftShopApi.apiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{giftShopApi.baseUrl}}/v1/{{_gsSessionId}}/products/search",
                  "host": [
                    "{{giftShopApi.baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "{{_gsSessionId}}",
                    "products",
                    "search"
                  ]
                },
                "auth": {
                  "type": "noauth"
                },
                "description": "Searches all owner's gift shop active products",
                "body": {
                  "mode": "raw",
                  "raw": "{}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [],
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "type": "text/javascript",
                    "exec": [
                      "try {",
                      "    const d = pm.response.json();",
                      "    // Prefer the first Range-priced product (it always has a minAmount); id and amount",
                      "    // come from the same product. Fall back to the first product if none is Range.",
                      "    const list = (d && d.products) || [];",
                      "    const p = list.find(x => x.price && x.price.priceType === 'Range') || list[0];",
                      "    if (p) pm.collectionVariables.set('_gsProductId', String(p.id));",
                      "    const amt = p && p.price && (p.price.minAmount || p.price.amount);",
                      "    if (amt) {",
                      "        pm.collectionVariables.set('_gsAmount', String(amt.amount));",
                      "        pm.collectionVariables.set('_gsCurrency', String(amt.currency));",
                      "    }",
                      "} catch (e) { /* non-JSON response: nothing to capture */ }"
                    ]
                  }
                }
              ]
            }
          ]
        },
        {
          "name": "Cart",
          "item": [
            {
              "name": "Add a cart item",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  },
                  {
                    "key": "X-API-KEY",
                    "value": "{{giftShopApi.apiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{giftShopApi.baseUrl}}/v1/{{_gsSessionId}}/cart/item",
                  "host": [
                    "{{giftShopApi.baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "{{_gsSessionId}}",
                    "cart",
                    "item"
                  ]
                },
                "auth": {
                  "type": "noauth"
                },
                "description": "Adds a new cart item into the cart of the guest",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"productId\": {{_gsProductId}},\n  \"quantity\": 1,\n  \"amount\": {\n    \"amount\": {{_gsAmount}},\n    \"currency\": \"{{_gsCurrency}}\"\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}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [],
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "type": "text/javascript",
                    "exec": [
                      "try {",
                      "    const d = pm.response.json();",
                      "    const id = d && d.cartItemIds && d.cartItemIds[0];",
                      "    if (id) pm.collectionVariables.set('_gsCartItemId', String(id));",
                      "} catch (e) { /* non-JSON response: nothing to capture */ }"
                    ]
                  }
                }
              ]
            },
            {
              "name": "Get the active cart",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  },
                  {
                    "key": "X-API-KEY",
                    "value": "{{giftShopApi.apiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{giftShopApi.baseUrl}}/v1/{{_gsSessionId}}/cart",
                  "host": [
                    "{{giftShopApi.baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "{{_gsSessionId}}",
                    "cart"
                  ]
                },
                "auth": {
                  "type": "noauth"
                },
                "description": "Gets the active cart of the guest for its session"
              },
              "response": []
            },
            {
              "name": "Update a cart item",
              "request": {
                "method": "PUT",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  },
                  {
                    "key": "X-API-KEY",
                    "value": "{{giftShopApi.apiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{giftShopApi.baseUrl}}/v1/{{_gsSessionId}}/cart/items/{{_gsCartItemId}}",
                  "host": [
                    "{{giftShopApi.baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "{{_gsSessionId}}",
                    "cart",
                    "items",
                    "{{_gsCartItemId}}"
                  ]
                },
                "auth": {
                  "type": "noauth"
                },
                "description": "Updates an existing cart item in the cart of the guest",
                "body": {
                  "mode": "raw",
                  "raw": "{\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}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": []
            },
            {
              "name": "Remove a cart item",
              "request": {
                "method": "DELETE",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  },
                  {
                    "key": "X-API-KEY",
                    "value": "{{giftShopApi.apiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{giftShopApi.baseUrl}}/v1/{{_gsSessionId}}/cart/items/{{_gsCartItemId}}",
                  "host": [
                    "{{giftShopApi.baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "{{_gsSessionId}}",
                    "cart",
                    "items",
                    "{{_gsCartItemId}}"
                  ]
                },
                "auth": {
                  "type": "noauth"
                },
                "description": "Removes a single item of the cart"
              },
              "response": []
            },
            {
              "name": "Empty the cart",
              "request": {
                "method": "DELETE",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  },
                  {
                    "key": "X-API-KEY",
                    "value": "{{giftShopApi.apiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{giftShopApi.baseUrl}}/v1/{{_gsSessionId}}/cart",
                  "host": [
                    "{{giftShopApi.baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "{{_gsSessionId}}",
                    "cart"
                  ]
                },
                "auth": {
                  "type": "noauth"
                },
                "description": "Removes all the items of the cart"
              },
              "response": []
            },
            {
              "name": "Confirm the cart",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  },
                  {
                    "key": "X-API-KEY",
                    "value": "{{giftShopApi.apiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{giftShopApi.baseUrl}}/v1/{{_gsSessionId}}/cart/confirm",
                  "host": [
                    "{{giftShopApi.baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "{{_gsSessionId}}",
                    "cart",
                    "confirm"
                  ]
                },
                "auth": {
                  "type": "noauth"
                },
                "description": "Confirms the cart and returns the redirect URL to the payment page",
                "body": {
                  "mode": "raw",
                  "raw": "{\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}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": []
            }
          ]
        },
        {
          "name": "Localization",
          "item": [
            {
              "name": "Get phone codes",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  },
                  {
                    "key": "X-API-KEY",
                    "value": "{{giftShopApi.apiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{giftShopApi.baseUrl}}/v1/{{_gsSessionId}}/Localization/PhoneCodes",
                  "host": [
                    "{{giftShopApi.baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "{{_gsSessionId}}",
                    "Localization",
                    "PhoneCodes"
                  ]
                },
                "auth": {
                  "type": "noauth"
                },
                "description": "Gets the phone code list"
              },
              "response": []
            },
            {
              "name": "Get country names",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  },
                  {
                    "key": "X-API-KEY",
                    "value": "{{giftShopApi.apiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{giftShopApi.baseUrl}}/v1/{{_gsSessionId}}/Localization/Countries",
                  "host": [
                    "{{giftShopApi.baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "{{_gsSessionId}}",
                    "Localization",
                    "Countries"
                  ]
                },
                "auth": {
                  "type": "noauth"
                },
                "description": "Gets country names localised from the session culture"
              },
              "response": []
            }
          ]
        },
        {
          "name": "Order",
          "item": [
            {
              "name": "Get the order",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  },
                  {
                    "key": "X-API-KEY",
                    "value": "{{giftShopApi.apiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{giftShopApi.baseUrl}}/v1/{{_gsSessionId}}/Order",
                  "host": [
                    "{{giftShopApi.baseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "{{_gsSessionId}}",
                    "Order"
                  ]
                },
                "auth": {
                  "type": "noauth"
                },
                "description": "Gets the order from a session"
              },
              "response": []
            }
          ]
        }
      ]
    },
    {
      "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 collection variables. 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/.",
      "item": [
        {
          "name": "Guest",
          "item": [
            {
              "name": "Create a guest",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{crmApi.baseUrl}}/api/guestprofile/entities/{{crmApi.entityId}}/guests/create",
                  "host": [
                    "{{crmApi.baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "guestprofile",
                    "entities",
                    "{{crmApi.entityId}}",
                    "guests",
                    "create"
                  ]
                },
                "auth": {
                  "type": "oauth2",
                  "oauth2": [
                    {
                      "key": "grant_type",
                      "value": "client_credentials",
                      "type": "string"
                    },
                    {
                      "key": "accessTokenUrl",
                      "value": "{{crmApi.tokenUrl}}",
                      "type": "string"
                    },
                    {
                      "key": "clientId",
                      "value": "{{crmApi.clientId}}",
                      "type": "string"
                    },
                    {
                      "key": "clientSecret",
                      "value": "{{crmApi.clientSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "client_authentication",
                      "value": "body",
                      "type": "string"
                    },
                    {
                      "key": "addTokenTo",
                      "value": "header",
                      "type": "string"
                    },
                    {
                      "key": "tokenName",
                      "value": "D-EDGE CRM API",
                      "type": "string"
                    }
                  ]
                },
                "description": "Create a guest profile on an entity",
                "body": {
                  "mode": "raw",
                  "raw": "{\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}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [],
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "type": "text/javascript",
                    "exec": [
                      "try {",
                      "    const loc = pm.response.headers.get('location');",
                      "    if (loc) pm.collectionVariables.set('_crmGuestPath', String(loc).replace(/^\\/+/, ''));",
                      "} catch (e) { /* non-JSON response: nothing to capture */ }"
                    ]
                  }
                }
              ]
            },
            {
              "name": "Get a guest",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{crmApi.baseUrl}}/{{_crmGuestPath}}",
                  "host": [
                    "{{crmApi.baseUrl}}"
                  ],
                  "path": [
                    "{{_crmGuestPath}}"
                  ]
                },
                "auth": {
                  "type": "oauth2",
                  "oauth2": [
                    {
                      "key": "grant_type",
                      "value": "client_credentials",
                      "type": "string"
                    },
                    {
                      "key": "accessTokenUrl",
                      "value": "{{crmApi.tokenUrl}}",
                      "type": "string"
                    },
                    {
                      "key": "clientId",
                      "value": "{{crmApi.clientId}}",
                      "type": "string"
                    },
                    {
                      "key": "clientSecret",
                      "value": "{{crmApi.clientSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "client_authentication",
                      "value": "body",
                      "type": "string"
                    },
                    {
                      "key": "addTokenTo",
                      "value": "header",
                      "type": "string"
                    },
                    {
                      "key": "tokenName",
                      "value": "D-EDGE CRM API",
                      "type": "string"
                    }
                  ]
                },
                "description": "Read a guest profile by identifier"
              },
              "response": [],
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "type": "text/javascript",
                    "exec": [
                      "try {",
                      "    const d = pm.response.json();",
                      "    if (d && d.id) pm.collectionVariables.set('_crmGuestId', String(d.id));",
                      "} catch (e) { /* non-JSON response: nothing to capture */ }"
                    ]
                  }
                }
              ]
            },
            {
              "name": "Update a guest",
              "request": {
                "method": "PUT",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{crmApi.baseUrl}}/api/guestprofile/entities/{{crmApi.entityId}}/guests/{{_crmGuestId}}",
                  "host": [
                    "{{crmApi.baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "guestprofile",
                    "entities",
                    "{{crmApi.entityId}}",
                    "guests",
                    "{{_crmGuestId}}"
                  ]
                },
                "auth": {
                  "type": "oauth2",
                  "oauth2": [
                    {
                      "key": "grant_type",
                      "value": "client_credentials",
                      "type": "string"
                    },
                    {
                      "key": "accessTokenUrl",
                      "value": "{{crmApi.tokenUrl}}",
                      "type": "string"
                    },
                    {
                      "key": "clientId",
                      "value": "{{crmApi.clientId}}",
                      "type": "string"
                    },
                    {
                      "key": "clientSecret",
                      "value": "{{crmApi.clientSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "client_authentication",
                      "value": "body",
                      "type": "string"
                    },
                    {
                      "key": "addTokenTo",
                      "value": "header",
                      "type": "string"
                    },
                    {
                      "key": "tokenName",
                      "value": "D-EDGE CRM API",
                      "type": "string"
                    }
                  ]
                },
                "description": "Override the attributes of a guest profile",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"title\": { \"value\": \"MR\", \"from\": \"agent\" },\n  \"gender\": { \"value\": \"M\", \"from\": \"agent\" }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": []
            },
            {
              "name": "Partially update a guest",
              "request": {
                "method": "PATCH",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{crmApi.baseUrl}}/api/guestprofile/entities/{{crmApi.entityId}}/guests/{{_crmGuestId}}",
                  "host": [
                    "{{crmApi.baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "guestprofile",
                    "entities",
                    "{{crmApi.entityId}}",
                    "guests",
                    "{{_crmGuestId}}"
                  ]
                },
                "auth": {
                  "type": "oauth2",
                  "oauth2": [
                    {
                      "key": "grant_type",
                      "value": "client_credentials",
                      "type": "string"
                    },
                    {
                      "key": "accessTokenUrl",
                      "value": "{{crmApi.tokenUrl}}",
                      "type": "string"
                    },
                    {
                      "key": "clientId",
                      "value": "{{crmApi.clientId}}",
                      "type": "string"
                    },
                    {
                      "key": "clientSecret",
                      "value": "{{crmApi.clientSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "client_authentication",
                      "value": "body",
                      "type": "string"
                    },
                    {
                      "key": "addTokenTo",
                      "value": "header",
                      "type": "string"
                    },
                    {
                      "key": "tokenName",
                      "value": "D-EDGE CRM API",
                      "type": "string"
                    }
                  ]
                },
                "description": "Update a guest differentially, appending to array attributes",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"notes\": [\n    { \"value\": \"Prefers a room on floor 2.\", \"from\": \"agent\" }\n  ],\n  \"languages\": [\n    { \"value\": \"fr\", \"from\": \"guest\" }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": []
            },
            {
              "name": "Anonymise a guest",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{crmApi.baseUrl}}/api/guestprofile/entities/{{crmApi.entityId}}/guests/{{_crmGuestId}}/anonymize",
                  "host": [
                    "{{crmApi.baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "guestprofile",
                    "entities",
                    "{{crmApi.entityId}}",
                    "guests",
                    "{{_crmGuestId}}",
                    "anonymize"
                  ]
                },
                "auth": {
                  "type": "oauth2",
                  "oauth2": [
                    {
                      "key": "grant_type",
                      "value": "client_credentials",
                      "type": "string"
                    },
                    {
                      "key": "accessTokenUrl",
                      "value": "{{crmApi.tokenUrl}}",
                      "type": "string"
                    },
                    {
                      "key": "clientId",
                      "value": "{{crmApi.clientId}}",
                      "type": "string"
                    },
                    {
                      "key": "clientSecret",
                      "value": "{{crmApi.clientSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "client_authentication",
                      "value": "body",
                      "type": "string"
                    },
                    {
                      "key": "addTokenTo",
                      "value": "header",
                      "type": "string"
                    },
                    {
                      "key": "tokenName",
                      "value": "D-EDGE CRM API",
                      "type": "string"
                    }
                  ]
                },
                "description": "Anonymise a guest profile on an entity"
              },
              "response": []
            }
          ]
        },
        {
          "name": "Search",
          "item": [
            {
              "name": "Count guests",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{crmApi.baseUrl}}/api/guestprofile/entities/{{crmApi.entityId}}/guests/count",
                  "host": [
                    "{{crmApi.baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "guestprofile",
                    "entities",
                    "{{crmApi.entityId}}",
                    "guests",
                    "count"
                  ]
                },
                "auth": {
                  "type": "oauth2",
                  "oauth2": [
                    {
                      "key": "grant_type",
                      "value": "client_credentials",
                      "type": "string"
                    },
                    {
                      "key": "accessTokenUrl",
                      "value": "{{crmApi.tokenUrl}}",
                      "type": "string"
                    },
                    {
                      "key": "clientId",
                      "value": "{{crmApi.clientId}}",
                      "type": "string"
                    },
                    {
                      "key": "clientSecret",
                      "value": "{{crmApi.clientSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "client_authentication",
                      "value": "body",
                      "type": "string"
                    },
                    {
                      "key": "addTokenTo",
                      "value": "header",
                      "type": "string"
                    },
                    {
                      "key": "tokenName",
                      "value": "D-EDGE CRM API",
                      "type": "string"
                    }
                  ]
                },
                "description": "Count or estimate the guests matching advanced filters",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"query\": {\n    \"logic\": \"AND\",\n    \"criteria\": [\n      {\n        \"logic\": \"AND\",\n        \"criteria\": [\n          { \"field\": \"sourceType\", \"operator\": \"=\", \"value\": \"website\" }\n        ]\n      }\n    ]\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": []
            },
            {
              "name": "Search guests",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{crmApi.baseUrl}}/api/guestprofile/entities/{{crmApi.entityId}}/guests/search",
                  "host": [
                    "{{crmApi.baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "guestprofile",
                    "entities",
                    "{{crmApi.entityId}}",
                    "guests",
                    "search"
                  ]
                },
                "auth": {
                  "type": "oauth2",
                  "oauth2": [
                    {
                      "key": "grant_type",
                      "value": "client_credentials",
                      "type": "string"
                    },
                    {
                      "key": "accessTokenUrl",
                      "value": "{{crmApi.tokenUrl}}",
                      "type": "string"
                    },
                    {
                      "key": "clientId",
                      "value": "{{crmApi.clientId}}",
                      "type": "string"
                    },
                    {
                      "key": "clientSecret",
                      "value": "{{crmApi.clientSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "client_authentication",
                      "value": "body",
                      "type": "string"
                    },
                    {
                      "key": "addTokenTo",
                      "value": "header",
                      "type": "string"
                    },
                    {
                      "key": "tokenName",
                      "value": "D-EDGE CRM API",
                      "type": "string"
                    }
                  ]
                },
                "description": "Search guests with quick or advanced filters",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"query\": {\n    \"logic\": \"AND\",\n    \"criteria\": [\n      {\n        \"logic\": \"AND\",\n        \"criteria\": [\n          { \"field\": \"sourceType\", \"operator\": \"=\", \"value\": \"website\" }\n        ]\n      }\n    ]\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [],
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "type": "text/javascript",
                    "exec": [
                      "try {",
                      "    const d = pm.response.json();",
                      "    const docs = (d && d.documents) || [];",
                      "    // the second one: merging needs a profile other than the guest just created",
                      "    if (docs[1] && docs[1].guest) pm.collectionVariables.set('_crmSecondGuestId', String(docs[1].guest.id));",
                      "} catch (e) { /* non-JSON response: nothing to capture */ }"
                    ]
                  }
                }
              ]
            },
            {
              "name": "Browse guests",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{crmApi.baseUrl}}/api/guestprofile/entities/{{crmApi.entityId}}/guests/browse",
                  "host": [
                    "{{crmApi.baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "guestprofile",
                    "entities",
                    "{{crmApi.entityId}}",
                    "guests",
                    "browse"
                  ]
                },
                "auth": {
                  "type": "oauth2",
                  "oauth2": [
                    {
                      "key": "grant_type",
                      "value": "client_credentials",
                      "type": "string"
                    },
                    {
                      "key": "accessTokenUrl",
                      "value": "{{crmApi.tokenUrl}}",
                      "type": "string"
                    },
                    {
                      "key": "clientId",
                      "value": "{{crmApi.clientId}}",
                      "type": "string"
                    },
                    {
                      "key": "clientSecret",
                      "value": "{{crmApi.clientSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "client_authentication",
                      "value": "body",
                      "type": "string"
                    },
                    {
                      "key": "addTokenTo",
                      "value": "header",
                      "type": "string"
                    },
                    {
                      "key": "tokenName",
                      "value": "D-EDGE CRM API",
                      "type": "string"
                    }
                  ]
                },
                "description": "Scroll through a high volume of guests",
                "body": {
                  "mode": "raw",
                  "raw": "{\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}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": []
            },
            {
              "name": "Browse bookings",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{crmApi.baseUrl}}/api/bookings-manager/entities/{{crmApi.entityId}}/bookings/browse",
                  "host": [
                    "{{crmApi.baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "bookings-manager",
                    "entities",
                    "{{crmApi.entityId}}",
                    "bookings",
                    "browse"
                  ]
                },
                "auth": {
                  "type": "oauth2",
                  "oauth2": [
                    {
                      "key": "grant_type",
                      "value": "client_credentials",
                      "type": "string"
                    },
                    {
                      "key": "accessTokenUrl",
                      "value": "{{crmApi.tokenUrl}}",
                      "type": "string"
                    },
                    {
                      "key": "clientId",
                      "value": "{{crmApi.clientId}}",
                      "type": "string"
                    },
                    {
                      "key": "clientSecret",
                      "value": "{{crmApi.clientSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "client_authentication",
                      "value": "body",
                      "type": "string"
                    },
                    {
                      "key": "addTokenTo",
                      "value": "header",
                      "type": "string"
                    },
                    {
                      "key": "tokenName",
                      "value": "D-EDGE CRM API",
                      "type": "string"
                    }
                  ]
                },
                "description": "Page through the bookings of an entity with their guest",
                "body": {
                  "mode": "raw",
                  "raw": "{\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}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": []
            }
          ]
        },
        {
          "name": "Merge",
          "item": [
            {
              "name": "Compute merge confidence",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{crmApi.baseUrl}}/api/guestprofile/entities/{{crmApi.entityId}}/guests/compute-merge-confidence",
                  "host": [
                    "{{crmApi.baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "guestprofile",
                    "entities",
                    "{{crmApi.entityId}}",
                    "guests",
                    "compute-merge-confidence"
                  ]
                },
                "auth": {
                  "type": "oauth2",
                  "oauth2": [
                    {
                      "key": "grant_type",
                      "value": "client_credentials",
                      "type": "string"
                    },
                    {
                      "key": "accessTokenUrl",
                      "value": "{{crmApi.tokenUrl}}",
                      "type": "string"
                    },
                    {
                      "key": "clientId",
                      "value": "{{crmApi.clientId}}",
                      "type": "string"
                    },
                    {
                      "key": "clientSecret",
                      "value": "{{crmApi.clientSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "client_authentication",
                      "value": "body",
                      "type": "string"
                    },
                    {
                      "key": "addTokenTo",
                      "value": "header",
                      "type": "string"
                    },
                    {
                      "key": "tokenName",
                      "value": "D-EDGE CRM API",
                      "type": "string"
                    }
                  ]
                },
                "description": "Score how close two or more guest profiles are before merging them",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"guestIds\": [\n    \"{{_crmGuestId}}\",\n    \"{{_crmSecondGuestId}}\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [],
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "type": "text/javascript",
                    "exec": [
                      "try {",
                      "    const loc = pm.response.headers.get('location');",
                      "    if (loc) pm.collectionVariables.set('_crmTaskPath', String(loc).replace(/^\\/+/, ''));",
                      "} catch (e) { /* non-JSON response: nothing to capture */ }"
                    ]
                  }
                }
              ]
            },
            {
              "name": "Merge guests",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{crmApi.baseUrl}}/api/guestprofile/entities/{{crmApi.entityId}}/guests/merge",
                  "host": [
                    "{{crmApi.baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "guestprofile",
                    "entities",
                    "{{crmApi.entityId}}",
                    "guests",
                    "merge"
                  ]
                },
                "auth": {
                  "type": "oauth2",
                  "oauth2": [
                    {
                      "key": "grant_type",
                      "value": "client_credentials",
                      "type": "string"
                    },
                    {
                      "key": "accessTokenUrl",
                      "value": "{{crmApi.tokenUrl}}",
                      "type": "string"
                    },
                    {
                      "key": "clientId",
                      "value": "{{crmApi.clientId}}",
                      "type": "string"
                    },
                    {
                      "key": "clientSecret",
                      "value": "{{crmApi.clientSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "client_authentication",
                      "value": "body",
                      "type": "string"
                    },
                    {
                      "key": "addTokenTo",
                      "value": "header",
                      "type": "string"
                    },
                    {
                      "key": "tokenName",
                      "value": "D-EDGE CRM API",
                      "type": "string"
                    }
                  ]
                },
                "description": "Merge guest profiles into one when the similarity threshold is reached",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"guestIds\": [\n    \"{{_crmGuestId}}\",\n    \"{{_crmSecondGuestId}}\"\n  ],\n  \"threshold\": 75\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [],
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "type": "text/javascript",
                    "exec": [
                      "try {",
                      "    const loc = pm.response.headers.get('location');",
                      "    if (loc) pm.collectionVariables.set('_crmTaskPath', String(loc).replace(/^\\/+/, ''));",
                      "} catch (e) { /* non-JSON response: nothing to capture */ }"
                    ]
                  }
                }
              ]
            },
            {
              "name": "Read a task",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{crmApi.baseUrl}}/{{_crmTaskPath}}",
                  "host": [
                    "{{crmApi.baseUrl}}"
                  ],
                  "path": [
                    "{{_crmTaskPath}}"
                  ]
                },
                "auth": {
                  "type": "oauth2",
                  "oauth2": [
                    {
                      "key": "grant_type",
                      "value": "client_credentials",
                      "type": "string"
                    },
                    {
                      "key": "accessTokenUrl",
                      "value": "{{crmApi.tokenUrl}}",
                      "type": "string"
                    },
                    {
                      "key": "clientId",
                      "value": "{{crmApi.clientId}}",
                      "type": "string"
                    },
                    {
                      "key": "clientSecret",
                      "value": "{{crmApi.clientSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "client_authentication",
                      "value": "body",
                      "type": "string"
                    },
                    {
                      "key": "addTokenTo",
                      "value": "header",
                      "type": "string"
                    },
                    {
                      "key": "tokenName",
                      "value": "D-EDGE CRM API",
                      "type": "string"
                    }
                  ]
                },
                "description": "Follow an asynchronous operation and collect its result"
              },
              "response": []
            },
            {
              "name": "Unmerge a guest",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{crmApi.baseUrl}}/api/guestprofile/entities/{{crmApi.entityId}}/guests/{{crmApi.mergedGuestId}}/unmerge",
                  "host": [
                    "{{crmApi.baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "guestprofile",
                    "entities",
                    "{{crmApi.entityId}}",
                    "guests",
                    "{{crmApi.mergedGuestId}}",
                    "unmerge"
                  ]
                },
                "auth": {
                  "type": "oauth2",
                  "oauth2": [
                    {
                      "key": "grant_type",
                      "value": "client_credentials",
                      "type": "string"
                    },
                    {
                      "key": "accessTokenUrl",
                      "value": "{{crmApi.tokenUrl}}",
                      "type": "string"
                    },
                    {
                      "key": "clientId",
                      "value": "{{crmApi.clientId}}",
                      "type": "string"
                    },
                    {
                      "key": "clientSecret",
                      "value": "{{crmApi.clientSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "client_authentication",
                      "value": "body",
                      "type": "string"
                    },
                    {
                      "key": "addTokenTo",
                      "value": "header",
                      "type": "string"
                    },
                    {
                      "key": "tokenName",
                      "value": "D-EDGE CRM API",
                      "type": "string"
                    }
                  ]
                },
                "description": "Split a merged profile back into the profiles it was composed of"
              },
              "response": []
            }
          ]
        },
        {
          "name": "Segments",
          "item": [
            {
              "name": "Create a segment",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{crmApi.baseUrl}}/api/guestprofile/entities/{{crmApi.entityId}}/segments/new",
                  "host": [
                    "{{crmApi.baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "guestprofile",
                    "entities",
                    "{{crmApi.entityId}}",
                    "segments",
                    "new"
                  ]
                },
                "auth": {
                  "type": "oauth2",
                  "oauth2": [
                    {
                      "key": "grant_type",
                      "value": "client_credentials",
                      "type": "string"
                    },
                    {
                      "key": "accessTokenUrl",
                      "value": "{{crmApi.tokenUrl}}",
                      "type": "string"
                    },
                    {
                      "key": "clientId",
                      "value": "{{crmApi.clientId}}",
                      "type": "string"
                    },
                    {
                      "key": "clientSecret",
                      "value": "{{crmApi.clientSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "client_authentication",
                      "value": "body",
                      "type": "string"
                    },
                    {
                      "key": "addTokenTo",
                      "value": "header",
                      "type": "string"
                    },
                    {
                      "key": "tokenName",
                      "value": "D-EDGE CRM API",
                      "type": "string"
                    }
                  ]
                },
                "description": "Save a set of search criteria under a name",
                "body": {
                  "mode": "raw",
                  "raw": "{\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}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": []
            },
            {
              "name": "List segments",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{crmApi.baseUrl}}/api/guestprofile/entities/{{crmApi.entityId}}/segments",
                  "host": [
                    "{{crmApi.baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "guestprofile",
                    "entities",
                    "{{crmApi.entityId}}",
                    "segments"
                  ]
                },
                "auth": {
                  "type": "oauth2",
                  "oauth2": [
                    {
                      "key": "grant_type",
                      "value": "client_credentials",
                      "type": "string"
                    },
                    {
                      "key": "accessTokenUrl",
                      "value": "{{crmApi.tokenUrl}}",
                      "type": "string"
                    },
                    {
                      "key": "clientId",
                      "value": "{{crmApi.clientId}}",
                      "type": "string"
                    },
                    {
                      "key": "clientSecret",
                      "value": "{{crmApi.clientSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "client_authentication",
                      "value": "body",
                      "type": "string"
                    },
                    {
                      "key": "addTokenTo",
                      "value": "header",
                      "type": "string"
                    },
                    {
                      "key": "tokenName",
                      "value": "D-EDGE CRM API",
                      "type": "string"
                    }
                  ]
                },
                "description": "Retrieve all segments defined on an entity"
              },
              "response": [],
              "event": [
                {
                  "listen": "test",
                  "script": {
                    "type": "text/javascript",
                    "exec": [
                      "try {",
                      "    const d = pm.response.json();",
                      "    const first = Array.isArray(d) && d[0];",
                      "    if (first && first.model) pm.collectionVariables.set('_crmSegmentId', String(first.model.id));",
                      "} catch (e) { /* non-JSON response: nothing to capture */ }"
                    ]
                  }
                }
              ]
            },
            {
              "name": "Get a segment",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{crmApi.baseUrl}}/api/guestprofile/entities/{{crmApi.entityId}}/segments/{{_crmSegmentId}}",
                  "host": [
                    "{{crmApi.baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "guestprofile",
                    "entities",
                    "{{crmApi.entityId}}",
                    "segments",
                    "{{_crmSegmentId}}"
                  ]
                },
                "auth": {
                  "type": "oauth2",
                  "oauth2": [
                    {
                      "key": "grant_type",
                      "value": "client_credentials",
                      "type": "string"
                    },
                    {
                      "key": "accessTokenUrl",
                      "value": "{{crmApi.tokenUrl}}",
                      "type": "string"
                    },
                    {
                      "key": "clientId",
                      "value": "{{crmApi.clientId}}",
                      "type": "string"
                    },
                    {
                      "key": "clientSecret",
                      "value": "{{crmApi.clientSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "client_authentication",
                      "value": "body",
                      "type": "string"
                    },
                    {
                      "key": "addTokenTo",
                      "value": "header",
                      "type": "string"
                    },
                    {
                      "key": "tokenName",
                      "value": "D-EDGE CRM API",
                      "type": "string"
                    }
                  ]
                },
                "description": "Read the name and criteria of a segment"
              },
              "response": []
            },
            {
              "name": "Update a segment",
              "request": {
                "method": "PATCH",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{crmApi.baseUrl}}/api/guestprofile/entities/{{crmApi.entityId}}/segments/{{_crmSegmentId}}",
                  "host": [
                    "{{crmApi.baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "guestprofile",
                    "entities",
                    "{{crmApi.entityId}}",
                    "segments",
                    "{{_crmSegmentId}}"
                  ]
                },
                "auth": {
                  "type": "oauth2",
                  "oauth2": [
                    {
                      "key": "grant_type",
                      "value": "client_credentials",
                      "type": "string"
                    },
                    {
                      "key": "accessTokenUrl",
                      "value": "{{crmApi.tokenUrl}}",
                      "type": "string"
                    },
                    {
                      "key": "clientId",
                      "value": "{{crmApi.clientId}}",
                      "type": "string"
                    },
                    {
                      "key": "clientSecret",
                      "value": "{{crmApi.clientSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "client_authentication",
                      "value": "body",
                      "type": "string"
                    },
                    {
                      "key": "addTokenTo",
                      "value": "header",
                      "type": "string"
                    },
                    {
                      "key": "tokenName",
                      "value": "D-EDGE CRM API",
                      "type": "string"
                    }
                  ]
                },
                "description": "Change the name or the criteria of an existing segment",
                "body": {
                  "mode": "raw",
                  "raw": "{\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}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": []
            },
            {
              "name": "Delete a segment",
              "request": {
                "method": "DELETE",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{crmApi.baseUrl}}/api/guestprofile/entities/{{crmApi.entityId}}/segments/{{_crmSegmentId}}",
                  "host": [
                    "{{crmApi.baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "guestprofile",
                    "entities",
                    "{{crmApi.entityId}}",
                    "segments",
                    "{{_crmSegmentId}}"
                  ]
                },
                "auth": {
                  "type": "oauth2",
                  "oauth2": [
                    {
                      "key": "grant_type",
                      "value": "client_credentials",
                      "type": "string"
                    },
                    {
                      "key": "accessTokenUrl",
                      "value": "{{crmApi.tokenUrl}}",
                      "type": "string"
                    },
                    {
                      "key": "clientId",
                      "value": "{{crmApi.clientId}}",
                      "type": "string"
                    },
                    {
                      "key": "clientSecret",
                      "value": "{{crmApi.clientSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "client_authentication",
                      "value": "body",
                      "type": "string"
                    },
                    {
                      "key": "addTokenTo",
                      "value": "header",
                      "type": "string"
                    },
                    {
                      "key": "tokenName",
                      "value": "D-EDGE CRM API",
                      "type": "string"
                    }
                  ]
                },
                "description": "Delete a segment definition without altering guests"
              },
              "response": []
            },
            {
              "name": "Get a guest's segments",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Accept",
                    "value": "application/json"
                  },
                  {
                    "key": "x-mock-api-key",
                    "value": "{{common.mockApiKey}}"
                  }
                ],
                "url": {
                  "raw": "{{crmApi.baseUrl}}/api/guestprofile/entities/{{crmApi.entityId}}/guests/{{_crmGuestId}}/segments",
                  "host": [
                    "{{crmApi.baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "guestprofile",
                    "entities",
                    "{{crmApi.entityId}}",
                    "guests",
                    "{{_crmGuestId}}",
                    "segments"
                  ]
                },
                "auth": {
                  "type": "oauth2",
                  "oauth2": [
                    {
                      "key": "grant_type",
                      "value": "client_credentials",
                      "type": "string"
                    },
                    {
                      "key": "accessTokenUrl",
                      "value": "{{crmApi.tokenUrl}}",
                      "type": "string"
                    },
                    {
                      "key": "clientId",
                      "value": "{{crmApi.clientId}}",
                      "type": "string"
                    },
                    {
                      "key": "clientSecret",
                      "value": "{{crmApi.clientSecret}}",
                      "type": "string"
                    },
                    {
                      "key": "client_authentication",
                      "value": "body",
                      "type": "string"
                    },
                    {
                      "key": "addTokenTo",
                      "value": "header",
                      "type": "string"
                    },
                    {
                      "key": "tokenName",
                      "value": "D-EDGE CRM API",
                      "type": "string"
                    }
                  ]
                },
                "description": "List the segments whose criteria match a guest"
              },
              "response": []
            }
          ]
        }
      ]
    }
  ],
  "variable": [
    {
      "key": "common.mockApiKey",
      "value": "@erBN6$LE$#rrotSzD@c6iPtYe!Xt!k#s&aNhL?J",
      "type": "string",
      "description": "Shared key for the mock environment, sent as the x-mock-api-key header. Ignored by the live API."
    },
    {
      "key": "common.oauth1.consumerKey",
      "value": "",
      "type": "string",
      "description": "OAuth 1.0 consumer key"
    },
    {
      "key": "common.oauth1.consumerSecret",
      "value": "",
      "type": "string",
      "description": "OAuth 1.0 consumer secret"
    },
    {
      "key": "common.oauth1.token",
      "value": "",
      "type": "string",
      "description": "OAuth 1.0 token, per-hotel"
    },
    {
      "key": "common.oauth1.tokenSecret",
      "value": "",
      "type": "string",
      "description": "OAuth 1.0 token secret, per-hotel"
    },
    {
      "key": "common.hotelId",
      "value": "12345",
      "type": "string",
      "description": "Placeholder hotel identifier. On the live API, set your real ID, otherwise the `exceptions/default` filter pattern returns empty results. The mock environment returns data regardless."
    },
    {
      "key": "common.groupId",
      "value": "67890",
      "type": "string",
      "description": "Placeholder group identifier. Same as hotelId: set your real value for the live API."
    },
    {
      "key": "common.currency",
      "value": "EUR",
      "type": "string",
      "description": "Display currency (ISO 4217)."
    },
    {
      "key": "channelManagerApi.baseUrl",
      "value": "https://api-mock.d-edge.com/channel-manager-api",
      "type": "string",
      "description": "Base URL of the D-EDGE Push bookings endpoint, scheme included. Preconfigured for the mock environment. To call the live API, replace with the live base URL provided by D-EDGE with your Push bookings credentials."
    },
    {
      "key": "channelManagerApi.yourBaseUrl",
      "value": "https://api-mock.d-edge.com/channel-manager-api",
      "type": "string",
      "description": "Base URL of the endpoints you host for the Channel Manager API (Get hotel, Planning updates, Get bookings, Confirm bookings), scheme included. Mock by default, standing in for your server: set it to your own server to test your endpoints with the calls D-EDGE makes."
    },
    {
      "key": "channelManagerApi.login",
      "value": "testhotel",
      "type": "string",
      "description": "The login you defined for D-EDGE to call your endpoints. Sent as Basic Auth on every request D-EDGE makes, and also inside the XML on the POST requests. Prefilled with the sample value the mock answers for."
    },
    {
      "key": "channelManagerApi.password",
      "value": "testpassword",
      "type": "string",
      "description": "The password you defined for D-EDGE to call your endpoints. Same transport as the login. Prefilled with the sample value the mock answers for."
    },
    {
      "key": "channelManagerApi.hotelCode",
      "value": "1234",
      "type": "string",
      "description": "The hotel code on your platform used by the requests. The mock answers for 1234."
    },
    {
      "key": "channelManagerApi.pushLogin",
      "value": "",
      "type": "string",
      "description": "Push bookings login issued by D-EDGE. Leave empty for the mock environment, which ignores it."
    },
    {
      "key": "channelManagerApi.pushPassword",
      "value": "",
      "type": "string",
      "description": "Push bookings password issued by D-EDGE. Leave empty for the mock environment, which ignores it."
    },
    {
      "key": "bestPriceApi.baseUrl",
      "value": "https://api-mock.d-edge.com/best-price-api",
      "type": "string",
      "description": "Base URL for the Best Price API, scheme included. Preconfigured for the mock environment. To call the live API, replace with the live base URL provided by D-EDGE with your credentials, and fill your OAuth credentials and real hotel IDs."
    },
    {
      "key": "quotationApi.baseUrl",
      "value": "https://api-mock.d-edge.com/quotation-api",
      "type": "string",
      "description": "Base URL for the Quotation API, scheme included. Preconfigured for the mock environment. To call the live API, replace with the live base URL provided by D-EDGE with your credentials, and fill your OAuth credentials and real hotel IDs."
    },
    {
      "key": "dailyRatesApi.baseUrl",
      "value": "https://api-mock.d-edge.com/daily-rates-api",
      "type": "string",
      "description": "Base URL for the Daily Rates API, scheme included. Preconfigured for the mock environment. To call the live API, replace with the live base URL provided by D-EDGE with your credentials, and fill your OAuth credentials and real hotel IDs."
    },
    {
      "key": "bookingEngineApi.baseUrl",
      "value": "https://api-mock.d-edge.com/booking-engine-api",
      "type": "string",
      "description": "Base URL for the Booking Engine API, scheme included. Preconfigured for the mock environment. To call the live API, replace with the live base URL provided by D-EDGE with your credentials, and fill your OAuth credentials and real hotel IDs."
    },
    {
      "key": "bookingEngineApi.engineId",
      "value": "1XXA",
      "type": "string",
      "description": "Booking engine identifier, provided by D-EDGE. The mock accepts this sample value."
    },
    {
      "key": "bookingEngineApi.selectedHotelId",
      "value": "30001",
      "type": "string",
      "description": "Hotel identifier used by the Booking Engine requests. The mock returns hotel 30001."
    },
    {
      "key": "bookingEngineApi.bookingReference",
      "value": "BKG001",
      "type": "string",
      "description": "Booking reference (6-char uppercase alphanumeric) used by the Booking endpoints."
    },
    {
      "key": "giftShopApi.baseUrl",
      "value": "https://api-mock.d-edge.com/gift-shop-api",
      "type": "string",
      "description": "Base URL for the Gift Shop API, scheme included. Preconfigured for the mock environment. To call the live API, replace with the live base URL provided by D-EDGE and fill giftShopApi.apiKey."
    },
    {
      "key": "giftShopApi.apiKey",
      "value": "",
      "type": "string",
      "description": "X-API-KEY delivered by D-EDGE for the Gift Shop API. Leave empty for the mock environment, which ignores it."
    },
    {
      "key": "crmApi.baseUrl",
      "value": "https://api-mock.d-edge.com/crm-api",
      "type": "string",
      "description": "Base URL for the CRM API, scheme included. Preconfigured for the mock environment. To call the live API, replace with the live base URL provided by D-EDGE and fill the three credential variables below."
    },
    {
      "key": "crmApi.tokenUrl",
      "value": "https://api-mock.d-edge.com/crm-api/oauth/token",
      "type": "string",
      "description": "Token endpoint used by the \"Get an access token\" request. Preconfigured for the mock environment, which returns a sample token whatever you send. To call the live API, replace with the token endpoint of the D-EDGE CRM ID server, provided with your credentials."
    },
    {
      "key": "crmApi.clientId",
      "value": "",
      "type": "string",
      "description": "OAuth client identifier delivered by D-EDGE during partnership setup. The mock environment ignores it."
    },
    {
      "key": "crmApi.clientSecret",
      "value": "",
      "type": "string",
      "description": "OAuth client secret delivered by D-EDGE during partnership setup. The mock environment ignores it. Keep it out of shared exports."
    },
    {
      "key": "crmApi.entityId",
      "value": "c3000001-0002-0003-0004-000000000001",
      "type": "string",
      "description": "Entity that holds the guest profiles, a UUID delivered by D-EDGE with your credentials. One of the two CRM identifiers you set by hand: no endpoint lists the entities a token can reach. This sample value is the one the mock environment answers for."
    },
    {
      "key": "crmApi.mergedGuestId",
      "value": "c3000007-0002-0003-0004-000000000007",
      "type": "string",
      "description": "Merged profile that \"Unmerge a guest\" splits back apart. Set it to the identifier the merge task returns at the end of its result.rid. This sample value is the one the mock environment answers for."
    },
    {
      "key": "_sessionId",
      "value": "",
      "type": "string",
      "description": "Set automatically by \"Create a new session\" (Tests script). Run the funnel in order."
    },
    {
      "key": "_roomId",
      "value": "",
      "type": "string",
      "description": "Set automatically by the Search > rooms request (Tests script)."
    },
    {
      "key": "_rateId",
      "value": "",
      "type": "string",
      "description": "Temporal rate id string (startDate;endDate;rateId). Set automatically by the Search > rooms request (Tests script)."
    },
    {
      "key": "_occupancyId",
      "value": "",
      "type": "string",
      "description": "Set automatically by the Search > rooms request (Tests script)."
    },
    {
      "key": "_extraId",
      "value": "",
      "type": "string",
      "description": "Set automatically by the Search > extras request (Tests script)."
    },
    {
      "key": "_descRateId",
      "value": "",
      "type": "string",
      "description": "Plain integer rate id. Set automatically by the Description > rates request (Tests script)."
    },
    {
      "key": "_paymentType",
      "value": "",
      "type": "string",
      "description": "Set automatically by the Basket > quote request (Tests script)."
    },
    {
      "key": "_paymentModeName",
      "value": "",
      "type": "string",
      "description": "Set automatically by the Basket > quote request (Tests script)."
    },
    {
      "key": "_gsSessionId",
      "value": "",
      "type": "string",
      "description": "Set automatically by the Gift Shop \"Create a session\" request (Tests script). Run the journey in order."
    },
    {
      "key": "_gsProductId",
      "value": "",
      "type": "string",
      "description": "Set automatically by the Gift Shop \"Search products\" request (Tests script)."
    },
    {
      "key": "_gsAmount",
      "value": "",
      "type": "string",
      "description": "Voucher amount taken from the first product returned by \"Search products\" (minAmount for a Range price, amount for a Fixed price). Set automatically (Tests script)."
    },
    {
      "key": "_gsCurrency",
      "value": "",
      "type": "string",
      "description": "Currency of the first product returned by \"Search products\". Set automatically (Tests script)."
    },
    {
      "key": "_gsCartItemId",
      "value": "",
      "type": "string",
      "description": "Set automatically by the Gift Shop \"Add a cart item\" request (Tests script)."
    },
    {
      "key": "_crmGuestPath",
      "value": "",
      "type": "string",
      "description": "Path of the guest returned in the location header of \"Create a guest\", without its leading slash (Tests script). Read by \"Get a guest\"."
    },
    {
      "key": "_crmGuestId",
      "value": "",
      "type": "string",
      "description": "Set automatically by \"Get a guest\" (Tests script). Read by the update, anonymize, segments, and merge requests."
    },
    {
      "key": "_crmSecondGuestId",
      "value": "",
      "type": "string",
      "description": "Second guest of the \"Search guests\" response (Tests script). Merging compares two profiles, so it needs one other than the guest you created."
    },
    {
      "key": "_crmSegmentId",
      "value": "",
      "type": "string",
      "description": "First segment of the \"List segments\" response (Tests script). Read by the segment-scoped requests."
    },
    {
      "key": "_crmTaskPath",
      "value": "",
      "type": "string",
      "description": "Path of the task returned in the location header of \"Merge guests\" and \"Compute merge confidence\", without its leading slash (Tests script). Read by \"Read a task\"."
    }
  ]
}