Potential client cancel last minute and get angry?

I had a meet and greet with a client a week before their trip that needed 4 drop-ins over 4 days. I arrived and they surprised me with a second cat that needed to be cared for, as well as a mistake in when their flight dates were so they needed a 5th drop in. I later rearranged some day-job schedules to accommodate this (in which I'm usually unavailable) and responded with an increased rate for the second cat. After answering all their messages with lots of back and forth, modifying the request with the new rate, and never hearing their direct confirmation of the price, they told me 24 hours before their trip that they found another sitter for the weekend. They told me they didn't feel I was interested anymore because they hadn't felt I was responding quick enough about their stresses over their trip. This issue could obviously be up for debate without reading the direct conversation, but I felt that I was consistently responding in an appropriate amount of time to all their concerns. Over the week, I would write large paragraphs and they would respond with a few words that I felt didn't give me a direct answer. I responded politely that I was disappointed with the outcome as I felt like I made a lot of accommodations that shouldn't have come across with a lack of interest and wished them well on their trip. They then berated me with screen shots showing the amount of time between texts on the app and multiple text messages explaining how I was wrong with my communication and continued to text well after it should have been dropped. I've had multiple clients compliment me on my communication skills and I try to accommodate every client to the best of my abilities. This had many moving parts and was a hassle to schedule given minimal responses.

My questions are these: Has anyone ever had a client or potential client get visibly angry on the app? It's obviously hard to explain the entire story here, but I felt that this was unwarranted and over the top for this situation.

Can a client initiate to book the stay from the request or does the sitter have to select "book" in order for them to confirm? I assumed this goes both ways as I had the modified request listed for 4 days to allow them to negotiate if needed. They told me they hadn't seen it until after I selected "book" 24 hours before their trip in order to get the booking going. (They had not stated, in my opinion, that they were alright with the new rate yet, so I just selected "book" to make sure it was still happening.)

Whether or not one of us was right or wrong, I'm just curious about these couple issues above. I want to prevent this from happening again. Thanks.