I had a final interview with company A. They sent me a formal offer (contract and all), and asked how long I would need to make my decision. We agreed to another call in 7 days, which, I've read, is a respectable period.
Two days later, I received an offer from company B, which I prefer. I plan on accepting this second offer.
However, the 7 days agreed upon with company A are not up yet. How do I politely reject company A? Do I wait for them to call me, respecting the agreement to call (effectively wasting their time to recruit other candidates), or do I write up an email explaining that I've received another offer?