i build viajante, a free open source travel search tool. this part doesn't search anything. it does the math after you've picked where to stay. the problem is a group where people arrive and leave on different days. split the total by headcount and someone pays for nights they weren't there. so there are two local tools for it. plan_stay_blocks groups consecutive nights with the same people. it looks at who, not how many, so if one person leaves and another arrives the same night, that starts a new block. split_stay_costs splits each chosen stay among the people in it by nights, down to exact cents. it needs a confirmed list of who's there each night and a named currency. if that list has nights none of the chosen stays cover, it reports them as unallocated_nights instead of quietly dropping them. it doesn't fetch prices or convert currencies, and it's not a booking service. you still pick and confirm the stays yourself. MIT licensed. short write-up here: https://github.com/felipebasurto/viajante/blob/main/docs/usage.md#awards-points-and-stay-arithmetic-local how do you usually handle this with friends? one person pays and a spreadsheet later?   submitted by   /u/Fast_Entrance7839 [link]   [comments]