erDiagram
Place {
Guid Id
String Name
String Address
}
Booking {
Guid Id
Guid PlaceId
Date CheckIn
Date CheckOut
Bool IsConfirmed
}
Booking2Guest {
Guid BookingId
Guid GuestId
}
Guest {
Guid Id
String Name
}
GuestContact {
Guid Id
Guid GuestId
Int Type
String Value
}
Booking }o--|| Place : has
Booking ||--o{ Booking2Guest : contains
Guest ||--o{ Booking2Guest: orders
Guest |o--o{ GuestContact: "may have"
- Uma reserva (Booking) pode conter mais do que um Hóspede (Guest).
- Uma reserva (Booking) está obrigatoriamente relacionada a um lugar (Place).
- Um hóspede (Guest) pode conter mais do que uma forma de contato.
GuestContactType
pode ser:0
unknown1
email2
phone