RatePlan

Create a rate plan

Use this call to create a new rate plan. The rate plan will already contain empty rates, fill them later using PUT rates.<br>You must have at least one of these scopes: 'rateplans.create, setup.manage'.

post/rateplan/v1/rate-plans

Headers

Idempotency-Keystring

Unique key for safely retrying requests without accidentally performing the same operation twice. We'll always send back the same response for requests made with the same key, and keys can't be reused with different request parameters. Keys expire after 24 hours.

Request body

codestring required

The code for the rate plan that can be shown in reports and table views

propertyIdstring required

The id of the property for which the rate plan will be created

unitGroupIdstring required

The id of the unit group offered with this rate plan

cancellationPolicyIdstring required

The id of the cancellation policy valid for this rate plan

noShowPolicyIdstring nullable

The id of the no-show policy valid for this rate plan

channelCodesstring[] required

The channel codes the rate plan is sold through

promoCodesstring[] nullable

The rate codes for promotional and hidden rates. If at least one code is set the rate will be not publicly visible anymore and only be offered when one of the promo codes is given in the offer request. For backward compatibility it is still not possible to set multiple promo codes.

isSubjectToCityTaxboolean nullable

Whether the rate plan is subject to city tax or not. Default value is true

timeSliceDefinitionIdstring required

Defines the time periods for which the unit group related to this rate plan is rented out

nameobject required

The name for the rate plan

descriptionobject required

The description for the rate plan

minGuaranteeType'PM6Hold' | 'CreditCard' | 'Prepayment' | 'Company' required

The minimum guarantee to be provided when this rate plan is booked so the reservation will be guaranteed to the guest

priceCalculationMode'Truncate' | 'Round' nullable

The calculation mode is used when calculating the adults' surcharges and derived rates. Defaults to Truncate. Example: for a rate of 125.99 and a surcharge of +10%, when Truncate is selected, the result would be 125.99 + 12 = 137.99 When Round is selected, the result would be 125.99 + 12.60 = 138.59

marketSegmentIdstring nullable

The id of the market segment for this rate plan

Example request

{
  "code": "NONREF",
  "propertyId": "MUC",
  "unitGroupId": "MUC-DBL",
  "cancellationPolicyId": "MUC-FLE",
  "channelCodes": [
    "Direct",
    "BookingCom",
    "Ibe"
  ],
  "promoCodes": [
    "APA55100",
    "DISCOUNT20"
  ],
  "isSubjectToCityTax": true,
  "timeSliceDefinitionId": "MUC-NIGHT",
  "name": {
    "de": "Nicht Stornierbar",
    "en": "Non Refundable"
  },
  "description": {
    "de": "Nicht Stornierbar",
    "en": "Non Refundable"
  },
  "minGuaranteeType": "PM6Hold",
  "priceCalculationMode": "Truncate",
  "bookingPeriods": [
    {
      "from": "2026-08-27T11:46:04.6206305+02:00",
      "to": "2026-09-10T11:46:04.6206305+02:00"
    },
    {
      "from": "2026-09-13T11:46:04.6206305+02:00",
      "to": "2026-11-02T11:46:04.6206305+02:00"
    }
  ],
  "restrictions": {
    "minAdvance": {
      "hours": 12,
      "days": 180
    },
    "maxAdvance": {
      "months": 24
    }
  },
  "pricingRule": {
    "baseRatePlanId": "MUC-NONREF-SGL",
    "type": "Absolute",
    "value": 20
  },
  "surcharges": [
    {
      "adults": 2,
      "type": "Absolute",
      "value": 10
    }
  ],
  "ageCategories": [
    {
      "id": "MUC-BABY",
      "surcharges": [
        {
          "adults": 1,
          "value": 20
        }
      ]
    }
  ],
  "includedServices": [
    {
      "serviceId": "MUC-BRKF",
      "grossPrice": {
        "amount": 10,
        "currency": "EUR"
      }
    }
  ],
  "companies": [
    {
      "id": "MUC-APA",
      "corporateCode": "APA-DBL"
    }
  ],
  "accountingConfigs": [
    {
      "state": "Unknown",
      "vatType": "Normal",
      "serviceType": "FoodAndBeverages",
      "subAccountId": "ALCO",
      "validFrom": "2021-01-01"
    }
  ],
  "marketSegmentId": "BUSR"
}

Response

Creation of the new rate plan was successful.

idstring required

The rate plan id

Example response

{
  "id": "MUC-NONREF-DBL"
}

Changes

No recorded changes to this endpoint across all 2 revisions of this API.