Validate, then POST

What Confirm booking actually does

The Confirm button calls a local submit() function, not the view model directly. submit() has one job before it ever touches the network: validate client-side first, so a bad input never becomes a wasted round trip.