Don't swallow actual exceptions in the API
Reservation.create_from_form => create_from_data

That way it's easier to use when no form is involved