Rate Plans

Create a new Rate Plan.

post/rates/v1/rate-plans

Request

  • Base URL
    https://api.cloudbeds.com
  • URL
    https://api.cloudbeds.com/rates/v1/rate-plans
  • Auth
    OAuth 2
    Authorization code: https://api.cloudbeds.com/auth/oauth/authorize
    Token URL: https://api.cloudbeds.com/auth/oauth/token scopes: write:rate

Headers

x-property-idstring required
Example:1,2,3

A numeric, comma-separated string representing the property IDs, sent in the header.

Request body

isActiveboolean required

The status of the rate plan.

roomTypeIdinteger required

The room type ID assigned to this rate plan.

nameobject required

Name in multiple languages.

descriptionobject required

Description in multiple languages.

namePrivateobject required

Internal name in multiple languages.

allotmentBlockIdstring nullable

The allotment block's ID this rate belongs to.

promoCodestring nullable

Promotional code for the rate plan.

sourcesstring[] nullable

List of sources for the rate plan.

derivedValuenumber float nullable

Value for the derived rate plan.

derivedRatePlanIdinteger nullable

Derived rate plan ID.

derivedType'fixed' | 'percentage'

Rate plan derived type.

termsobject nullable

Terms and conditions in multiple languages.

segmentIdinteger nullable

Segment ID associated with the rate plan.

policyIdinteger nullable

Policy ID associated with the rate plan.

Example request

{
  "isActive": true,
  "roomTypeId": 123,
  "name": {
    "en": "Standard Rate",
    "es": "Tarifa Estándar"
  },
  "description": {
    "en": "Our standard rate plan",
    "es": "Nuestro plan de tarifas estándar"
  },
  "namePrivate": {
    "en": "Standard Internal",
    "es": "Estándar Interno"
  },
  "allotmentBlockId": "4567",
  "promoCode": "SUMMER2023",
  "sources": [
    "source1",
    "source2"
  ],
  "derivedValue": 150.5,
  "derivedRatePlanId": 456,
  "terms": {
    "en": "Standard terms apply",
    "es": "Se aplican términos estándar"
  },
  "intervals": [
    {
      "startDate": "2025-01-27",
      "endDate": "2025-02-27",
      "name": "Winter Season",
      "roomTypeId": "82828",
      "minLos": 1,
      "maxLos": 10,
      "eventCode": "990",
      "cutOff": 3,
      "lastMinuteBooking": 1,
      "limitToNumberOfRooms": 5
    }
  ],
  "addons": [
    {
      "settings": "package_inclusive"
    }
  ],
  "segmentId": 789,
  "policyId": 321
}

Response

Created Rate Plan.

idstring
propertyIdstring nullable
isActiveboolean
status'active' | 'expired' | 'no-intervals' | 'disabled'

Derived from isActive and the intervals' end dates, using the property's current date. disabled: isActive is false. no-intervals: active with no intervals. expired: active and every interval's endDate is in the past. active: active with at least one interval whose endDate is today or later (or has no endDate).

isDeletedboolean
derivedRatePlanIdstring nullable
isDerivedboolean
derivedTypestring nullable
derivedValuenumber float nullable
promoCodestring nullable
sourcesstring[] nullable
nameobject nullable
descriptionobject nullable
namePrivateobject nullable
termsobject nullable
createdAtstring date-time nullable
updatedAtstring date-time nullable
policyIdstring nullable
segmentIdstring nullable
mealPlansstring[] required

Meal plans carried by the add-ons listed in addons (any attachment setting), as raw keys (not localized labels), deduplicated. Empty when none of them is a meal plan.

Example response

{
  "propertyId": "9876",
  "isActive": true,
  "status": "active",
  "derivedRatePlanId": "456",
  "isDerived": true,
  "derivedType": "fixed",
  "derivedValue": 150.5,
  "addons": [
    {
      "id": "1234567",
      "addonId": "4674899",
      "settings": "package_inclusive"
    }
  ],
  "promoCode": "SUMMER2023",
  "sources": [
    "source1",
    "source2"
  ],
  "name": {
    "en": "Standard Rate",
    "es": "Tarifa Estándar"
  },
  "description": {
    "en": "Our standard rate plan",
    "es": "Nuestro plan de tarifas estándar"
  },
  "namePrivate": {
    "en": "Standard Internal",
    "es": "Estándar Interno"
  },
  "terms": {
    "en": "Standard terms apply",
    "es": "Se aplican términos estándar"
  },
  "intervals": [
    {
      "name": "BaseRate1",
      "ratePlanId": 123,
      "roomTypeId": 456,
      "startDate": "2025-07-03",
      "endDate": "2025-07-10",
      "minLos": 1,
      "days": [
        60,
        50,
        50,
        50,
        50,
        65.99,
        65.99
      ],
      "adultDays": {
        "1": {
          "3": 20,
          "4": 20
        },
        "5": {
          "3": 35,
          "4": 35
        }
      },
      "childDays": {
        "1": {
          "1": 5,
          "2": 10
        },
        "5": {
          "1": 10,
          "2": 15
        }
      },
      "cutOff": 3,
      "lastMinuteBooking": 1,
      "limitToNumberOfRooms": 5,
      "agePolicyPricing": [
        {
          "ageGroupId": 7,
          "extraGuestsType": "per_age_group",
          "days": [
            {
              "dayOfWeek": 1,
              "priceAmount": "12.00",
              "priceCurrency": "USD"
            }
          ]
        }
      ]
    }
  ],
  "createdAt": "2023-10-01T12:00:00+00:00",
  "updatedAt": "2023-10-01T12:00:00+00:00",
  "policyId": "9888000",
  "segmentId": "789",
  "mealPlans": [
    "breakfast",
    "dinner"
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.