The person doing the booking, usually the maid of honor. Collect from every bridesmaid upfront, before anything is reserved, and keep the record visible to the whole group so nobody has to ask where the money went.
Bachelorette trips are expensive, planned by group chat, and paid for by whoever grabs the reservation first. The maid of honor fronts the house, the party bus, the decorations, then spends the months before the wedding collecting from eight people with eight different ideas of what they agreed to pay.
Most groups don't want the bride paying for her own bachelorette, so her share gets covered by everyone else. The clean way to do that is to leave the bride off the shares entirely and set each bridesmaid's number a little higher to carry her part, agreed once, in the open, instead of someone quietly eating the difference at checkout.
The same idea covers a bridesmaid who genuinely can't afford the full trip: the group can lower her share and spread the rest, and because every number is on the record, nobody is guessing who paid what. It's the same warmth you'd handle over dinner, just written down so it stays fair. (A plain girls trip with no wedding attached? Same setup, fewer roles, see handling money for a girls trip.)
Everything is visible the whole time, who chipped in, what's there, what was approved out. TableCash never holds the money; it goes to the organizer, and the app is the record everyone can see.
Nobody wants to be the maid of honor who put the Airbnb on her own card and then chased everyone for their share. So don't. Every bridesmaid saves a card and promises her part of the weekend now, with no charge yet.
Cards only run once enough of them are in for the trip to be real, and then they all charge together. That means no fronting and no quiet flake, because a commitment is a saved card the whole group can see. It's soft while the table fills and she can take it back untouched, binding after. This is how you get everyone committed before you sign anything.