use given context instead of getSite
use get_bookings from utils
minor cleanups and optimizations
use booking utils
cleanup interfaces