If the data result is always coming in with two rows per lodge, you should be able to split up that data accordingly to get what you want. Though, I’d do my best to fix the model (the naming), so it makes more sense, first.
But then again, you could also just take the first value as the “Lodge”, save it to a “Lodges” array and as long as the “Lodge” is the same, store the keys (i.e. “Country” and “Accommodation Type”, and whatever else there is, as the column titles and store the rest in the “Lodges” array. So, you should have two arrays - “Lodges” and “Column Names” for the display. The lodges array also uses the keys as keys to keep track of which column the value would need to be under.
There are more than two categories, but in this case would just want to display the Country and Accommodation Type categories.
I’m not really sure where to start with creating the arrays though - looking online seems to throw up several examples, but I can’t see how to adapt any for this - the exact syntax required always seems to tie me in knots.
If you know of any tutorials I could follow that would apply to this sort off example, I could have a stab at it.