fixing validations and better error messaging when booking fails