Help with GROUP() after mapping one "child" array

In below schema, I have a list of ‘services’, each with their own categories (property ‘token’). Goal is to count how many times each price ie 149 usd, 199 usd, etc… there are in ‘services’ for a chosen category, ie ‘stay’.
Result from selecting ‘stay’ in below example should be 149 (2) | 199 (1)

services [
 categories [
  {token: stay}, {token: sports},...
           ]
price: 149,

 categories [
  {token: stay}, {token: adventure},...
           ]
price: 149,

 categories [
  {token: stay}, {token: sports},...
           ]
price: 199,
]

I need to MAP all the way down to array categories but then I can’t GROUP and COUNT based on ‘price’ property - only group based on ‘token’ (pricing.token):


GROUP<pricing>(SELECT<category>(FLATTEN(MAP(FLATTEN(MAP(data.ProvidersDBcount, item.services)), item.category)), category.token==params.categParam), pricing.token, {price: key + " "+LOWERCASE(appVars.userCurrency)+" ("+COUNT(items)+")"})

Any trick for grouping based on the price property - which is kind of one level up (parent) from categories list?
@Vignesh_Rajendiran I remember you shared a solution a couple months ago regarding another mapping challenge, do you have any insight here?