generalise add booking dialog