Skip to content
Daily Detour2026-10-19

Filter Options Cover the Whole Inventory, Not Just One Page

A city missing from a dropdown looks exactly like a city that does not exist.

When adding hotels to a catalogue, the city and brand filters can now list values from the platform’s entire hotel inventory instead of only the current page, and say plainly when that list is still being prepared. The mapping workbench now filters before it counts and pages.

A small dish holding three beads on the left, an hourglass in the middle, and a full column of labels packed into a large box with a check mark on the right.
Filter options come from the whole hotel inventory; an unfinished list says pending, and only a finished one is marked complete.

Someone building a catalogue usually opens the City filter first. If the dropdown lists only the cities that appear on the current page of results, the city they want may not be there, and the natural conclusion is that the platform has no hotels in it. They give up, or look elsewhere.

Listing everything is not free. The hotel inventory is large, and recomputing every city and brand each time a dropdown opens would slow the page down. Taking values from the current page is fast, cheap and wrong. There is a quieter mistake as well: filtering after pagination, so the first page shows three rows while the total still claims more than a thousand.

City names and brand names, including hotel group names, are built as a whole-inventory vocabulary: read in bounded batches, published in one piece when complete, shared across requests, and rebuilt five minutes after each build starts. Until it is ready the response says pending; only a finished list is marked complete, so the interface never presents half a list as the whole.

The mapping workbench follows the same idea: one set of filters drives both the count and the page, so totals and rows agree. The cost is a possible wait the first time the vocabulary is built. We would rather have the interface say it is still preparing than let a partial list pass as complete.