---
title: "Exemple de filtres"
description: "Un exemple d’UX de recherche combinant les horaires Google de Millcheck et les habitudes d’ouverture du SIT."
canonical_url: "https://docs.millcheck.fr/widgets/exemple-filtres"
---
# Exemple de filtres

> Un exemple d’UX de recherche combinant les horaires Google de Millcheck et les habitudes d’ouverture du SIT.

Les horaires Google et les périodes d’ouverture du SIT ne répondent pas à la même question. Les combiner permet de proposer à l’internaute une recherche à la fois **fiable à court terme** et **utile pour préparer un séjour**.

<card-group>
<card icon="i-simple-icons-google" title="Ouvert cette semaine">

**Horaires à jour (7 jours), données Google via Millcheck.**

Filtres : jour (aujourd’hui, demain…) et moment (*maintenant*, *midi*, *soir*).

Endpoint : [`GET /opening-hours/search`](https://docs.millcheck.fr/api/horaires-recherche) avec `time_slot=now`, `noon` ou `evening`.

</card>

<card icon="i-lucide-calendar-range" title="Habitudes d’ouverture">

**Horaires habituels (indicatifs), données SIT.**

Filtres : jours de la semaine (lun. → dim.) et services (*midi*, *soir*).

Source : périodes d’ouverture saisies dans le SIT, à vérifier avant de se déplacer.

</card>
</card-group>

## Exemple de mise en œuvre

Pour un filtre « Ouvert ce midi » sur une liste de restaurants :

<steps level="3">

### Interroger Millcheck côté serveur

```php
$url = 'https://api.millcheck.fr/public/opening-hours/search?' . http_build_query([
    'api_key'    => 'VOTRE_CLE_API',
    'date_start' => date('Y-m-d'),
    'time_slot'  => 'noon',
]);

$response = json_decode(file_get_contents($url), true);

$idsOuverts = array_keys(array_filter($response['datas'] ?? []));
```

### Filtrer votre liste d’objets

Conservez les objets dont l’identifiant SIT figure dans `$idsOuverts`. Pensez à mettre le résultat en cache quelques minutes : les horaires ne sont synchronisés qu’une fois par jour (sauf pour `now`, qui dépend de l’heure courante).

### Afficher la source

Indiquez à l’internaute la nature de la donnée, par exemple : *« Horaires actualisés via Google, pour les 7 prochains jours »* et, pour les données SIT : *« Horaires indiqués par les établissements, à vérifier avant de réserver »*.

</steps>


## Sitemap

See the full [sitemap](https://docs.millcheck.fr/sitemap.md) for all pages.
