Articles on: Channel Manager

Bulk Inventory Import

Overview


The Bulk Inventory Import feature allows you to update inventory data (rates, availability, restrictions) for multiple properties, room types, rate plans, and channels in a single upload.


Instead of making updates one at a time through the calendar or daily update screens, you can prepare all your changes in a CSV spreadsheet and upload them all at once.


This feature is especially useful for:


  • Importing data when migrating from other systems
  • Importing data from external tools or workflows
  • Bulk availability changes
  • Making seasonal rate adjustments


The workflow has two parts:


Export Template


Download a CSV template pre-populated with your property's room types, rate plans, and channels


Import Template Data


Upload your completed CSV file to create inventory update requests


Step 1: Build an Import Template


You can configure and download an empty example template to use for population, or you can build your own from scratch or via scripting.


Accessing the Bulk Inventory Template Download Page


Navigate to Admin > Settings > Bulk Inventory Import > Bulk Inventory Import Template (upper right-hand corner).



Configuring Your Template


  1. Select Date Range


  • Choose the start and end dates for the period you want to update
  • Use the month picker for quick month selection, or enter custom dates


  1. Select Room Types


  • Check the room types you want to include in the template
  • Click the "Room Types" header to toggle all on/off
  • Each room type shows its ID number for reference


  1. Select Rate Plans (if applicable)


  • If your property uses rate plans, check the ones to include
  • Leave unchecked if you only want to update at the room type level
  • Click the "Rate Plans" header to toggle all on/off


  1. Select Channels


  • All Channels (ID: 0) - Updates will be sent to all configured channels
  • Or select individual channels for targeted updates
  • Selecting any individual channel automatically deselects "All Channels"


  1. Download


  • Click Download Empty Template to generate your CSV file
  • The file will contain one row per date, per room type/rate plan, per channel combination


CSV Format Requirements


Column Summary


  • Required columns: Date, PropertyId, RoomTypeId, ChannelId
  • Optional columns: RatePlanId, Rate, Allocation, StopSell, CTA, CTD, MinNights, MinNightsThrough, MaxNights, MaxNightsThrough, CutOffDays
  • Date format: YYYY-MM-DD (e.g., 2025-01-15)
  • Boolean values: true/false, 1/0, yes/no
  • Empty cells: No change will be made for that field
  • ChannelId = 0: Updates will be sent to all configured channels


Column Details


The downloaded CSV contains these columns:


Date


The stay date (YYYY-MM-DD format)


PropertyId


Your property's ID number


RoomTypeId


The room type ID


RatePlanId


The rate plan ID (if rate plans are selected)


ChannelId


The channel ID (0 = all channels)


Rate


Fill in your rate


Allocation


Available rooms


StopSell


true/false, 1/0, yes/no


CTA


Closed to Arrival


true/false, 1/0, yes/no


CTD


Closed to Departure


true/false, 1/0, yes/no


MinNights


Minimum nights requirement


MinNightsThrough


Minimum nights through requirement


MaxNights


Maximum nights limit


MaxNightsThrough


Maximum stay through limit


CutOffDays


Booking cut-off days


ID Reference Download


On the template download screen, you can also download the property, room type, rate plan, and channel IDs for just the active property, or all properties you have access to.


Step 2: Populate Your Data


Open the CSV file in your preferred spreadsheet application (Excel, Google Sheets, Numbers, etc.), or populate with data exported from another tool


Data Entry Rules


Empty Cells = No Change


  • Leave a cell empty if you don't want to change that value
  • Only cells with values will create update requests


Rates


  • Enter the sell rate as a number (e.g., 199.99)
  • Rates must be greater than zero


Allocation


  • Enter the number of rooms available (e.g., 10)
  • Use 0 to close out availability
  • Must be a non-negative whole number


Boolean Fields (StopSell, CTA, CTD)


  • Accepted values: true, false, 1, 0, yes, no
  • Case insensitive


Restriction Fields (MinNights, MinNightsThrough, MaxNights, MaxNightsThrough, CutOffDays)


  • Enter as whole numbers


Example Data


Date,PropertyId,RoomTypeId,ChannelId,Rate,Allocation,StopSell,CTA,CTD,MinNights  
2025-01-15,2177,8739,0,199.99,10,false,false,false,2
2025-01-16,2177,8739,0,219.99,10,false,false,false,2
2025-01-17,2177,8739,0,249.99,5,false,false,false,3
2025-01-18,2177,8739,0,249.99,0,true,,,


In this example:


  • Jan 15-16: Standard rates with 10 rooms, 2-night minimum
  • Jan 17: Higher weekend rate, 5 rooms, 3-night minimum
  • Jan 18: Sold out (allocation=0, stop sell=true)


Step 3: Import Your Data


Accessing the Import Page


Admin > Settings > Channel Manager > Bulk Inventory Import


Note: You can include multiple properties to update in a single upload.


Upload Process


  1. Select Your File


  • Click Choose File and select your completed CSV
  • Maximum file size: 10 MB
  • Maximum rows: 100,000


  1. Validation


  • Click Upload & Validate
  • The system validates every row before processing


You'll see a summary showing:


  • Total rows in file
  • Valid rows ready to process
  • Skipped rows (empty data)
  • Error rows (with details)


  1. Review Errors


  • If errors exist, review the error list
  • Common errors include:


  • Invalid date format
  • Dates in the past
  • Unknown PropertyId, RoomTypeId, or RatePlanId
  • Channel not configured for inventory send
  • Invalid boolean values
  • Permission issues


  1. Process Valid Rows


  • If you have valid rows, click Process [X] Valid Rows
  • Invalid rows will be skipped
  • Valid rows will create inventory send requests


  1. Confirmation


Upon processing completion, you'll receive a confirmation email.


Validation Rules


The import validates the following:


Date Format


Must be YYYY-MM-DD (e.g., 2025-01-15)


Future Dates


Dates must be today or in the future (based on property timezone)


PropertyId


Must exist and be in your organization, that you have access to


RoomTypeId


Must exist and belong to the specified property


RatePlanId


If provided, must exist and belong to the specified property


ChannelId


If not 0, must be configured for inventory send on the property


Rate


If provided, must be greater than zero


Allocation


If provided, must be non-negative


Boolean Values


Must be valid format (true/false/1/0/yes/no)


Permissions


Your user account must have the appropriate permissions for the update types


Permission Requirements


Update Type - Required Permission


Rate changes - Update Rates


Allocation changes - Update Availability


StopSell changes - Update Availability (or Update Close-Outs for close-outs only)


Restrictions (CTA, CTD, MinNights, etc.) - Update Restrictions


Import History


On the Bulk Inventory Import page you can view the status and history of all files uploaded for processing.


Tips & Best Practices


  1. Start Small


  • Test with a small date range first to verify your data is correct
  • Once comfortable, scale up to larger imports


  1. Use ChannelId = 0 for Efficiency


  • Setting ChannelId to 0 sends updates to all configured channels
  • This reduces the number of rows needed in your file


  1. Check Channel Configuration


  • Ensure channels are configured for inventory send before importing
  • Updates for unconfigured channels will be rejected or skipped


  1. Mind the Timezone


  • Date validation uses your property's timezone
  • A date that's "today" in your timezone may be "past" for the property


  1. Partial Updates Are OK


  • You don't need to fill in every column
  • Only include the data you want to change


  1. Review Before Processing


  • Validation always happens before you confirm processing, review to learn which rows will not be processed and why.
  • You can cancel and fix errors in your file before re-uploading


Frequently Asked Questions


Q: What happens if some rows have errors?


A: Valid rows will be processed; error rows are skipped. You'll see exactly which rows had errors and why.


Q: Can I update multiple properties in one file?


A: Yes! Include different PropertyId values in your CSV to update multiple properties at once.


Q: Can I undo an import?


A: There is no automatic undo. You would need to create a new import with the corrected values.


Q: What if I leave all data columns empty for a row?


A: Rows with no data values are skipped automatically (counted as "Skipped - empty data").


Q: Why was my file rejected?


A: Check that:


  • The file is a .csv format
  • The file is under 10 MB
  • The file has fewer than 100,000 rows
  • The file has the correct header row

Updated on: 09/06/2026

Was this article helpful?

Share your feedback

Cancel

Thank you!