reserve function in service