Anyone with experience structuring a hotel database in Bubble?

Need help structuring a database (hotel marketplace)

I followed the “How to Build” Bubble Airbnb tutorial but it didn’t help me solve this problem.

Room Types (junior suite, suite, premium suite,etc)
Facilities (pool, gym, free wifi, kids club, etc)
Services Included
Services Not included (spa, yoga classes, massages, etc)

  1. How to know which are Data Types and which are Data Fields?
  2. How to classify the “Services no Included” (spa, yoga classes, massages, etc), and the “Facilities” (pool, gym, free wifi, kids club, etc). Are these Data Types or Data Fields?
  3. How to know which Data Types or Data Fields needs to be related with others?
  4. How to know to what Data Type or Data Fields each specific Data Type or Data Field needs to be related to?
  5. How to relate them with each other?
  6. If I want users to be able to search for “Hotels with Gym in Madrid” what should I do?

Can anyone show me a graph with a good way of doing this?

Thanks in advance for your time.

Hi @manuelcfeteira

Just did a quick Google search an entity relationships for a hotel management system

This is the first result > E-R Diagram for Hotel management system ( Entity Relationship Diagram)

Thank you cmarchan!
I am afraid those diagrams at this stage are too complicated for me :blush:
I would like to know how to move forward working inside Bubble editor and for that I wouldneed some help with my specific neeeds/questions concerning the Bubble platform.
I realy apreciate your time cmarchan.

I recommend you watch these neat short videos created by Bubble to learn how to build your first app

Also … this interesting video on how to structure your database by the good folks from Zeroqode > How to Configure Database in Bubble

I built a hotel booking app before.

Hotel would be a data type and you would have country, city as a data field

Room would be a data type and it would have a data field of type (make it an option set) create the option set to have the options of junior, premium etc. Also add hotel ID as a text data field so you know which hotel it belongs to.

Facilities can be an option set. On your hotel data type make a data filed that is a list of the option sets you create for facilities

Services is the same as facilities. Do not bother with services not included, it is not necessary as you will make a list of services for hotels to choose from to add if they offer it…if they don’t then it is not in the list and therefore not included

Reviews is a data type. It will have a data filed of text for Hotel ID to know which hotel it is for. It will have other data fields like comments, rating etc.

You don’t need a data type of guests…it is a user if they make a booking and if they make a booking they are the ‘creator’ and you can access the user info through the bookings creator.

Photos is a data type or a data field…depends on how you want to set it up. I’d make it a data type and put a text field for Hotel ID and another text field for room ID so you know if it is of a certain room type or not.

Good luck


Hello @boston85719!

Great!! You were very helpful!!
“Option set” was the answer. Thank you for that! :slight_smile:

But I am afraid I still need some help with the “Services” issue.

If I understood well, “Option set”, is for choosing one option from a list of options (best illustrated by the dropdown use case). Right?

In the process of submitting Hotels into the marketplace, if you want users (hotel owners) to be able to choose many options from a list of options in order to best describe their hotels (services, facilities, etc), how to do this in Bubble Data Tab?
The best way I can think of to illustrate this is a “combo box” option, very common in advanced search options (combo box menus with hotel features like the one on Booking left scrolling bar?)

How to solve this problem in Bubble Data Tab?

Thanks again for the value you have already provided to me and to the Bubble community!


make the data field a list

Man, there are just so many places to train with so many people. I work as a yoga coach and it was often a problem for me to find spacious yoga retreats with my group, but after talking with my colleagues I came across I was pleasantly surprised because this site has a huge number of cool places where you can hold yoga classes in a large company and it is very convenient. I think that everyone can do this and that there are absolutely no contraindications here

This is great info!

Did you ever look at API connections with myallocator/cloudbeds or any other channel management software and did this structure make it easier to link either in theory or in practice?

For example, each room will need some indication of the number of units available. Would you create this unit count as a field under the data type room?

I’m at the early stages of figuring out how I should structure or at least future proof so I can be compatible with these external systems for dynamic availability/ pricing etc

I did not.

That sounds like the likely approach.

1 Like