openapi: 3.2.0 info: title: RentalReady Pricing API version: 1.0.0 (api) description: 'This API enables you to access and update resources from RentalReady (GuestReady PMS) ### Throttling Our API supports up to 400 requests per minute ' servers: - url: https://pms.rentalready.io/api/v3/ description: Base URL declared by the provider in apis.yml (roadmap#122). tags: - name: pricing paths: /api/v3/pricing/: get: operationId: pricing_list parameters: - name: limit required: false in: query description: Number of results to return per page. schema: type: integer - name: offset required: false in: query description: The initial index from which to return the results. schema: type: integer tags: - pricing security: - oauth2: - pricing:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedPricingConfigurationList' description: '' post: operationId: pricing_create tags: - pricing requestBody: content: application/json: schema: $ref: '#/components/schemas/PricingConfiguration' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PricingConfiguration' multipart/form-data: schema: $ref: '#/components/schemas/PricingConfiguration' required: true security: - oauth2: - pricing:write responses: '201': content: application/json: schema: $ref: '#/components/schemas/PricingConfiguration' description: '' /api/v3/pricing/{rental_id}/: get: operationId: pricing_retrieve parameters: - in: path name: rental_id schema: type: string title: Contract number description: "This field is not editable after creation.\n ALWAYS fill it with the correct value" required: true tags: - pricing security: - oauth2: - pricing:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/PricingConfiguration' description: '' put: operationId: pricing_update parameters: - in: path name: rental_id schema: type: string title: Contract number description: "This field is not editable after creation.\n ALWAYS fill it with the correct value" required: true tags: - pricing requestBody: content: application/json: schema: $ref: '#/components/schemas/PricingConfiguration' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PricingConfiguration' multipart/form-data: schema: $ref: '#/components/schemas/PricingConfiguration' required: true security: - oauth2: - pricing:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/PricingConfiguration' description: '' patch: operationId: pricing_partial_update parameters: - in: path name: rental_id schema: type: string title: Contract number description: "This field is not editable after creation.\n ALWAYS fill it with the correct value" required: true tags: - pricing requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedPricingConfiguration' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedPricingConfiguration' multipart/form-data: schema: $ref: '#/components/schemas/PatchedPricingConfiguration' security: - oauth2: - pricing:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/PricingConfiguration' description: '' /api/v3/pricing/bulk_update/: post: operationId: pricing_bulk_update_create tags: - pricing requestBody: content: application/json: schema: $ref: '#/components/schemas/PricingConfiguration' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PricingConfiguration' multipart/form-data: schema: $ref: '#/components/schemas/PricingConfiguration' required: true security: - oauth2: - pricing:write responses: '200': content: application/json: schema: $ref: '#/components/schemas/PricingConfiguration' description: '' components: schemas: BlankEnum: enum: - '' CurrencyD53Enum: enum: - AED - AUD - BRL - CAD - CHF - CZK - EUR - GBP - HKD - IDR - ILS - JPY - KRW - MAD - MYR - PLN - RUB - SAR - THB - USD type: string description: '* `AED` - AED * `AUD` - AUD * `BRL` - BRL * `CAD` - CAD * `CHF` - CHF * `CZK` - CZK * `EUR` - EUR * `GBP` - GBP * `HKD` - HKD * `IDR` - IDR * `ILS` - ILS * `JPY` - JPY * `KRW` - KRW * `MAD` - MAD * `MYR` - MYR * `PLN` - PLN * `RUB` - RUB * `SAR` - SAR * `THB` - THB * `USD` - USD' PaginatedPricingConfigurationList: type: object required: - count - results properties: count: type: integer example: 123 next: type: - string - 'null' format: uri example: http://api.example.org/accounts/?offset=400&limit=100 previous: type: - string - 'null' format: uri example: http://api.example.org/accounts/?offset=200&limit=100 results: type: array items: $ref: '#/components/schemas/PricingConfiguration' limit: type: integer example: 50 PricingConfiguration: type: object properties: rental_id: type: string title: Contract number description: "This field is not editable after creation.\n ALWAYS fill it with the correct value" pricing_calendar: type: integer readOnly: true min_price: type: string format: decimal pattern: ^-?\d{0,13}(?:\.\d{0,2})?$ title: Minimum price minimum_stay: type: integer maximum: 2147483647 minimum: 0 description: Define minimum stay on platforms (including Airbnb if you are using official API). If you choose 0, will default to 1 night for next 15 days then 2 nights after that. Always choose 2 for normal properties. max_price: type: - string - 'null' format: decimal pattern: ^-?\d{0,13}(?:\.\d{0,2})?$ title: Maximum price base_price: type: string format: decimal pattern: ^-?\d{0,13}(?:\.\d{0,2})?$ title: Price of a night price_per_extra_person: type: string format: decimal pattern: ^-?\d{0,13}(?:\.\d{0,2})?$ mid_term_factor: type: - string - 'null' format: decimal pattern: ^-?\d{0,13}(?:\.\d{0,2})?$ title: Factor applied to the price for mid-term min_price_profitability: type: - string - 'null' format: decimal pattern: ^-?\d{0,13}(?:\.\d{0,2})?$ readOnly: true title: Profitability floor adjustable_min_price: type: boolean title: Possibility to change minimum price max_night_stay: type: - integer - 'null' maximum: 2147483647 minimum: 0 title: Maximum number of nights booking_interval: type: integer maximum: 730 minimum: 30 description: Number of days priced in the future. Select a value between 30 and 730, default being 365. Airbnb and Booking.com allow up to 540 days. include_time_factor: type: boolean title: Time factor description: Reduce the price for last-minute reservations and increase the price of reservations booked in advance include_seasonality_factor: type: boolean title: Events factor description: Optimize the price for various events (new year, ...) include_shortstay_factor: type: boolean title: Short availability factor description: Reduce the price between two close bookings include_geo_event_factor: type: boolean title: Local event factor description: Optimize the price according on local events (concert, ...) include_new_flat_factor: type: boolean title: New rental factor description: Reduce the price for the first bookings include_day_of_the_week_factor: type: boolean title: Day of the week factor description: Optimize the price depending on the day of the week include_one_night_gap_optimization: type: boolean title: 'Minimum stay: Short availability factor' description: Reduces the minimum number of nights depending on the number of days available between bookings, the 'minimum stay' set on the property remaining the absolute minimum value. include_monthly_seasonality_factor: type: boolean title: Seasonality factor description: Seasonality per month. include_daily_difference: type: boolean title: Daily difference description: Add 1 or 0 to the price, day by day, to trigger a change in price on the platforms and improve the visibility of the listing. include_min_stay_compression: type: boolean title: Minimum stay compression description: If the guest want to book a duration lower than the minstay, he will have to pay for a minstay duration. weekend_single_night_forbidden: type: boolean title: Forbid one night minimum stay for the weekend description: Forbid one night minimum stay for the weekend include_variable_min_stay: type: boolean title: Allow to set up periods of minstay description: Activates the possibility of having different MinStays over a specific period. If the booking is taken in a long time, it is interesting to have a higher MinStay than for last minute bookings. This factor should ideally be coupled with 'Minimum Night Number Factor optimized' for optimal results. include_occupancy_rate: type: boolean title: Occupancy rate factor description: Optimize the pricing based on occupancy rate include_automatic_midterm_pricing: type: boolean title: Automatic mid-term pricing description: Automatically create the mid-term ranges and publish them to enable mid-term bookings owner_instruction: type: - string - 'null' description: "\n Fill this field if the owner has any specific instruction\n the pricing strategy.Describe the pricing stragegy:\n Imperative: give the precise objectives,\n give REALISTIC minimum prices for margin of maneuver,\n are they strict ? different high season/low season,\n etc." currency: oneOf: - $ref: '#/components/schemas/CurrencyD53Enum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' checkout_date_discount: type: string format: decimal pattern: ^-?\d{0,13}(?:\.\d{0,2})?$ title: Discount at checkout yearly_max_days: type: - integer - 'null' maximum: 2147483647 minimum: -2147483648 title: Maximum amount days booked as short stay per year short_stay_maximum_days: type: - integer - 'null' maximum: 2147483647 minimum: -2147483648 title: Number of days after which the stay is a mid-term stay airbnb_non_refundable_price_factor: type: - string - 'null' format: decimal pattern: ^-?\d{0,2}(?:\.\d{0,1})?$ description: Guests can book the non-refundable rate until the listing's cancellation policy kicks in and if the reservation's check-out date is within 60 days. Note that 1.0 = 0%, 0.9 = 10% and 0.1 = 90% discount. Please use it accordingly. user: type: string readOnly: true required: - min_price_profitability - pricing_calendar - rental_id - user NullEnum: enum: - null PatchedPricingConfiguration: type: object properties: pricing_calendar: type: integer readOnly: true min_price: type: string format: decimal pattern: ^-?\d{0,13}(?:\.\d{0,2})?$ title: Minimum price minimum_stay: type: integer maximum: 2147483647 minimum: 0 description: Define minimum stay on platforms (including Airbnb if you are using official API). If you choose 0, will default to 1 night for next 15 days then 2 nights after that. Always choose 2 for normal properties. max_price: type: - string - 'null' format: decimal pattern: ^-?\d{0,13}(?:\.\d{0,2})?$ title: Maximum price base_price: type: string format: decimal pattern: ^-?\d{0,13}(?:\.\d{0,2})?$ title: Price of a night price_per_extra_person: type: string format: decimal pattern: ^-?\d{0,13}(?:\.\d{0,2})?$ mid_term_factor: type: - string - 'null' format: decimal pattern: ^-?\d{0,13}(?:\.\d{0,2})?$ title: Factor applied to the price for mid-term min_price_profitability: type: - string - 'null' format: decimal pattern: ^-?\d{0,13}(?:\.\d{0,2})?$ readOnly: true title: Profitability floor adjustable_min_price: type: boolean title: Possibility to change minimum price max_night_stay: type: - integer - 'null' maximum: 2147483647 minimum: 0 title: Maximum number of nights booking_interval: type: integer maximum: 730 minimum: 30 description: Number of days priced in the future. Select a value between 30 and 730, default being 365. Airbnb and Booking.com allow up to 540 days. include_time_factor: type: boolean title: Time factor description: Reduce the price for last-minute reservations and increase the price of reservations booked in advance include_seasonality_factor: type: boolean title: Events factor description: Optimize the price for various events (new year, ...) include_shortstay_factor: type: boolean title: Short availability factor description: Reduce the price between two close bookings include_geo_event_factor: type: boolean title: Local event factor description: Optimize the price according on local events (concert, ...) include_new_flat_factor: type: boolean title: New rental factor description: Reduce the price for the first bookings include_day_of_the_week_factor: type: boolean title: Day of the week factor description: Optimize the price depending on the day of the week include_one_night_gap_optimization: type: boolean title: 'Minimum stay: Short availability factor' description: Reduces the minimum number of nights depending on the number of days available between bookings, the 'minimum stay' set on the property remaining the absolute minimum value. include_monthly_seasonality_factor: type: boolean title: Seasonality factor description: Seasonality per month. include_daily_difference: type: boolean title: Daily difference description: Add 1 or 0 to the price, day by day, to trigger a change in price on the platforms and improve the visibility of the listing. include_min_stay_compression: type: boolean title: Minimum stay compression description: If the guest want to book a duration lower than the minstay, he will have to pay for a minstay duration. weekend_single_night_forbidden: type: boolean title: Forbid one night minimum stay for the weekend description: Forbid one night minimum stay for the weekend include_variable_min_stay: type: boolean title: Allow to set up periods of minstay description: Activates the possibility of having different MinStays over a specific period. If the booking is taken in a long time, it is interesting to have a higher MinStay than for last minute bookings. This factor should ideally be coupled with 'Minimum Night Number Factor optimized' for optimal results. include_occupancy_rate: type: boolean title: Occupancy rate factor description: Optimize the pricing based on occupancy rate include_automatic_midterm_pricing: type: boolean title: Automatic mid-term pricing description: Automatically create the mid-term ranges and publish them to enable mid-term bookings owner_instruction: type: - string - 'null' description: "\n Fill this field if the owner has any specific instruction\n the pricing strategy.Describe the pricing stragegy:\n Imperative: give the precise objectives,\n give REALISTIC minimum prices for margin of maneuver,\n are they strict ? different high season/low season,\n etc." currency: oneOf: - $ref: '#/components/schemas/CurrencyD53Enum' - $ref: '#/components/schemas/BlankEnum' - $ref: '#/components/schemas/NullEnum' checkout_date_discount: type: string format: decimal pattern: ^-?\d{0,13}(?:\.\d{0,2})?$ title: Discount at checkout yearly_max_days: type: - integer - 'null' maximum: 2147483647 minimum: -2147483648 title: Maximum amount days booked as short stay per year short_stay_maximum_days: type: - integer - 'null' maximum: 2147483647 minimum: -2147483648 title: Number of days after which the stay is a mid-term stay airbnb_non_refundable_price_factor: type: - string - 'null' format: decimal pattern: ^-?\d{0,2}(?:\.\d{0,1})?$ description: Guests can book the non-refundable rate until the listing's cancellation policy kicks in and if the reservation's check-out date is within 60 days. Note that 1.0 = 0%, 0.9 = 10% and 0.1 = 90% discount. Please use it accordingly. user: type: string readOnly: true securitySchemes: basicAuth: type: http scheme: basic cookieAuth: type: apiKey in: cookie name: sessionid oauth2: type: oauth2 flows: authorizationCode: authorizationUrl: /o/authorize/ tokenUrl: /o/token/ refreshUrl: /o/token/ scopes: read: Read scope write: Write scope amenities:read: Read amenities amenities:write: Create, update and delete amenities photos:write: Create, update and delete photos reservations:read: Read reservations reservations:write: Create, update and cancel reservations reservation_platform:read: Read reservation platform reviews:read: Read reviews reviews:write: Write reviews owners:read: Read owners owners:write: Write owners hosts:read: Read hosts (deprecated) hosts:write: Write hosts (deprecated) offices:read: Read offices property_managers:read: Read property managers onboarding_requests:read: Read onboarding requests listing_requests:read: Read listing requests pricing:read: Read pricing pricing:write: Create, update and delete pricing users:read: Read user data calendar:read: Read calendar calendar:write: Write calendar rentals:read: Read rentals rentals:write: Create, update and delete rentals issues:read: Read issues issues:write: Write issues incidents:read: Read incidents incidents:write: Write incidents missions:read: Read missions missions:write: Write missions agents:read: Read agents smart_schedulers:read: Read smart schedulers smart_schedulers:write: Write smart schedulers neighbourhoods:read: Read neighbourhoods payment_links:read: Read payment links swikly_deposits:read: Read swikly deposits payout_adjustments:read: Read payout adjustments payout_adjustments:write: Write payout adjustments payment_acceptance_transactions:read: Read payment acceptance transactions payment_acceptance_transactions:write: Write payment acceptance transactions accounting_invoice:read: Read accounting invoices accounting_invoice:write: Write accounting invoices guest_registration:read: Read guest registration data conversations:read: Read conversations conversations:write: Write conversations messages:read: Read messages messages:write: Write messages inquiries:read: Read inquiries city_tax_rules:read: Read city tax rules custom_fields:read: Read custom fields custom_fields:write: Write custom fields tokenAuth: type: apiKey in: header name: Authorization description: Token-based authentication with required prefix "Token"