abstract application for reservervation, in the future can be has broader function