Need help with hotel dates CMS?

Hello everyone,

Thank you for taking the time!

I have an issue building a CMS for some hotels that need a table with dates. However, the table needs to come from Excel sheets imported in the Webflow CMS, so I can not use rich text.

I also thought of using a separate CMS collection for the tables but 60 fields isn’t enough to pull that off because I would have 1 text field for the airport and another 3 for month and year, dates and price.

Do any of you have any other ideas of what I can do?

Here is a read-only link: Webflow - PlanMyLuxe

Hi Justin,

When you’re building a custom feature like this, there are a lot of factors like the source data you’re working with, the end goal, and the conditions it will be running in ( e.g. how many visitors per day to the site? how often is the data updated? does the content need to be SEO-accessible, etc. )

I always aim for the simplest approach that will fit the requirement, to keep development time and systems costs controlled.

From your screenshot, I think the end goal here is just display. I’ll assume for now the data is in the format you see it above- one row per item, 3 columns of content grouped by Airport, filtered by # nights.

If traffic is relatively low, you could write JS that hits the Sheet directly, queries the data you need, formats it, and presents it. That alone is a fairly complex setup but it requires no middle tier. Google sheets has a URL-based query syntax which returns JSON.

More robust control over the display could mean building a Google doc which handles the query and layout of your data, essentially an initial presentation, and then you can pull that google doc content directly into your site. Google docs have clean tables and are very useful for this.

More robust needs for performance and higher traffic demands, you can drop a reverse proxy in-between to cache this. This is actually a strategy I use on a number of client sites, where they need the quick free-form access a Google doc provides them, but I need to capture that, style it, and display it on their site.

That path is good for certain types of content, and avoids the CMS.

Another path is the CMS, but you’d need an automation process that detects changes to the sheet and uses the Google API to retrieve it, query it, and build a result. That result could be delivered into the CMS as richtext.

If you’re non-technical and looking for the least-technical path, you could probably ask them to switch from Google Sheets to Airtable ( if the content works there ). Then use Whalesync to pull that data into the CMS, and build your views from the CMS. That comes with a steep monthly cost and some process changes for their team, but it pushes your data-access issues to a 3rd party service, and your formatting issues into the Webflow designer where you can deal with them more effectively.

Hey,

Given your requirements, here are a couple of alternative approaches you could consider:

CSV Import and Custom Code:
You can create a custom script to import data from Excel sheets into Webflow using the CMS API. This would involve converting the Excel data into a CSV format and then writing a script to parse the CSV file and create CMS items in Webflow accordingly. With this approach, you have more flexibility in how you structure your CMS data and can handle complex data structures like tables more efficiently.

Google Sheets Integration:
Instead of importing Excel sheets directly into Webflow, you can use Google Sheets as an intermediary. You can set up a Google Sheets document with the necessary data for each hotel, including the table with dates. Then, you can use the Google Sheets API to fetch data from Google Sheets and display it dynamically on your Webflow site. This approach allows you to leverage the power of Google Sheets for managing and updating data while still integrating seamlessly with your Webflow CMS.

Custom CMS Fields:
While the default CMS fields in Webflow may not be sufficient for storing complex data structures like tables, you can still use custom CMS fields to store relevant information for each hotel. Instead of trying to fit all the data into a single CMS item, you can break it down into multiple fields and use relationships between CMS collections to organize and display the data effectively. For example, you could have separate CMS collections for airports, months, and prices, and then use reference fields to link them together in your hotel CMS collection.

External Database Integration:
If your data requirements are too complex for Webflow’s built-in CMS, you could consider using an external database solution like Airtable or Firebase. These platforms offer more flexibility in terms of data structure and can handle complex data relationships more effectively. You can then use the API of the external database to fetch and display data on your Webflow site.

Check this out

@Justin_Anghelescu
For the Airtable to Webflow CMS solution recommended by @memetican, PowerImporter can pull that data into Webflow for a fraction of the cost of Whalesync - depending on the number of CMS items you need to sync.

1 Like