added booking function