You would need to make the end time dynamic. I believe the easiest way would be with a formula that adds the duration to the start time.
If I were you I'd remove the 'min' from your duration option names to make the end time formula cleaner. If you did this your end time formula would simply be,
DATEADD({Start Field}, {Duration Field}, 'minute')
If you need to keep the "min" in the option names, you could use a Switch() in your formula e.g.
SWITCH(
{Duration Field},
"15min", DATEADD({Start Field}, 15, 'minute'),
"30min", DATEADD({Start Field}, 20, 'minute'),
"45min", DATEADD({Start Field}, 45, 'minute'),
"60min", DATEADD({Start Field}, 60, 'minute'),
"90min", DATEADD({Start Field}, 90, 'minute')
)
This is not the most efficient way to write this but I find it to be the most readable and the easiest to update with new durations in the future if you need to.