DB schema ideas on service offerings

I am looking at best practices on how I should approach the booking database schema for this use case.

For example, a company offers Service A and Service B, often separately, so it can be approached by creating a consolidated database that records both services.

But in case, the company would offer this as a package, say Service AB, how would you design the database?

As a non-expert and beginner, I am looking at creating a thing/database inside 3 databases, a database for Service A, Service B, and Service AB. The purpose is for generating in-app reports or business intelligence, but is this logical and technically sound?

  1. A database is all of the data surrounding your app.
  2. A data type is a table of data.
  3. A Thing is a row of data.
  4. A field is a column of data.
  5. All things have fields. Fields describe the Thing.

You would have a service data type as you correctly identified. One approach would be creating another service which has a List of Services field. This way, services can be sold individually (when List of Services is empty), or services can be added to a bundled service (when List of Services is not empty).

Sorry, if this is the appropriate definition then I meant data type for this purpose.

1 Like

I know, I just corrected you because knowing the right terms will help you understand the forum better and communicate your ideas effectively :wink:

1 Like

Just to clarify, I would need 1 data type containing service A and B separately, then also a data type for the combined Service AB but as list? Is this correct?

Yeah it’s one way of going about it. You could have a completely separate ‘Bundle’ data type. All have different pros and cons.

Thanks man! I’ll explore the ‘list of things’ option for this kind of use case.