implement functions:
book, check, confirm, wait