Back in July, Deborah Berlin purchased one-way tickets to Barcelona on Finnair through the low-cost travel site justfly.com. Within an hour of making her purchase, she realized that she needed to change her travel dates, and knew she could cancel for free within 24 hours, per Department of Transportation rules. But when Berlin called justfly.com to cancel her airline reservations, she was placed on hold interminably.

Justfly.com’s website advertises free cancellations, emphasizing that its “customer care specialists are available 24/7 for assistance with refunds and cancellations.” When Berlin called justfy.com to cancel her booking, she was placed on hold endlessly, hearing a recorded message that “Your wait time is more than 15 minutes.”

Ah, the endless customer service recording loop. It’s maddening, and can send even the most mild-mannered customers shouting from the rooftops. Berlin’s case is a perfect example of why it’s best to avoid online travel agencies and purchase directly from the airline. And it leaves us wondering what customers should do when companies place customers on hold for excessive wait times.

And wait she did. After losing hours on hold with the company, Berlin gave up, resolving to call back in the morning. The next day, however, she encountered the same situation, without reaching an agent.

Feeling panicked at not being able to cancel the booking, Berlin called her credit card issuer, Bank of America, to dispute the charge. The bank told Berlin the charge could not be disputed because it was still “pending,” but the bank noted the time and reason for the call, as “proof” of her attempts to cancel within 24 hours.

A day later, Berlin finally reached a justfly.com supervisor, who told her the company was experiencing unusually high call volume the night she tried to cancel, because many passengers were trying to cancel trips following the attempted coup in Istanbul.

The supervisor told Berlin that justfly.com would waive its $150 per ticket cancellation fee but the cancellation would still be subject to a $250 per ticket cancellation fee charged by Finnair.

For Berlin, the proposed solution was “not fair or acceptable,” and she insisted on a full refund. That conversation got her nowhere, and in a final insult, the justfly.com supervisor hung up on her.

Berlin got in touch with me, and I reached out to justfly.com on her behalf. The company told me that it made a good faith effort to cancel her tickets with Finnair, but being outside of the 24-hour window, the airline was unwilling to issue a full refund.

Justfly.com also said that when Berlin couldn’t get through to an agent on the phone, she should have requested a cancellation via the company’s Facebook page, which it would have honored. I asked the company how customers would know to cancel through social media, a question that remained unanswered. Berlin added that perhaps its phone message should have directed customers to social media, instead of leaving them on hold endlessly.

Berlin tried to negotiate with the airline directly, but those negotiations failed. In fact, Finnair suggested she pay a $300 per ticket change fee to book new tickets, instead of incurring a $250 per ticket cancellation fee. Berlin said she was “gobsmacked by the stupidity” of the suggestion.

Ultimately Berlin canceled her tickets with Finnair, and she was assessed the $250 per ticket cancellation fee. But she wouldn’t admit defeat. She turned back to Bank of America for relief.

Bank of America initially sided with justfly.com. When she received the denial, Berlin asked if I would provide a statement in support of her appeal to Bank of America, which I did. My statement simply confirmed that Berlin had tried to timely resolve the matter and justfly.com’s failings led to her being charged a cancellation fee.

Weeks later, when Berlin hadn’t received word from Bank of America, I reached out to justfly.com one last time. At that point, she was contacted by justfly.com, who offered to refund her $250 per ticket cancellation fee as long as Bank of America was no longer considering the chargeback.

Berlin called Bank of America, which, to her surprise, had just sided with her on her dispute. Moments earlier, Berlin was empty-handed. Suddenly, she had not one, but two companies offering to make her whole.

Berlin took the $500 credit from Bank of America and closed her case with justfly.com. Her case proves that persistence can pay off, as frustrating as it can feel at times. As for justfly.com, Berlin felt all along that she was being penalized for the company’s customer service crisis.

“It’s regrettable that justfly.com hadn’t been more reasonable from the outset,” Berlin writes. “The outcome would have been the same — yet I would have been spared the hours and hours of pursuing a fair outcome and the significant stress of that effort. The company could have saved hours of employee involvement.”

When companies promise 24/7 customer support and guarantees like free cancellations, they should be able to deliver on those promises. And when they fail, those companies need to make sure they’re not hurting the very people who pay their salaries — their own customers.