---
title: "Get the rendered smart policy text and scheduled payments for a reservation."
method: GET
path: "/smart-policies/v1/reservations/{reservationId}/policy-information"
tags: ["Smart Policies"]
---

# Get the rendered smart policy text and scheduled payments for a reservation.

`GET /smart-policies/v1/reservations/{reservationId}/policy-information`

## Request

- Base URL: `https://api.cloudbeds.com`
- URL: `https://api.cloudbeds.com/smart-policies/v1/reservations/{reservationId}/policy-information`
- Auth: OAuth 2
  - Authorization code: `https://api.cloudbeds.com/auth/oauth/authorize`
  - Token URL: `https://api.cloudbeds.com/auth/oauth/token` scopes: `read:reservation`

## Path parameters

- `reservationId` ReservationId, required (unresolved $ref)

## Query parameters

- `languageCode` string, nullable

## Headers

- `x-property-id` string, required

## Response `200`

Policy information for the reservation. When the reservation is not governed by a smart policy, falls back to the property's legacy cancellation policy text (policyTextSource="legacy"); when neither is available, returns a null policyText rather than an error.

- BookingPolicyInformationResponseSchema
  - `policyText` PolicyTextSchema, required
    - `id` string, nullable, required: Smart policy ID; null when the text comes from the legacy policy fallback.
    - `name` string, nullable, required: Smart policy name; null when the text comes from the legacy policy fallback.
    - `rootId` string, nullable, required: Root ID of the smart policy version chain; null when the text comes from the legacy policy fallback.
    - `guaranteeText` string, required: Human-readable guarantee / payment policy text; empty when the text comes from the legacy policy fallback (which only provides cancellation text).
    - `cancellationText` string, required: Human-readable cancellation policy text.
    - `noShowText` string, required: Human-readable no-show policy text; empty when the policy has none.
    - `additionalPolicyText` string, required: Additional free-form policy text configured by the property; empty when none.
    - `cancellationType` PolicyCancellationTypeSchema
      - `text` string, required: Human-readable cancellation type label.
      - `type` 'FULLY_REFUNDABLE' | 'PARTIALLY_REFUNDABLE' | 'NON_REFUNDABLE', required: Machine-readable cancellation type.
      - `fullyRefundableUntilDaysBeforeCheckIn` integer, nullable: Days before check-in midnight until which the reservation is fully refundable (floored, legacy field); null when not applicable.
      - `fullyRefundableUntilDaysBeforeDate` string, nullable: ISO date (YYYY-MM-DD) of the refund deadline (legacy, day-rounded); null when not applicable.
      - `fullyRefundableUntilDateTime` string, date-time, nullable: Exact ISO 8601 datetime of the refund deadline; null when not applicable.
      - `fullyRefundableUntilMinutesBeforeCheckIn` integer, nullable: Minutes before check-in date midnight (not check-in time) of the refund deadline; null when not applicable.
    - `paymentSummaryRows` PolicySummaryRowSchema[], nullable: Payment milestone rows for timeline display; null when not available.
      - `timingLabel` string, required: When the row applies, as display copy.
      - `actionCopy` string, required: What happens at that time, as display copy.
      - `detail` string, nullable: Additional detail for the row; null when there is none.
      - `anchor` string, nullable: Machine-readable anchor the timing is relative to; null when not applicable.
      - `anchorOffsetMinutes` integer, nullable: Offset from the anchor in minutes; null when not applicable.
      - `dateTime` string, date-time, nullable: Resolved ISO 8601 datetime for the row; null when not resolvable.
    - `cancellationSummaryRows` PolicySummaryRowSchema[], nullable: Cancellation milestone rows for timeline display; null when not available.
      - `timingLabel` string, required: When the row applies, as display copy.
      - `actionCopy` string, required: What happens at that time, as display copy.
      - `detail` string, nullable: Additional detail for the row; null when there is none.
      - `anchor` string, nullable: Machine-readable anchor the timing is relative to; null when not applicable.
      - `anchorOffsetMinutes` integer, nullable: Offset from the anchor in minutes; null when not applicable.
      - `dateTime` string, date-time, nullable: Resolved ISO 8601 datetime for the row; null when not resolvable.
    - `noShowSummaryRows` PolicySummaryRowSchema[], nullable: No-show milestone rows for timeline display; null when not available.
      - `timingLabel` string, required: When the row applies, as display copy.
      - `actionCopy` string, required: What happens at that time, as display copy.
      - `detail` string, nullable: Additional detail for the row; null when there is none.
      - `anchor` string, nullable: Machine-readable anchor the timing is relative to; null when not applicable.
      - `anchorOffsetMinutes` integer, nullable: Offset from the anchor in minutes; null when not applicable.
      - `dateTime` string, date-time, nullable: Resolved ISO 8601 datetime for the row; null when not resolvable.
  - `scheduledPayments` ScheduledPaymentDisplayItemSchema[], required: Upcoming scheduled payments (deposit and installments), pre-formatted for display. Empty for canceled and no-show reservations.
    - `formattedDate` string, required: Payment collection date, formatted for display in the property's locale.
    - `formattedAmountWithIsoCode` string, required: Payment amount formatted with the ISO 4217 currency code.
    - `formattedAmountWithSymbol` string, required: Payment amount formatted with the currency symbol.
    - `type` string, required: Scheduled payment type.
  - `policyTextSource` 'smart' | 'legacy', nullable, required: Where policyText came from: "smart" when rendered from the reservation's smart policy, "legacy" when it is the property's legacy cancellation policy text. Null when policyText is null.

## Other responses

- `400`: Bad request response.
- `403`: The API client is not authorized for this property or lacks the required scope.
- `404`: No reservation with the given identifier exists for the requesting property.
- `500`: Internal server error.

---

[API](https://skmtc.dev/cloudbeds/apis/cloudbeds-api-v2.md) - [All operations](https://skmtc.dev/cloudbeds/apis/cloudbeds-api-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/cloudbeds/apis/cloudbeds-api-v2/revisions/69bffac143cc?raw)
