Upload external reservations via CSV - How to Follow
How to upload external reservations via CSV
What is this feature about?
This feature can be used when you are changing Channel Manager and wish to import your reservations into Hostaway Dashboard, so you can keep the visibility on any reservation. When you wish to use this function please contact email@example.com as it is not activated by default.
- Only Admin or users with admin-level access can use this feature
- We highly advise to import only reservations that are not already in Hostaway
- Reservations will be imported as Hostaway Direct Reservation. We will indicate the origin channel (mandatory field) in the reservation. Note that you will be able to cancel these reservations in case of
- You can find a template here
- If there is 1 error, the import will be aborted
How to import your CSV reservation file?
In Reservations > You will find a new button called “Import reservations”.
When clicked, a pop-up will explain this feature with some examples.
Also, you will need to choose between:
- Automatic: It will identify and correctly process (almost) all common formats.
- DD/MM/YYYY: This can be a common case that the automatic option won’t correctly process, so only in this case it should be chosen. It will also work if the date is D/M/YYYY
Decimals separator for prices
- Decimal comma: Used to separate thousands
- Decimal point: Used to separate thousands
After clicking on next, you will need to choose the features to be affected in the same way as you would if we got these reservations directly from the channels. As an example, you might want to import reservation but not to create messages for automation. The options will be:
- Calendar: Marked by default and mandatory. This process will always affect the calendar, blocking dates when needed and displaying the reservations there
Please note that it will affect our newly Financial Reporting feature. We will add this option after the release.
It is now time to upload your CSV file by clicking on the Upload CSV button. The import should take up to 2 minutes.
- If everything is ok, a success message will appear.
- Otherwise, a list of errors will be displayed, identifying the raws with issues, and the fields for these raws.
The upload process will be completely aborted if there is one reservation with at least one error.
Because of that, we recommend to only update CSV containing reservations that were still not introduced in our system. To avoid duplicating reservations when uploading multiple times this CSV, we will check the externalReservationId, meaning that each reservation must have its individual and unique Id. If we find the same, we will delete that reservation and add it again, giving with that an option for updating data. However, please note that if a reservation came from a channel (for instance Airbnb) and the CSV contains the same reservation (and uses the same externalReservationId) we won’t delete&create a new reservation. Instead of that we will just add the new reservation from the CSV, causing a double-booking.
Data format specs
The CSVs have to comply with certain criteria, otherwise, the import will fail and 0 reservations will be imported.
Here you can find a template with examples, notes and validations. You can download this example by clicking on File > Download.
Some general criteria
- All mandatory fields must be filled. Mandatory fields are marked with a * symbol
- Columns must have exactly the same names as the template, but the column order can be different. The only exception is the * symbol, that can be removed if needed.
- Any other conditions such as formats or length limits must be respected
- The maximum amount of reservations for one upload is 500. If needed, additional uploads can be done
The fields are the following
- guestEmail *: It must be a valid email. Max length is 255 characters
- guestFirstName *: Max length is 127
- guestLastName *: Max length is 127
- guestName: If missing, it will be composed of guest first name and guest last name if missing. Max length is 255
- numberOfGuests*: It must be a positive integer number. We don’t validate that the sum of adults + children + infants differ from the amount in this field
- numberOfAdults: It can only be a non-negative integer number
- numberOfChildren: It can only be a non-negative integer number
- numberOfInfants: It can only be a non-negative integer number
- numberOfPets: It can only be a non-negative integer number
- arrivalDate *: Different formats are accepted. If the format is DD/MM/YYYY, it must be specifically chosen in the import process pop-up
- departureDate *: Different formats are accepted. If the format is DD/MM/YYYY, it must be specifically chosen in the import process pop-up
- totalPrice *: We can accept both dots and commas for decimals and up to 2 decimals. If commas were chosen, points can be used as thousand separators. It must be a positive number and maximum 19 digits
- currency: It should be in ISO 4217 Code. If missing, it will be taken from the associated listing currency. Max 10 characters
- status *: We only accept "new", "cancelled" or "ownerStay". Read more about Owner Stays here
- originChannel*: Free text to identify channel of origin. Max 50 characters. We will add one field in reservations that will show the value introduced here
- channel: Only for Vrbo, otherwise should be left blank. The column "originChannel" for identification purposes
- taxAmount: We can accept both dots and commas (depending on the chosen option) for decimals and up to 2 decimals. It can only be a non-negative integer number. Max 11 characters
- cleaningFee: We can accept both dots and commas (depending on the chosen option) for decimals and up to 2 decimals. It can only be a non-negative integer number. Max 11 characters
- securityDepositFee: We can accept both dots and commas (depending on the chosen option) for decimals and up to 2 decimals. It can only be a non-negative integer number. Max 11 characters
- channelCommission: We can accept both dots and commas (depending on the chosen option) for decimals and up to 2 decimals. It can only be a non-negative integer number. Max 11 characters
- externalReservationId*: Each reservation must have its individual and unique Id. It should be a reservation Id from the channel of origin. If we find another reservation with the same ID, we will delete that one and create a new one. Free text with a maximum of 255 characters
- hostawayListingId*: Id of the listing at Hostaway. Normally comes after the listing name. It must be a positive integer number
- phoneNumber: Any format is accepted. Max 32 characters
- checkinTime: It must be in 24h format and not AM/PM. Only interger numbers from 0 to 23 are accepted
- checkoutTime: It must be in 24h format and not AM/PM. Only interger numbers from 0 to 23 are accepted
- reservationDate: For the date, different formats are accepted. If the format is DD/MM/YYYY, it must be specifically chosen in the import process pop-up. For the times, we will identify common times. The exact time is not needed
Please sign in to leave a comment.