I briefly describe the contact model I have built in the Contact Builder. I have taken the Marketing Cloud Consultant course in which the lecturer stated a few exceptions where things do not work as they should when it comes to Contact Builder's relationship. So, before we start building the journey I would like to make sure things are correctly wired in my Attribute Group. There are 3 tables in this group: Customers, Bookings and Flights.
The Customers's PassengerID (unique) is connected to the ContactKey and each customer has an email address associated.
Customers has a one-to-many relationship with Flights. Each customer can fly more than one time (Customers.ID = Flights.PassengerId).
Bookings have a one-to-many relationship with Flights, too. Each booking can include more than one flight. (Bookings.BookingKey = Flights.BookingKey)
As seen above, it looks as if Flight has a central role in the model. It looks good in a database system. But I have my doubts about when we start building our journeys.
In Journey Builder, fetching the data starts at the ContactKey. E.g. if we are looking to see if a specific flight is canceled, we need to carry BookingKey containing that flight in the Entry Point Data Extension of the journey, start from ContactKey, look for the flights related to that BookingKey and check if any of them are canceled.
Does this model look stable for you? Do I need to add a middle table for my one-to-many relationships? Is Journey Builder capable of understanding this model the way SQL Server is?
Inputs and suggestions are highly appreciated.