Skip to main content

Import Reservations from a File

Quick Setup

Most imports take 3-5 minutes after your file is ready.

Use this flow to create many reservations at once from .xlsx, .csv, or .json files.

Guest email is optional in bulk import, so missing emails do not block the flow. AVA also reads Excel text-forcing wrappers like ="2/0/0" as plain text. Single full-name columns can map automatically when the sheet uses labels like Contact Name. If you import same-day stays, add an explicit Day Use column and mark those rows.

Go to: Operations View


Before You Start

RequirementWhy It MattersWhat to Check
PMS is Cloudbeds or AVABulk import button only shows for supported PMSConfirm Settings → Essentials → PMS Integration
File is .xlsx, .csv, or .jsonOther formats are blockedSave or export your file in one of those formats
File size is 10 MB or lessLarger files are rejectedCheck file properties before upload
Guest count data is availableAVA can import adults, children, and infantsInclude separate count columns, or one HGuru Persons column
Room types exist in AVARoom type matching fails without room typesConfirm room types are available
Some values use Excel text forcingPMS exports may wrap literal text valuesAVA strips wrappers like ="2/0/0" automatically
Full names use one columnAVA can split one guest name into first and last namesUse a clear label like Contact Name, Guest Name, or Primary Guest
Same-day rows are day-useAVA needs an explicit opt-in for 0-night bookingsAdd a Day Use column and mark same-day rows

What JSON Imports Do

JSON shapeExampleWhat AVA does
Nested objectguest.emailFlattens it into dotted source paths
Simple arrayroomNumbers: [101, 102]Joins the values with a pipe separator
Array of objectsguests: [{...}]Skips it and shows an extraction note

If your JSON contains multiple reservation collections, AVA picks the best match. It also shows a warning when it does.


Import Reservations

  1. Go to Operations View.
  2. Click Bulk Import in the top-right actions.
  3. In Upload, drag and drop your file, or click to select it.
  4. Set Date format:
    • Keep Auto-detect for most files.
    • Choose a fixed format if day and month could be swapped.
  5. Click Analyze file.
  6. In Review Mapping, confirm each required field maps to the correct source field:
    • First Name and Last Name, or one Guest Name column
    • Check-in Date
    • Check-out Date
    • Room Type
    • Nationality
    • Optional guest counts: Adults, Children, Infants, or one HGuru Persons column (ADT, CHD, INF)
    • If the file contains same-day rows, map a Day Use column and mark those rows with Yes, 1, or true
    • Single full-name columns like Contact Name now auto-detect and split into first and last names when the values look like real names.
    • Values wrapped like ="2/1/1" now import as 2/1/1 without manual cleanup.
    • If a required field is still missing, the mapping checklist shows the blocker before you continue.
    • Unmapped fields stay easy to spot, so fix those first.
    • JSON source fields may appear as dotted paths like guest.email.
  7. Click Generate preview.
  8. In Preview, review row statuses:
    • Ready: Can be created
    • Invalid: Has errors that block import
    • Duplicate: Already exists in your file or PMS
  9. Use filters (All, Ready, Invalid, Duplicate) to review problem rows quickly.
  10. Fix your file and re-upload if needed.
  11. Click Create reservations when only valid rows remain.

✓ AVA shows a result summary with created, skipped duplicate, and failed rows.


Map Guest Counts

AVA supports two guest count formats during import.

File FormatExampleResult in AVA
Separate columnsAdults=2, Children=1, Infants=1Creates reservation with adults 2, children 1, infants 1
HGuru Persons columnADT:2,CHD:1,INF:1Parses values and maps to adults, children, and infants

If both formats are present, mapped count columns take priority in preview. The same rules apply to JSON files after AVA flattens the fields. CSV rows that contain text-forced values like ="2/0/0" also parse correctly.

Map Day-Use Rows

Use an explicit Day Use column when your file contains same-day stays.

File ValueResult in AVA
Yes, Y, true, 1, xMarks the row as day-use
Blank, No, 0Treats the row as a regular overnight stay
Same-day import rule

AVA only accepts same-day rows as day-use when the PMS supports native day-use. That opt-in protects you from turning a checkout typo into a 0-night booking.


Understand Result Behavior

ResultWhat It MeansAction
CreatedReservation was added successfullyNo action needed
Skipped duplicateRow matched existing PMS data or another file rowReview duplicate source details
FailedImport stopped on that rowFix the issue and re-import remaining rows
Partial Success

Import runs sequentially. If one row fails, AVA stops at that row. Rows before it can still be created.


Troubleshooting

Bulk Import button is missing

What you see: You cannot find Bulk Import in Operations View.

Fix:

  1. Confirm your PMS is Cloudbeds or AVA.
  2. Confirm your account has reservation write access.
  3. Ask an admin to verify your hotel has a valid merchant configuration.

"Only XLSX, CSV, and JSON files are supported"

What you see: File upload is rejected immediately.

Fix:

  1. Export the file again as .xlsx, .csv, or .json.
  2. Remove unsupported formats like .xls, .numbers, or .ods.
  3. Upload the new file.

JSON extraction notes appear

What you see: The mapping step shows extraction warnings for your JSON file.

Fix:

  1. Review the dotted source paths in JSON extraction notes.
  2. Check whether your JSON uses multiple collections.
  3. Remove unsupported nested arrays of objects if possible.
  4. Generate the preview again.

JSON fields do not map as expected

What you see: A value exists in the file, but AVA does not map it correctly.

Fix:

  1. Confirm the source field appears as a dotted path.
  2. Map that dotted path to the correct reservation field.
  3. Re-run Analyze file if you changed the source structure.

"Spreadsheet files must be 10 MB or smaller"

What you see: Upload error about file size.

Fix:

  1. Remove unused sheets and columns.
  2. Split the file into smaller batches.
  3. Re-upload each batch.

"Date format is auto-detected or low confidence"

What you see: A warning in mapping or preview.

Fix:

  1. Set Date format manually.
  2. Regenerate preview.
  3. Confirm parsed dates are correct before committing.

Room type errors in preview

What you see: Rows show invalid room type messages.

Fix:

  1. Match room type values to existing room type names or IDs.
  2. Create missing room types first if needed.
  3. Re-upload and generate preview again.

Same-day rows are rejected

What you see: Preview says the check-out date must be after the check-in date.

Fix:

  1. Add a Day Use column to the file.
  2. Mark the intentional same-day rows with Yes, 1, true, or x.
  3. Confirm your PMS supports native day-use imports.
  4. Generate the preview again.

Mapping still shows blockers

What you see: The mapping step will not let you continue, and the checklist still shows missing fields.

Fix:

  1. Map every required field shown in the checklist.
  2. Check for any highlighted unmapped fields.
  3. Generate the preview again after each fix.

HGuru Persons values are not parsed

What you see: Guest counts stay at defaults after preview.

Fix:

  1. Check Persons uses valid tokens: ADT, CHD, INF.
  2. Use numeric values only, like ADT:2,CHD:1,INF:1.
  3. Confirm the Persons field is mapped before generating preview.

"Bulk import stopped at row X"

What you see: Commit result shows a stop row and failure message.

Fix:

  1. Open the failed row details in the result.
  2. Correct that row in your file.
  3. Re-import only remaining rows that were not created.

Still Stuck?

Contact success@vouch-technologies.com if:

  • ❌ Import keeps failing after you remap fields and dates
  • ❌ Every row becomes invalid unexpectedly
  • ❌ Duplicates are flagged incorrectly for valid new reservations

Helpful to include:

  • Screenshot of the error or result screen
  • A sample of affected file rows
  • Your PMS type and hotel name