applyOffer -> calculateOffer