Entity roles and groups. How are they different in their usage and extraction

Hi, I have a scenario where I have to capture flight search, for slots like origin-location, destination-location (here I am using entity -> location and role -> origin or departure). Also I need to capture multiple date slots, like date-departure-origin, date-return and a lot more slots for time, i.e., time-departure-origin, time-arrival-destination, time-return-destination, time-arrival-origin (assume its a round trip then we have 4 time slots). So for time and date I am using entity groups.

If I include more examples for my bot to include hotel booking as well, then I have even more slots for date and time.

Can someone guide me, whether its a good idea to have entity-roles for location and entity-groups for dates and time, and if not, then how should i manage it.

Any example would be of great help. Thanks !!