From my understanding , This should be you starting point on how you can format the data
Refer to the following table in the excel sheet attached.
Ordered Tableau - I see only pending Join count is at the Location Granular level
Function Table - You can add all the aggregated values at Function Level ( I Guess Head count , and others can be stored in this table )
Join the Two Tables on Filed Function
Regarding Viz : You can have an interactive viz a Function Level , then Drill down it to Locations ,etc as you need.
Marimekko chart should be a best option to show data
Seats Availability_2.xlsx 14.6 KB