Skip to content

Rate Import

The rate import tool lets you upload rates for multiple properties and seasons at once from a CSV file. This is especially useful when onboarding new properties, updating rates from a partner's spreadsheet, or loading an entire year's pricing in a single step.

Overview

Instead of creating property seasons one at a time through the UI, you can prepare a CSV file with all your rates and upload it to Rates > Import Rates. The system validates each row, matches properties and seasons by name, and creates or updates property season records accordingly.

The import also supports a dry run mode that validates your file without saving anything -- so you can catch errors before committing changes.

CSV File Format

Your CSV file must include a header row with column names. The system recognizes the following columns:

Required Columns

ColumnDescriptionExample
property_nameProperty name (must match an existing property in your account)Casa del Sol
season_nameSeason template name (matched case-insensitively)High Season 2026
nightly_rateRack nightly rate350.00

Optional Columns

ColumnDescriptionExample
start_dateSeason start date (YYYY-MM-DD or MM/DD/YYYY)2025-12-15
end_dateSeason end date (YYYY-MM-DD or MM/DD/YYYY)2026-04-15
net_rateNet nightly rate paid to property owner/partner280.00
weekly_rateRack weekly rate (if different from 7x nightly)2200.00
net_weekly_rateNet weekly rate paid to partner1750.00
min_nightsMinimum stay requirement5
cleaning_feeCleaning fee (for reference tracking)150.00
processing_feeProcessing fee (for reference tracking)25.00

Example CSV

csv
property_name,season_name,start_date,end_date,nightly_rate,net_rate,min_nights
Casa del Sol,High Season 2026,2025-12-15,2026-04-15,350.00,280.00,5
Casa del Sol,Green Season 2026,2026-04-16,2026-11-30,200.00,160.00,3
Villa Pacifica,High Season 2026,2025-12-15,2026-04-15,500.00,400.00,7
Villa Pacifica,Green Season 2026,2026-04-16,2026-11-30,300.00,240.00,3

Importing Rates

  1. Navigate to Rates > Import Rates.
  2. Click Choose File and select your CSV.
  3. Click Validate to run a dry run. The system checks every row and reports any errors without saving.
  4. Review the validation results. Fix any errors in your CSV and re-upload if needed.
  5. Once validation passes, click Import to save the rates.

[Screenshot: The Import Rates page showing a successful dry run with 12 valid rows and 0 errors.]

How Matching Works

Property Matching

The system matches the property_name column against existing properties in your company using a case-insensitive comparison. The name must match exactly (aside from casing) -- partial matches or fuzzy matching are not supported.

If a property name does not match, the row is flagged as an error and skipped.

Season Template Matching

The season_name column is matched against existing season templates in your company (case-insensitive).

  • If the template exists: The system uses it and ignores any start_date/end_date values in the CSV.
  • If the template does not exist and dates are provided: The system creates a new season template with the given name and date range, using the start date's year as the template year.
  • If the template does not exist and no dates are provided: The row is flagged as an error.

This means you can use the import tool to create season templates and property seasons in one step -- just include the date columns.

New vs Existing Property Seasons

  • New combination: If no property season exists for the given property + season template pair, a new one is created with the values from the CSV.
  • Existing combination: If a property season already exists, its values are updated with the non-empty values from the CSV. Fields left blank in the CSV are not overwritten.

Validation and Error Handling

The import service validates each row individually. A single bad row does not prevent other rows from being imported -- errors are collected and reported at the end.

Common validation errors:

ErrorCauseFix
Property not foundproperty_name does not match any propertyCheck spelling and ensure the property exists
Season template not found, no datesseason_name is new but start_date/end_date are missingAdd dates or create the season template first
Invalid date formatDate is not in YYYY-MM-DD or MM/DD/YYYY formatReformat the date column
Invalid decimalRate value contains non-numeric charactersRemove currency symbols, letters, or extra punctuation
Missing required fieldproperty_name, season_name, or nightly_rate is blankFill in the required value

Tips for Clean Imports

  • Start with a dry run. Always validate before importing. It costs nothing and catches issues early.
  • Match property names exactly. Copy property names from the Properties page to avoid typos. "Casa Del Sol" and "Casa del Sol" will not match if the casing differs on words other than articles.
  • Use consistent date formats. Pick either YYYY-MM-DD or MM/DD/YYYY and stick with it throughout the file.
  • Remove currency symbols. The parser strips $ and commas automatically, but other symbols (e.g., EUR, USD prefixes) will cause errors.
  • Include net rates for partner properties. If you manage properties on behalf of owners, include the net_rate column to track your commission margin.
  • Keep a backup. Save your CSV files. There is no import history view in the UI currently, so your source file is the record of what was imported.

Key Concepts

  • Dry Run -- A validation-only pass that checks every row without saving any data.
  • Rack Rate -- The published nightly rate charged to guests (the nightly_rate column).
  • Net Rate -- The rate paid to the property owner or partner (the net_rate column). The difference is your commission.

Common Questions

Can I import overlays from CSV? No. The import tool creates property seasons only. Rate overlays must be created individually through the UI.

What happens if I import the same file twice? The second import updates the existing property seasons with the values from the CSV. It does not create duplicates.

Can I delete rates via import? No. The import tool only creates and updates. To remove a property season, delete it from the Property Seasons page.

Does importing trigger a channel sync? Yes. Created or updated property seasons trigger the same rate sync signals as manual edits. Your connected OTA channels will receive the updated rates.

  • Pricing Guide -- Full overview of the layered rate system and booking price calculations.
  • Seasonal Rates -- Setting up season templates and property seasons through the UI.
  • Rate Overlays -- Creating holiday and event-specific pricing overrides.
  • Fees and Taxes -- Configuring cleaning fees, service fees, and tax rates.

Last updated: