added validation for reserve,purchase and retrieve