reservation with basic functionality