Currently, the 'options..options' object in the 3rd party search response is a list of dictionaries. I don't quite see why this is a list of dictionaries, and not a dictionary its self. At least, with some options/facets such as shipsTo, which has lots of possible options/values, it can take some time to loop through the list to find the correct dictionary. By changing this to a dictionary, like I have hopefully shown below, it could speed up search provider responses and the schema should make more sense. Maybe I am overlooking the reason for this being a list idk.
suggestion:
https://gist.github.com/maxharrison/72b955a3f93e9c6eaf1d787a647f36ec