Hello Webflow Community,
I’m working on a project that involves managing multiple tours each with different days offering. I need to track the capacity for each specific date in case it’s full. I’m seeking advice on the best way to design this.
Current Approach:
I have set up a multi-reference ‘Tours Schedule’ (with fields Duration, Capacity, and Date) in my ‘Tours’ Collection.
Each Tour can take multiple dates each with different capacity.
For example I have a tour to a historic place, I would create ‘Tours Schedule’ records for each day it’s offered, and then link them in ‘Tours’.
Concerns:
I want to offer a certain tour throughout the year, but in my current approach I would need 365 record for each tour, which seems inefficient.
Possible solution:
I’m considering using a JSON field for dates, this way I could delete the ‘Tours Schedule’ Collection and add a ‘Dates’ JSON field. However, I’m not sure if this approach is reliable in webflow.
You’re building an administrative nightmare if you go that route.
The CMS does not have the capabilities needed to support an application. No querying or batch operations of any kind. No two-way relations. No user-specific data support. No opportunity to define indices, keys, JSON fields. No transactional integrity.
You’ll be much better off integrating a tour booking system, and the administration alone is worth it for your client. Not to mention billing support, scheduling and inventory support, customer data security, and so much more.
It sounds like you’re trying to simplify the process of managing multiple tours with different capacities for each date, which is a smart move.
For your concern with the 365 records per tour, using a JSON field to store dates might help reduce redundancy, but it could be tricky when it comes to querying and filtering specific dates or tracking capacity in a manageable way. Webflow’s CMS isn’t fully optimized for querying JSON data, which may make it harder to scale and maintain in the long run, especially if you need to interact with the data dynamically on the front end.
A more scalable approach could be to use a separate “Dates” collection that links back to your “Tours” collection. Instead of storing the dates in a JSON field, each date would have its own record, and you could include fields for capacity and availability. This way, you wouldn’t be duplicating your entire tour data for each date but instead creating a more structured, easily queryable setup. You could then filter by date ranges and track availability dynamically.
You might also want to consider using Webflow’s “Reference” or “Multi-Reference” fields to link “Tours” to specific “Dates” without overcomplicating the structure. Although it’s still adding a few more records, it should scale more effectively as your project grows.
Like you have mentioned @Scarletioshub this kind of project will need DB and not CMS. DB and CMS principle look similar (storing data) but they are completely different tools even than behind the CMS is DB. CMS is more for data stored in predefined UI structure of “form”, DB (doesn’t have UI until you build one) is more flexible and complex when it comes to structure, string different types of data and querying these directly from table or tables combination.
Like was mentioned WF is not tool you should use for this type of project. @Hamza1 can try but…