Negotiated Rates
Negotiated rates enable you to pass rate access codes for certain stays accommodation or a chain to our sources
Schema
Endpoint
DELETE https://api.duffel.com/stays/negotiated_rates/{id}
Request
curl -X DELETE --compressed "https://api.duffel.com/stays/negotiated_rates/{id}" \-H "Accept-Encoding: gzip" \-H "Accept: application/json" \-H "Content-Type: application/json" \-H "Duffel-Version: v2" \-H "Authorization: Bearer <YOUR_ACCESS_TOKEN>"
Response
{"data": {"rate_access_code": "DUFFEL","live_mode": false,"id": "nre_0000AvtkNoC81yBytDM9PE","display_name": "2025 Negotiated Rate","chain_id": "chn_0000B6QFxO9EOY5cqw5kYK","accommodation_ids": ["acc_0000AWr2VsUNIF1Vl91xg0"]}}
Endpoint
GET https://api.duffel.com/stays/negotiated_rates/{id}
Request
curl -X GET --compressed "https://api.duffel.com/stays/negotiated_rates/{id}" \-H "Accept-Encoding: gzip" \-H "Accept: application/json" \-H "Content-Type: application/json" \-H "Duffel-Version: v2" \-H "Authorization: Bearer <YOUR_ACCESS_TOKEN>"
Response
{"data": {"rate_access_code": "DUFFEL","live_mode": false,"id": "nre_0000AvtkNoC81yBytDM9PE","display_name": "2025 Negotiated Rate","chain_id": "chn_0000B6QFxO9EOY5cqw5kYK","accommodation_ids": ["acc_0000AWr2VsUNIF1Vl91xg0"]}}
Update a negotiated rate
Update a negotiated rate with the given parameters. Only the display name, list of accommodation IDs or chain ID can be modified.
Body parameters
The ID of the hotel chain this negotiated rate is valid for. Mutually exclusive with accommodation_ids
"chn_0000B6QFxO9EOY5cqw5kYK"Endpoint
PATCH https://api.duffel.com/stays/negotiated_rates/{id}
Request
curl -X PATCH --compressed "https://api.duffel.com/stays/negotiated_rates/{id}" \-H "Accept-Encoding: gzip" \-H "Accept: application/json" \-H "Content-Type: application/json" \-H "Duffel-Version: v2" \-H "Authorization: Bearer <YOUR_ACCESS_TOKEN>" \-d '{"data": {"display_name": "2025 Negotiated Rate","chain_id": "chn_0000B6QFxO9EOY5cqw5kYK","accommodation_ids": ["acc_0000AWr2VsUNIF1Vl91xg0"]}}'
Response
{"data": {"rate_access_code": "DUFFEL","live_mode": false,"id": "nre_0000AvtkNoC81yBytDM9PE","display_name": "2025 Negotiated Rate","chain_id": "chn_0000B6QFxO9EOY5cqw5kYK","accommodation_ids": ["acc_0000AWr2VsUNIF1Vl91xg0"]}}
List negotiated rates
Lists negotiated rates made for your organisation.
Query parameters
A cursor pointing to the previous page of records. For more information on how to paginate through records, see the Pagination section.
"g2wAAAACbQAAABBBZXJvbWlzdC1LaGFya2l2bQAAAB="A cursor pointing to the next page of records. For more information on how to paginate through records, see the Pagination section.
"g2wAAAACbQAAABBBZXJvbWlzdC1LaGFya2l2bQAAAB="The maximum number of records to return per page. Defaults to 50.
May be set to any integer between 1 and 200. For more information on how to paginate through records, see the Pagination section.
150Endpoint
GET https://api.duffel.com/stays/negotiated_rates
Request
curl -X GET --compressed "https://api.duffel.com/stays/negotiated_rates?after=g2wAAAACbQAAABBBZXJvbWlzdC1LaGFya2l2bQAAAB=&before=g2wAAAACbQAAABBBZXJvbWlzdC1LaGFya2l2bQAAAB=&limit=1" \-H "Accept-Encoding: gzip" \-H "Accept: application/json" \-H "Content-Type: application/json" \-H "Duffel-Version: v2" \-H "Authorization: Bearer <YOUR_ACCESS_TOKEN>"
Response
{"meta": {"limit": 50,"after": "g2wAAAACbQAAABBBZXJvbWlzdC1LaGFya2l2bQAAAB="},"data": [{"rate_access_code": "DUFFEL","live_mode": false,"id": "nre_0000AvtkNoC81yBytDM9PE","display_name": "2025 Negotiated Rate","chain_id": "chn_0000B6QFxO9EOY5cqw5kYK","accommodation_ids": ["acc_0000AWr2VsUNIF1Vl91xg0"]}]}
Creating a negotiated rate
To create a negotiated rate you need to provide the rate access code (RAC), the display name, and list of accommodation IDs or chain ID the RAC has been loaded for.
Body parameters
Endpoint
POST https://api.duffel.com/stays/negotiated_rates
Request
curl -X POST --compressed "https://api.duffel.com/stays/negotiated_rates" \-H "Accept-Encoding: gzip" \-H "Accept: application/json" \-H "Content-Type: application/json" \-H "Duffel-Version: v2" \-H "Authorization: Bearer <YOUR_ACCESS_TOKEN>" \-d '{"data": {"rate_access_code": "DUFFEL","display_name": "2025 Negotiated Rate","chain_id": "chn_0000B6QFxO9EOY5cqw5kYK","accommodation_ids": ["acc_0000AWr2VsUNIF1Vl91xg0"]}}'
Response
{"data": {"rate_access_code": "DUFFEL","live_mode": false,"id": "nre_0000AvtkNoC81yBytDM9PE","display_name": "2025 Negotiated Rate","chain_id": "chn_0000B6QFxO9EOY5cqw5kYK","accommodation_ids": ["acc_0000AWr2VsUNIF1Vl91xg0"]}}