---
title: Occupancy Based Rates
slug: occupancy-based-rates
createdAt: 2025-09-10T11:52:05.061Z
---

:::ApiMethodV2
```json
{
  "name": "Occupany Based Rates",
  "method": "POST",
  "url": "https://wsb.bakuun.com/v2/push-ari/CPB46/881826",
  "description": "Allows Bakuun to receive and process occupancy-based price updates for a specific property, including base rates, extra adult charges, and child/infant pricing rules based on the partner’s configured rate and age settings.",
  "tab": "examples",
  "examples": {
    "languages": [
      {
        "id": "F6DFMY8yp37HbzLk13k1v",
        "language": "json",
        "code": "{\n    \"sharePost\": \"string\",\n    \"sourceId\": \"string\",\n    \"propertyId\": \"string\",\n    \"startDateYmd\": \"YYYY-MM-DD\",\n    \"endDateYmd\": \"YYYY-MM-DD\",\n    \"action\": \"occPriceUpdate\",\n    \"dailyRates\": [\n        {\n            \"roomId\": \"string\",\n            \"rateId\": \"string\",\n            \"currencyCode\": \"GBP\",\n            \"priceDetails\": [\n                {\n                    \"amountBeforeTax\": \"xxx\",\n                    \"amountAfterTax\": \"xxx\",\n                    \"occupancy\": {\n                        \"guestCount\": xx,\n                        \"additionalAdultCount\": [\n                            {\n                                \"count\": x,\n                                \"countOption\": \"string\",\n                                \"costDetails\": {\n                                    \"unit\": \"string\",\n                                    \"amountBeforeTax\": \"xxx\",\n                                    \"amountAfterTax\": \"xxx\"\n                              }\n                            }\n                        ],\n                        \"childCount\": [\n                            {\n                                \"count\": x,\n                                \"countOption\": \"xx\",\n                                \"minAge\": \"xx\",\n                                \"maxAge\": \"xx\",\n                                \"costDetails\": {\n                                    \"unit\": \"xx\",\n                                    \"amountBeforeTax\": \"xxx\",\n                                    \"amountAfterTax\": \"xxx\"\n                                }\n                            }\n                        ],\n                        \"infantCount\": [\n                            {\n                                \"count\": x,\n                                \"countOption\": \"xx\",\n                                \"minAge\": \"xx\",\n                                \"maxAge\": \"xx\",\n                                \"costDetails\": {\n                                    \"unit\": \"xx\",\n                                    \"amountBeforeTax\": \"xx\",\n                                    \"amountAfterTax\": \"xx\"\n                                }\n                            }\n                        ]\n                    }\n                }\n            ]\n        }\n    ]\n}",
        "customLabel": ""
      },
      {
        "id": "dFjHVJuM_tmcl5W1Rya5c",
        "language": "curl",
        "code": "curl --location 'https://wsb.bakuun.com/v2/push-ari/CPB46/881826' \\\n--header 'Accept: application/json' \\\n--header 'Content-Type: application/json' \\\n--data '{\n  \"sharePost\": \"String\",\n  \"sourceId\": \"String\",\n  \"propertyId\": \"String\",\n  \"startDateYmd\": \"String\",\n  \"endDateYmd\": \"String\",\n  \"action\": \"String\",\n  \"dailyRates\": {\n    \"roomId\": \"\",\n    \"rateId\": \"\",\n    \"currencyCode\": \"\",\n    \"priceDetails\": {\n      \"amountBeforeTax\": \"\",\n      \"amountAfterTax\": \"\",\n      \"occupancy\": {\n        \"guestCount\": \"\",\n        \"additionalAdultCount\": {\n          \"count\": \"\",\n          \"countOption\": \"\",\n          \"costDetails\": {\n            \"unit\": \"\",\n            \"amountBeforeTax\": \"\",\n            \"amountAfterTax\": \"\"\n          },\n          \"childCount\": {\n            \"count\": \"\",\n            \"countOption\": \"\",\n            \"minAge\": \"\",\n            \"maxAge\": \"\",\n            \"costDetails\": {\n              \"unit\": \"\",\n              \"amountBeforeTax\": \"\",\n              \"amountAfterTax\": \"\"\n            },\n            \"infantCount\": {\n              \"count\": \"\",\n              \"countOption\": \"\",\n              \"minAge\": \"\",\n              \"maxAge\": \"\",\n              \"costDetails\": {\n                \"unit\": \"\",\n                \"amountBeforeTax\": \"\",\n                \"amountAfterTax\": \"\"\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}'",
        "customLabel": ""
      },
      {
        "id": "4j7EYyADbFTunTV5q5T0R",
        "language": "nodejs",
        "code": "var request = require('request');\nvar options = {\n   'method': 'POST',\n   'url': 'https://wsb.bakuun.com/v2/push-ari/CPB46/881826',\n   'headers': {\n      'Accept': 'application/json',\n      'Content-Type': 'application/json'\n   },\n   body: JSON.stringify({\n      \"sharePost\": \"String\",\n      \"sourceId\": \"String\",\n      \"propertyId\": \"String\",\n      \"startDateYmd\": \"String\",\n      \"endDateYmd\": \"String\",\n      \"action\": \"String\",\n      \"dailyRates\": {\n         \"roomId\": \"\",\n         \"rateId\": \"\",\n         \"currencyCode\": \"\",\n         \"priceDetails\": {\n            \"amountBeforeTax\": \"\",\n            \"amountAfterTax\": \"\",\n            \"occupancy\": {\n               \"guestCount\": \"\",\n               \"additionalAdultCount\": {\n                  \"count\": \"\",\n                  \"countOption\": \"\",\n                  \"costDetails\": {\n                     \"unit\": \"\",\n                     \"amountBeforeTax\": \"\",\n                     \"amountAfterTax\": \"\"\n                  },\n                  \"childCount\": {\n                     \"count\": \"\",\n                     \"countOption\": \"\",\n                     \"minAge\": \"\",\n                     \"maxAge\": \"\",\n                     \"costDetails\": {\n                        \"unit\": \"\",\n                        \"amountBeforeTax\": \"\",\n                        \"amountAfterTax\": \"\"\n                     },\n                     \"infantCount\": {\n                        \"count\": \"\",\n                        \"countOption\": \"\",\n                        \"minAge\": \"\",\n                        \"maxAge\": \"\",\n                        \"costDetails\": {\n                           \"unit\": \"\",\n                           \"amountBeforeTax\": \"\",\n                           \"amountAfterTax\": \"\"\n                        }\n                     }\n                  }\n               }\n            }\n         }\n      }\n   })\n\n};\nrequest(options, function (error, response) {\n   if (error) throw new Error(error);\n   console.log(response.body);\n});\n",
        "customLabel": ""
      },
      {
        "id": "hBjnc7ni-ZALaeADz6cyn",
        "language": "javascript",
        "code": "var myHeaders = new Headers();\nmyHeaders.append(\"Accept\", \"application/json\");\nmyHeaders.append(\"Content-Type\", \"application/json\");\n\nvar raw = JSON.stringify({\n   \"sharePost\": \"String\",\n   \"sourceId\": \"String\",\n   \"propertyId\": \"String\",\n   \"startDateYmd\": \"String\",\n   \"endDateYmd\": \"String\",\n   \"action\": \"String\",\n   \"dailyRates\": {\n      \"roomId\": \"\",\n      \"rateId\": \"\",\n      \"currencyCode\": \"\",\n      \"priceDetails\": {\n         \"amountBeforeTax\": \"\",\n         \"amountAfterTax\": \"\",\n         \"occupancy\": {\n            \"guestCount\": \"\",\n            \"additionalAdultCount\": {\n               \"count\": \"\",\n               \"countOption\": \"\",\n               \"costDetails\": {\n                  \"unit\": \"\",\n                  \"amountBeforeTax\": \"\",\n                  \"amountAfterTax\": \"\"\n               },\n               \"childCount\": {\n                  \"count\": \"\",\n                  \"countOption\": \"\",\n                  \"minAge\": \"\",\n                  \"maxAge\": \"\",\n                  \"costDetails\": {\n                     \"unit\": \"\",\n                     \"amountBeforeTax\": \"\",\n                     \"amountAfterTax\": \"\"\n                  },\n                  \"infantCount\": {\n                     \"count\": \"\",\n                     \"countOption\": \"\",\n                     \"minAge\": \"\",\n                     \"maxAge\": \"\",\n                     \"costDetails\": {\n                        \"unit\": \"\",\n                        \"amountBeforeTax\": \"\",\n                        \"amountAfterTax\": \"\"\n                     }\n                  }\n               }\n            }\n         }\n      }\n   }\n});\n\nvar requestOptions = {\n   method: 'POST',\n   headers: myHeaders,\n   body: raw,\n   redirect: 'follow'\n};\n\nfetch(\"https://wsb.bakuun.com/v2/push-ari/CPB46/881826\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));",
        "customLabel": ""
      },
      {
        "id": "Dnyk43Z6kfOGNbFdfvoBf",
        "language": "python",
        "code": "import requests\nimport json\n\nurl = \"https://wsb.bakuun.com/v2/push-ari/CPB46/881826\"\n\npayload = json.dumps({\n   \"sharePost\": \"String\",\n   \"sourceId\": \"String\",\n   \"propertyId\": \"String\",\n   \"startDateYmd\": \"String\",\n   \"endDateYmd\": \"String\",\n   \"action\": \"String\",\n   \"dailyRates\": {\n      \"roomId\": \"\",\n      \"rateId\": \"\",\n      \"currencyCode\": \"\",\n      \"priceDetails\": {\n         \"amountBeforeTax\": \"\",\n         \"amountAfterTax\": \"\",\n         \"occupancy\": {\n            \"guestCount\": \"\",\n            \"additionalAdultCount\": {\n               \"count\": \"\",\n               \"countOption\": \"\",\n               \"costDetails\": {\n                  \"unit\": \"\",\n                  \"amountBeforeTax\": \"\",\n                  \"amountAfterTax\": \"\"\n               },\n               \"childCount\": {\n                  \"count\": \"\",\n                  \"countOption\": \"\",\n                  \"minAge\": \"\",\n                  \"maxAge\": \"\",\n                  \"costDetails\": {\n                     \"unit\": \"\",\n                     \"amountBeforeTax\": \"\",\n                     \"amountAfterTax\": \"\"\n                  },\n                  \"infantCount\": {\n                     \"count\": \"\",\n                     \"countOption\": \"\",\n                     \"minAge\": \"\",\n                     \"maxAge\": \"\",\n                     \"costDetails\": {\n                        \"unit\": \"\",\n                        \"amountBeforeTax\": \"\",\n                        \"amountAfterTax\": \"\"\n                     }\n                  }\n               }\n            }\n         }\n      }\n   }\n})\nheaders = {\n   'Accept': 'application/json',\n   'Content-Type': 'application/json'\n}\n\nresponse = requests.request(\"POST\", url, headers=headers, data=payload)\n\nprint(response.text)\n",
        "customLabel": ""
      },
      {
        "id": "Ppjsi_H7uvXm_7JnanHKI",
        "language": "ruby",
        "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://wsb.bakuun.com/v2/push-ari/CPB46/881826\")\n\nhttps = Net::HTTP.new(url.host, url.port)\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Accept\"] = \"application/json\"\nrequest[\"Content-Type\"] = \"application/json\"\nrequest.body = JSON.dump({\n   \"sharePost\": \"String\",\n   \"sourceId\": \"String\",\n   \"propertyId\": \"String\",\n   \"startDateYmd\": \"String\",\n   \"endDateYmd\": \"String\",\n   \"action\": \"String\",\n   \"dailyRates\": {\n      \"roomId\": \"\",\n      \"rateId\": \"\",\n      \"currencyCode\": \"\",\n      \"priceDetails\": {\n         \"amountBeforeTax\": \"\",\n         \"amountAfterTax\": \"\",\n         \"occupancy\": {\n            \"guestCount\": \"\",\n            \"additionalAdultCount\": {\n               \"count\": \"\",\n               \"countOption\": \"\",\n               \"costDetails\": {\n                  \"unit\": \"\",\n                  \"amountBeforeTax\": \"\",\n                  \"amountAfterTax\": \"\"\n               },\n               \"childCount\": {\n                  \"count\": \"\",\n                  \"countOption\": \"\",\n                  \"minAge\": \"\",\n                  \"maxAge\": \"\",\n                  \"costDetails\": {\n                     \"unit\": \"\",\n                     \"amountBeforeTax\": \"\",\n                     \"amountAfterTax\": \"\"\n                  },\n                  \"infantCount\": {\n                     \"count\": \"\",\n                     \"countOption\": \"\",\n                     \"minAge\": \"\",\n                     \"maxAge\": \"\",\n                     \"costDetails\": {\n                        \"unit\": \"\",\n                        \"amountBeforeTax\": \"\",\n                        \"amountAfterTax\": \"\"\n                     }\n                  }\n               }\n            }\n         }\n      }\n   }\n})\n\nresponse = https.request(request)\nputs response.read_body\n",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "F6DFMY8yp37HbzLk13k1v"
  },
  "results": {
    "languages": [
      {
        "id": "Nk06oAPM-SJCHzGv2ZylY",
        "language": "200",
        "code": "{\n    \"success\": true,\n    \"trackingId\": \"xxxxxx\"\n}",
        "customLabel": ""
      },
      {
        "id": "xp3TwEAGik5AyK9JVHgRU",
        "language": "402",
        "code": "{\n    \"success\": false,\n    \"errors\": [\n        {\n            \"code\": 402,\n            \"message\": \"Invalid parameter\"\n        }\n    ],\n    \"trackingId\": \"xxxx\"\n    }",
        "customLabel": ""
      },
      {
        "id": "lAV04x-ysdGm3_SsnGHC7",
        "language": "404",
        "code": "{\n    \"success\": false,\n    \"errors\": [\n        {\n            \"code\": 404,\n            \"message\": \"Invalid start date\"\n        }\n    ]\n    }",
        "customLabel": ""
      },
      {
        "id": "mXok8K-nUBsnpLJ22KTle",
        "language": "405",
        "code": "{\n    \"success\": false,\n    \"errors\": [\n        {\n            \"code\": 405,\n            \"message\": \"Invalid end date\"\n        }\n    ],\n    \"trackingId\": \"68c168dd04829387650a476d\"\n    }",
        "customLabel": ""
      },
      {
        "id": "WCEyfpr--RexmCv0YiAgS",
        "language": "408",
        "code": "{\n    \"success\": false,\n    \"errors\": [\n        {\n            \"code\": 408,\n            \"message\": \"Processing error\"\n        }\n    ],\n    \"trackingId\": \"68c168dd04829387650a476d\"\n    }",
        "customLabel": ""
      },
      {
        "id": "o47UHRe8ZEsuhYi5Rlvcl",
        "language": "415",
        "code": "{\n    \"success\": false,\n    \"errors\": [\n        {\n            \"code\": 415,\n            \"message\": \"Invalid authentication key\"\n        }\n    ],\n    \"trackingId\": \"68c168dd04829387650a476d\"\n}",
        "customLabel": ""
      },
      {
        "id": "bY6marnhie6-kzGkeLKbs",
        "language": "416",
        "code": "{\n    \"success\": false,\n    \"errors\": [\n        {\n            \"code\": 416,\n            \"message\": \"Overlapping data range\"\n        }\n    ],\n    \"trackingId\": \"68c168dd04829387650a476d\"\n}",
        "customLabel": ""
      },
      {
        "id": "HF6dJkV-KVqKOoT_ujKbj",
        "language": "417",
        "code": "{\n    \"success\": false,\n    \"errors\": [\n        {\n            \"code\": 440,\n            \"message\": \"Invalid source ID\"\n        }\n    ],\n    \"trackingId\": \"68c168dd04829387650a476d\"\n}",
        "customLabel": ""
      },
      {
        "id": "4fpcQzPN0Hx0RP1xGnDmo",
        "language": "418",
        "code": "{\n    \"success\": false,\n    \"errors\": [\n        {\n            \"code\": 442,\n            \"message\": \"Endpoint is not active\"\n        }\n    ],\n    \"trackingId\": \"68c168dd04829387650a476d\"\n}",
        "customLabel": ""
      },
      {
        "id": "TmhCxf0m9aw57yUlhuuaJ",
        "language": "421",
        "code": "{\n    \"success\": false,\n    \"errors\": [\n        {\n            \"code\": 446,\n            \"message\": \"Invalid property mapping\"\n        }\n    ],\n    \"trackingId\": \"68c168dd04829387650a476d\"\n}",
        "customLabel": ""
      },
      {
        "id": "zW9yU5dUEvvqhh7n3gvgs",
        "language": "422",
        "code": "{\n    \"success\": false,\n    \"errors\": [\n        {\n            \"code\": 451,\n            \"message\": \"Invalid room mapping\"\n        }\n    ],\n    \"trackingId\": \"xxxx\"\n}",
        "customLabel": ""
      },
      {
        "id": "8DTaz7mwE3-eIGKDxSVcu",
        "language": "423",
        "code": "{\n    \"success\": false,\n    \"errors\": [\n        {\n            \"code\": 453,\n            \"message\": \"Mapping is not active\"\n        }\n    ],\n    \"trackingId\": \"68c168dd04829387650a476d\"\n}",
        "customLabel": ""
      },
      {
        "id": "mb14ROd0LiBV6sV9fWfzC",
        "language": "424",
        "code": "{\n    \"success\": false,\n    \"errors\": [\n        {\n            \"code\": 454,\n            \"message\": \"Invalid endpoint\"\n        }\n    ],\n    \"trackingId\": \"68c168dd04829387650a476d\"\n}",
        "customLabel": ""
      },
      {
        "id": "Bf1hdhBF0yoxKS1XjD6Bv",
        "language": "425",
        "code": "{\n    \"success\": false,\n    \"errors\": [\n        {\n            \"code\": 471,\n            \"message\": \"Channel ID blocked\"\n        }\n    ],\n    \"trackingId\": \"68c168dd04829387650a476d\"\n}",
        "customLabel": ""
      },
      {
        "id": "8ViCnRIkR8kwhnvfylNM_",
        "language": "426",
        "code": "{\n    \"success\": false,\n    \"errors\": [\n        {\n            \"code\": 453,\n            \"message\": \"Mapping is not active\"\n        }\n    ],\n    \"trackingId\": \"68c168dd04829387650a476d\"\n}",
        "customLabel": ""
      },
      {
        "id": "2P841Kkn9BOJgc9XDo1hJ",
        "language": "428",
        "code": "{\n    \"success\": false,\n    \"errors\": [\n        {\n            \"code\": 454,\n            \"message\": \"Invalid endpoint\"\n        }\n    ],\n    \"trackingId\": \"68c168dd04829387650a476d\"\n}",
        "customLabel": ""
      },
      {
        "id": "REZbdoRAH7pxZfF6O42Z7",
        "language": "429",
        "code": "{\n    \"success\": false,\n    \"errors\": [\n        {\n            \"code\": 452,\n            \"message\": \"Invalid rate plan mapping\"\n        }\n    ],\n    \"trackingId\": \"68c168dd04829387650a476d\"\n}",
        "customLabel": ""
      },
      {
        "id": "zcwpkCoaI2Gcs_LMjv5yy",
        "language": "500",
        "code": "{\n    \"success\": false,\n    \"errors\": [\n        {\n            \"code\": 500,\n            \"message\": \"Internal server error\"\n        }\n    ],\n    \"trackingId\": \"68c168dd04829387650a476d\"\n}",
        "customLabel": ""
      },
      {
        "id": "em_Kpv2oZfn8MCO7_f1SV",
        "language": "502",
        "code": "{\n    \"success\": false,\n    \"errors\": [\n        {\n            \"code\": 502,\n            \"message\": \"Bad gateway\"\n        }\n    ],\n    \"trackingId\": \"68c168dd04829387650a476d\"\n}",
        "customLabel": ""
      },
      {
        "id": "zzzE2J6Y7YZDula_qc4OD",
        "language": "503",
        "code": "{\n    \"success\": false,\n    \"errors\": [\n        {\n            \"code\": 503,\n            \"message\": \"Service unavailable\"\n        }\n    ],\n    \"trackingId\": \"68c168dd04829387650a476d\"\n}",
        "customLabel": ""
      },
      {
        "id": "B4wRfM8K9w0KuyctvGtOu",
        "language": "504",
        "code": "{\n    \"success\": false,\n    \"errors\": [\n        {\n            \"code\": 504,\n            \"message\": \"Endpoint request timed-out\"\n        }\n    ],\n    \"trackingId\": \"68c168dd04829387650a476d\"\n}",
        "customLabel": ""
      }
    ],
    "selectedLanguageId": "Nk06oAPM-SJCHzGv2ZylY"
  },
  "request": {
    "pathParameters": [],
    "queryParameters": [],
    "headerParameters": [],
    "bodyDataParameters": [
      {
        "name": "sharePost",
        "kind": "required",
        "type": "string",
        "description": "System-generated, human-readable secret API access key (unique per account).",
        "": "System-generated, human-readable secret API access key (unique per account)."
      },
      {
        "name": "sourceId",
        "kind": "required",
        "type": "string",
        "description": "Connectivity Partner identifier assigned by Bakuun (e.g. CPBXX)",
        "": "Connectivity Partner identifier assigned by Bakuun (e.g. CPBXX)"
      },
      {
        "name": "propertyId",
        "kind": "required",
        "type": "string",
        "description": "Unique property identifier (shared mapping between Bakuun and the Connectivity partner).",
        "": "Unique property identifier (shared mapping between Bakuun and the Connectivity partner)."
      },
      {
        "name": "startDateYmd",
        "kind": "required",
        "type": "string",
        "description": "Start date of the update range, formatted as YYYY-MM-DD.",
        "": "Start date of the update range, formatted as YYYY-MM-DD."
      },
      {
        "name": "endDateYmd",
        "kind": "required",
        "type": "string",
        "description": "End date of the update range, formatted as YYYY-MM-DD.",
        "": "End date of the update range, formatted as YYYY-MM-DD."
      },
      {
        "name": "action",
        "kind": "required",
        "type": "string",
        "description": "Always set as occPriceUpdate",
        "": "Always set as occPriceUpdate"
      },
      {
        "name": "dailyRates",
        "kind": "required",
        "type": "object",
        "description": "",
        "": "dailyRates",
        "children": [
          {
            "name": "roomId",
            "kind": "required",
            "type": "string",
            "description": "ID identifying the room type (as mapped between Bakuun and the Connectivity partner)."
          },
          {
            "name": "rateId",
            "kind": "required",
            "type": "string",
            "description": "ID identifying the rate type (as mapped between Bakuun and the Connectivity partner)."
          },
          {
            "name": "currencyCode",
            "kind": "required",
            "type": "string",
            "description": "3-letter ISO currency code (e.g. EUR, USD, SGD)."
          },
          {
            "name": "priceDetails",
            "kind": "required",
            "type": "object",
            "description": "List of base price + occupancy configurations for this room+rate. In v1 normally one element per request.",
            "children": [
              {
                "name": "amountBeforeTax",
                "kind": "required",
                "type": "string",
                "description": "Room amount before taxes/fees. N/A to clear the value."
              },
              {
                "name": "amountAfterTax",
                "kind": "required",
                "type": "string",
                "description": "Room amount after taxes/fees. N/A to clear the value."
              },
              {
                "name": "occupancy",
                "kind": "required",
                "type": "object",
                "description": "Occupancy-based pricing structure (base guests, extra adults, children, infants).",
                "children": [
                  {
                    "name": "guestCount",
                    "kind": "required",
                    "type": "integer",
                    "description": "Base number of adults included in the main room price. Accepted value between 1 to 12. "
                  },
                  {
                    "name": "additionalAdultCount",
                    "kind": "required",
                    "type": "object",
                    "description": "Extra adult pricing rules. Content and requirements depend on Extra Guest Rate / Extra Guest Count configuration.",
                    "children": [
                      {
                        "name": "count",
                        "kind": "required",
                        "type": "integer",
                        "description": "Extra adult quantity or \"na\" if not applicable, depending on configuration."
                      },
                      {
                        "name": "countOption",
                        "kind": "required",
                        "type": "string",
                        "description": "Logical operator for how the count rule is applied: \"and\", \"-\", \"or\", or \"na\" depending on configuration "
                      },
                      {
                        "name": "costDetails",
                        "kind": "optional",
                        "type": "object",
                        "description": "Pricing rules for extra adults (percentage or currency).",
                        "children": [
                          {
                            "name": "unit",
                            "kind": "required",
                            "type": "string",
                            "description": "Indicates how the extra charge is calculated , available options are \npercentage, currency, na.\n\n- Percentage  applies a relative mark-up or discount to the base rate (e.g., 10.00 = +10%), \n- Currency  adds a fixed amount per night in the room’s currency (e.g., 10.00 = +£10/night), \n- na  means the feature is not applicable and all related pricing fields must also be \"na\"."
                          },
                          {
                            "name": "amountBeforeTax",
                            "kind": "required",
                            "type": "string",
                            "description": "Extra adult amount before taxes/fees."
                          },
                          {
                            "name": "amountAfterTax",
                            "kind": "required",
                            "type": "string",
                            "description": "Extra adult amount after taxes/fees."
                          }
                        ]
                      },
                      {
                        "name": "childCount",
                        "kind": "required",
                        "type": "object",
                        "description": "Defines the pricing rules for children, including quantity, age bands, and cost configuration; values and required fields depend on the Child Rate, Child Age, and Child Count settings, and may include \"na\" when the feature is not applicable.",
                        "children": [
                          {
                            "name": "count",
                            "kind": "required",
                            "type": "integer",
                            "description": "Child quantity or \"na\", depending on Child Count configuration. In some modes must be 1–6, in others must be \"na\"."
                          },
                          {
                            "name": "countOption",
                            "kind": "required",
                            "type": "string",
                            "description": "\"and\", \"-\", \"or\", or \"na\" depending on account configuration"
                          },
                          {
                            "name": "minAge",
                            "kind": "required",
                            "type": "string",
                            "description": "Minimum age in this child band (or \"na\" if taken from Room Condition). Accepted value from 0 to 17"
                          },
                          {
                            "name": "maxAge",
                            "kind": "required",
                            "type": "string",
                            "description": "Maximum age for this child band (or \"na\" if inherited from Room Condition); must be equal to or greater than minAge and cannot exceed 17."
                          },
                          {
                            "name": "costDetails",
                            "kind": "required",
                            "type": "object",
                            "description": "Pricing rules for child (percentage or currency).",
                            "children": [
                              {
                                "name": "unit",
                                "kind": "required",
                                "type": "string",
                                "description": "Indicates how the extra charge is calculated , available options are \npercentage, currency, na.\n\n- Percentage  applies a relative mark-up or discount to the base rate (e.g., 10.00 = +10%), \n- Currency  adds a fixed amount per night in the room’s currency (e.g., 10.00 = +£10/night), \n- na  means the feature is not applicable and all related pricing fields must also be \"na\"."
                              },
                              {
                                "name": "amountBeforeTax",
                                "kind": "required",
                                "type": "string",
                                "description": "Child amount before taxes/fees."
                              },
                              {
                                "name": "amountAfterTax",
                                "kind": "required",
                                "type": "string",
                                "description": "Child amount after taxes/fees."
                              }
                            ]
                          },
                          {
                            "name": "infantCount",
                            "kind": "required",
                            "type": "object",
                            "description": "Defines the pricing rules for infant, including quantity, age bands, and cost configuration; values and required fields depend on the Infant Rate, Infant Age, and Infant Count settings, and may include \"na\" when the feature is not applicable.",
                            "children": [
                              {
                                "name": "count",
                                "kind": "required",
                                "type": "integer",
                                "description": "Infant quantity or \"na\", depending on Infant Count configuration. In some modes must be 1–6, in others must be \"na\"."
                              },
                              {
                                "name": "countOption",
                                "kind": "required",
                                "type": "string",
                                "description": "\"and\", \"-\", \"or\", or \"na\" depending on account configuration"
                              },
                              {
                                "name": "minAge",
                                "kind": "required",
                                "type": "string",
                                "description": "Minimum age in this infant band (or \"na\" if taken from Room Condition). Accepted value from 0 to 17"
                              },
                              {
                                "name": "maxAge",
                                "kind": "required",
                                "type": "string",
                                "description": "Maximum age for this infant band (or \"na\" if inherited from Room Condition); must be equal to or greater than minAge and cannot exceed 17."
                              },
                              {
                                "name": "costDetails",
                                "kind": "required",
                                "type": "object",
                                "description": "Pricing rules for infant (percentage or currency).",
                                "children": [
                                  {
                                    "name": "unit",
                                    "kind": "required",
                                    "type": "string",
                                    "description": "Indicates how the extra charge is calculated , available options are \npercentage, currency, na.\n\n- Percentage  applies a relative mark-up or discount to the base rate (e.g., 10.00 = +10%), \n- Currency  adds a fixed amount per night in the room’s currency (e.g., 10.00 = +£10/night), \n- na  means the feature is not applicable and all related pricing fields must also be \"na\"."
                                  },
                                  {
                                    "name": "amountBeforeTax",
                                    "kind": "required",
                                    "type": "string",
                                    "description": "Infant amount before taxes/fees."
                                  },
                                  {
                                    "name": "amountAfterTax",
                                    "kind": "required",
                                    "type": "string",
                                    "description": "Infant amount after taxes/fees."
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "schema": [
          {
            "name": "roomId",
            "kind": "required",
            "type": "string",
            "description": "ID identifying the room type (as mapped between Bakuun and the Connectivity partner)."
          },
          {
            "name": "rateId",
            "kind": "required",
            "type": "string",
            "description": "ID identifying the rate type (as mapped between Bakuun and the Connectivity partner)."
          },
          {
            "name": "currencyCode",
            "kind": "required",
            "type": "string",
            "description": "3-letter ISO currency code (e.g. EUR, USD, SGD)."
          },
          {
            "name": "priceDetails",
            "kind": "required",
            "type": "object",
            "description": "List of base price + occupancy configurations for this room+rate. In v1 normally one element per request.",
            "children": [
              {
                "name": "amountBeforeTax",
                "kind": "required",
                "type": "string",
                "description": "Room amount before taxes/fees. N/A to clear the value."
              },
              {
                "name": "amountAfterTax",
                "kind": "required",
                "type": "string",
                "description": "Room amount after taxes/fees. N/A to clear the value."
              },
              {
                "name": "occupancy",
                "kind": "required",
                "type": "object",
                "description": "Occupancy-based pricing structure (base guests, extra adults, children, infants).",
                "children": [
                  {
                    "name": "guestCount",
                    "kind": "required",
                    "type": "integer",
                    "description": "Base number of adults included in the main room price. Accepted value between 1 to 12. "
                  },
                  {
                    "name": "additionalAdultCount",
                    "kind": "required",
                    "type": "object",
                    "description": "Extra adult pricing rules. Content and requirements depend on Extra Guest Rate / Extra Guest Count configuration.",
                    "children": [
                      {
                        "name": "count",
                        "kind": "required",
                        "type": "integer",
                        "description": "Extra adult quantity or \"na\" if not applicable, depending on configuration."
                      },
                      {
                        "name": "countOption",
                        "kind": "required",
                        "type": "string",
                        "description": "Logical operator for how the count rule is applied: \"and\", \"-\", \"or\", or \"na\" depending on configuration "
                      },
                      {
                        "name": "costDetails",
                        "kind": "optional",
                        "type": "object",
                        "description": "Pricing rules for extra adults (percentage or currency).",
                        "children": [
                          {
                            "name": "unit",
                            "kind": "required",
                            "type": "string",
                            "description": "Indicates how the extra charge is calculated , available options are \npercentage, currency, na.\n\n- Percentage  applies a relative mark-up or discount to the base rate (e.g., 10.00 = +10%), \n- Currency  adds a fixed amount per night in the room’s currency (e.g., 10.00 = +£10/night), \n- na  means the feature is not applicable and all related pricing fields must also be \"na\"."
                          },
                          {
                            "name": "amountBeforeTax",
                            "kind": "required",
                            "type": "string",
                            "description": "Extra adult amount before taxes/fees."
                          },
                          {
                            "name": "amountAfterTax",
                            "kind": "required",
                            "type": "string",
                            "description": "Extra adult amount after taxes/fees."
                          }
                        ]
                      },
                      {
                        "name": "childCount",
                        "kind": "required",
                        "type": "object",
                        "description": "Defines the pricing rules for children, including quantity, age bands, and cost configuration; values and required fields depend on the Child Rate, Child Age, and Child Count settings, and may include \"na\" when the feature is not applicable.",
                        "children": [
                          {
                            "name": "count",
                            "kind": "required",
                            "type": "integer",
                            "description": "Child quantity or \"na\", depending on Child Count configuration. In some modes must be 1–6, in others must be \"na\"."
                          },
                          {
                            "name": "countOption",
                            "kind": "required",
                            "type": "string",
                            "description": "\"and\", \"-\", \"or\", or \"na\" depending on account configuration"
                          },
                          {
                            "name": "minAge",
                            "kind": "required",
                            "type": "string",
                            "description": "Minimum age in this child band (or \"na\" if taken from Room Condition). Accepted value from 0 to 17"
                          },
                          {
                            "name": "maxAge",
                            "kind": "required",
                            "type": "string",
                            "description": "Maximum age for this child band (or \"na\" if inherited from Room Condition); must be equal to or greater than minAge and cannot exceed 17."
                          },
                          {
                            "name": "costDetails",
                            "kind": "required",
                            "type": "object",
                            "description": "Pricing rules for child (percentage or currency).",
                            "children": [
                              {
                                "name": "unit",
                                "kind": "required",
                                "type": "string",
                                "description": "Indicates how the extra charge is calculated , available options are \npercentage, currency, na.\n\n- Percentage  applies a relative mark-up or discount to the base rate (e.g., 10.00 = +10%), \n- Currency  adds a fixed amount per night in the room’s currency (e.g., 10.00 = +£10/night), \n- na  means the feature is not applicable and all related pricing fields must also be \"na\"."
                              },
                              {
                                "name": "amountBeforeTax",
                                "kind": "required",
                                "type": "string",
                                "description": "Child amount before taxes/fees."
                              },
                              {
                                "name": "amountAfterTax",
                                "kind": "required",
                                "type": "string",
                                "description": "Child amount after taxes/fees."
                              }
                            ]
                          },
                          {
                            "name": "infantCount",
                            "kind": "required",
                            "type": "object",
                            "description": "Defines the pricing rules for infant, including quantity, age bands, and cost configuration; values and required fields depend on the Infant Rate, Infant Age, and Infant Count settings, and may include \"na\" when the feature is not applicable.",
                            "children": [
                              {
                                "name": "count",
                                "kind": "required",
                                "type": "integer",
                                "description": "Infant quantity or \"na\", depending on Infant Count configuration. In some modes must be 1–6, in others must be \"na\"."
                              },
                              {
                                "name": "countOption",
                                "kind": "required",
                                "type": "string",
                                "description": "\"and\", \"-\", \"or\", or \"na\" depending on account configuration"
                              },
                              {
                                "name": "minAge",
                                "kind": "required",
                                "type": "string",
                                "description": "Minimum age in this infant band (or \"na\" if taken from Room Condition). Accepted value from 0 to 17"
                              },
                              {
                                "name": "maxAge",
                                "kind": "required",
                                "type": "string",
                                "description": "Maximum age for this infant band (or \"na\" if inherited from Room Condition); must be equal to or greater than minAge and cannot exceed 17."
                              },
                              {
                                "name": "costDetails",
                                "kind": "required",
                                "type": "object",
                                "description": "Pricing rules for infant (percentage or currency).",
                                "children": [
                                  {
                                    "name": "unit",
                                    "kind": "required",
                                    "type": "string",
                                    "description": "Indicates how the extra charge is calculated , available options are \npercentage, currency, na.\n\n- Percentage  applies a relative mark-up or discount to the base rate (e.g., 10.00 = +10%), \n- Currency  adds a fixed amount per night in the room’s currency (e.g., 10.00 = +£10/night), \n- na  means the feature is not applicable and all related pricing fields must also be \"na\"."
                                  },
                                  {
                                    "name": "amountBeforeTax",
                                    "kind": "required",
                                    "type": "string",
                                    "description": "Infant amount before taxes/fees."
                                  },
                                  {
                                    "name": "amountAfterTax",
                                    "kind": "required",
                                    "type": "string",
                                    "description": "Infant amount after taxes/fees."
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]
      }
    ],
    "formDataParameters": []
  },
  "currentNewParameter": {
    "label": "Body Parameter",
    "value": "bodyDataParameters"
  },
  "hasTryItOut": false,
  "response": [
    {
      "name": "success",
      "kind": "optional",
      "type": "boolean",
      "description": ""
    },
    {
      "name": "trackingId",
      "kind": "optional",
      "type": "string",
      "description": "",
      "children": []
    }
  ],
  "autoGeneratedAnchorSlug": "occupany-based-rates",
  "legacyHash": "vzhSUehopTtLCuG25WWeH"
}
```
:::

