The /atg/endeca/assembler/cartridge/manager/NavigationStateBuilder component (of class atg.endeca.assembler.navigation.ExtendedNavigationStateBuilder) has a rangeFilterBuilders property that can be set to an array of components of classes that implement the atg.endeca.assembler.navigation.filter.RangeFilterBuilder interface. Classes that implement this interface construct Endeca range filters that are applied to results returned from MDEX queries.
Commerce Reference Store configures the rangeFilterBuilders property as follows:
rangeFilterBuilders+=\
/atg/endeca/assembler/cartridge/manager/filter/DateRangeFilterBuilder
The DateRangeFilterBuilder component, which is of class atg.commerce.endeca.assembler.navigation.filter.DateRangeFilterBuilder, builds range filters based on the startDate and endDate properties of products and SKUs. It has startDatePropertyNames and endDatePropertyNames properties that are configured like this:
startDatePropertyNames=\
product.startDate,\
sku.startDate
endDatePropertyNames=\
product.endDate,\
sku.endDate
Because its navigation state is managed differently from other cartridges used in Commerce Reference Store, the /atg/endeca/assembler/cartridge/handler/RecordSpotlight component uses a separate component of class atg.commerce.endeca.assembler.navigation.filter.DateRangeFilterBuilder to build range filters. This component is specified through the RecordSpotlight component’s rangeFilterBuilders property:
rangeFilterBuilders=\
/atg/endeca/assembler/cartridge/manager/filter/RecordSpotlightDateRangeFilterBuilder
Note that the startDate and endDate properties are null on all products and SKUs included in Commerce Reference Store, which means that, by default, no records should be filtered out based on start or end dates. See the Indexing the Product Catalog section of the Search and Guided Navigation chapter for information about how these records are indexed to ensure they are handled properly by range filters.

