Skip to main content

CSV Reservation Import

How to import reservations from your previous PMS with a CSV file.

Written by Reynir Óli Smárason

When you move to Hospitable from another PMS, your existing Direct or Manual reservations from that PMS don't transfer automatically. If you need those bookings inside Hospitable — for accurate calendars, messaging history, financial reporting, or continuity for upcoming stays — you can bring them in with a CSV file import.

❗ The importer is currently run by the Hospitable team on your behalf. Share your prepared CSV with support, and we will run the import on your account.


Before you start

  • Export your existing reservations from your previous PMS.

  • Make sure your properties are already set up in Hospitable and that each property name in your CSV exactly matches the corresponding property name in Hospitable. Names are matched literally, so a mismatched space, capital letter, or punctuation mark will cause the row to fail validation.


Required fields

Every row must include:

  • property_name — must exactly match an existing property name on your Hospitable account.

  • checkin — the guest's check-in date.

  • checkout — the guest's check-out date. Must be after checkin.

  • A guest name, either as:

    • guest_name (single field), or

    • both guest_first_name and guest_last_name.


Optional fields

Include any of these when the data is available:

  • Reservation identity: code, platform, booked_at

  • Financials: total, accommodation, cleaning_fee, host_service_fee, currency

  • Guest contact: email, phone, language

  • Guest address: guest_street, guest_city, guest_state, guest_postcode, guest_country

  • Stay details: stay_type, adults, children, infants, pets, note

Custom fees and discounts

You can add extra fees or discounts to any reservation by including columns whose names start with custom_. The text after custom_ becomes the label shown on the reservation.

  • A positive value is applied as an extra fee.

  • A negative value is applied as a discount.

  • If accommodation is left blank, custom fee amounts are also used when Hospitable calculates the accommodation total.

Examples

  • custom_Early Checkin with a value of 25 → labeled "Early Checkin", applied as a $25 additional fee on the guest financials.

  • custom_Discount Code #1234 with a value of -10 → labeled "Discount Code #1234", applied as a $10 discount on the guest financials.


Formatting rules

Rows will fail validation if any of the following are wrong:

  • checkout must be after checkin.

  • code, when provided, must be unique for the host — duplicates already on the account, or repeated within the same CSV, will fail.

  • currency, when provided, must be a valid ISO currency code (for example, USD, EUR, GBP).

  • stay_type, when provided, must be either guest_stay or owner_stay.

  • total, accommodation, and cleaning_fee must be zero or greater.

  • host_service_fee must be zero or a negative number.

  • adults, children, infants, and pets must be whole, non-negative numbers.

  • Blank rows are ignored.

  • Any column that is not on the supported list is ignored, with the exception of custom_* columns (see below).


What happens when optional fields are blank

  • If code is blank, Hospitable generates a reservation code automatically.

  • If platform is blank, the reservation is treated as manual.

  • If booked_at is blank, the time of import is used.

  • If email is present, Hospitable also queues thread creation for the reservation, so guest messaging is available.

  • If some financial fields are provided and others are not, Hospitable still builds the reservation financials from the values you supplied.


Contact Hospitable and ask for a reservation import

Once you're done and you have your CSV file ready, reach out to Hospitable support and ask for a reservation import.

Smarty (our support bot) will ask you to provide the CSV file of your reservations.

Share this file with Smarty, and it will escalate the import to a human agent.

Did this answer your question?