Spotlight rules
spotlightRules that change what a visitor sees depending on where and when they search: a banner for a region or a date range, featured locations, only certain locations, or hidden ones. One trigger and one action each, applied in list order after territories. Use action=list first to see what exists.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | The rule, for update, delete, enable and disable. | |
| name | No | What the rule is called, for create and update. | |
| action | Yes | What to do. list is read-only. | |
| endsAt | No | ISO timestamp. After it the rule is dormant. Optional. | |
| startsAt | No | ISO timestamp. Before it the rule is dormant. Optional. | |
| actionKind | No | What happens. banner = a message above the results; feature = move locations to the top or bottom; only = show just these, taken from the whole network; hide = remove these. | |
| triggerKind | No | When the rule applies. always = every search; no_results = a search that found nothing; radius = within a distance of a point; polygon = inside a drawn area; postcodes = a postcode list, only matched by a typed search; filter = while a tag filter is on. | |
| actionFields | No | The action's own fields: {message, linkUrl, linkLabel} for banner, {locationIds: [...], position: 'top'|'bottom'} for feature, {locationIds: [...]} for only and hide. | |
| triggerFields | No | The trigger's own fields: {lat, lng, radiusKm} for radius, {points: [[lat, lng], ...]} for polygon (at least three), {postcodes: [...]} allowing a trailing * for a prefix, {tagId} for filter. Empty for always and no_results. |