---
name: too-good-to-go-explorer
description: Sprawdza dostępność paczek-niespodzianek (surprise bags) w Too Good To Go dla podanych współrzędnych geograficznych.
---

# Too Good To Go Explorer

## Zakres
Kiedy użytkownik pyta o:
- „paczki-niespodzianki”, „tanie jedzenie”, „Too Good To Go”
- dostępność w Twojej okolicy

…korzystaj z endpointu Too Good To Go dla konkretnych współrzędnych (lat/lng) i języka `pl`.

## Komenda cURL (bazowa)
Używaj zapytania (lub odpowiednika w narzędziach), które opiera się o:

curl -X GET "https://www.toogoodtogo.com/api/surprise-bags/item-list?lat={lat}&lng={lng}&language=pl&page=0&withStockOnly=1" \
  -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36" \
  -H "Accept: application/json" \
  -H "Accept-Language: pl-PL,pl;q=0.9"

## Parametry wejściowe
- lat (Float) — wymagane
- lng (Float) — wymagane

Jeśli użytkownik nie poda lat/lng ani jednoznacznego miejsca do przeliczenia na współrzędne: poproś o współrzędne (albo o dokładny adres + decyzję czy masz go geokodować z poziomu narzędzi systemowych).

## Interpretacja odpowiedzi JSON
Endpoint zwraca strukturę z kluczem `items`:

Przykład:
{
  "items": [
    {
      "display_name": "Biedronka - Ostrów Wielkopolski",
      "item": {"price": {"minor_units": 1499, "code": "PLN"}},
      "items_available": 3
    }
  ]
}

Zasady:
- `display_name` = nazwa sklepu
- `items_available` = liczba dostępnych paczek
- `item.price.minor_units` = cena w „groszach” (dziel przez 100)

## Formatowanie wyjścia
Zawsze prezentuj wyniki jako przejrzystą listę punktową.
Dla każdego sklepu wypisz:
- nazwa sklepu (`display_name`)
- cena (minor_units/100 + "zł")
- dostępna liczba sztuk (`items_available`)

Jeśli lista jest pusta (brak `items` albo `items=[]`):
- poinformuj użytkownika, że aktualnie brak dostępnych paczek dla tych współrzędnych.

## Heurystyka i zachowanie
- Używaj `withStockOnly=1`, aby dostawać tylko pozycje dostępne.
- `language=pl` ustawiaj domyślnie.

---

## Przykład: The White Bear Coffee (szczegóły sklepu)

Dla „The White Bear Coffee" (Polska) mamy znane współrzędne i wzorzec zapytania:

### Współrzędne
- **lat**: `50.0614`  (okolice centrum miasta)
- **lng**: `19.9366`

### Zapytanie API
```
curl -X GET "https://www.toogoodtogo.com/api/surprise-bags/item-list?lat=50.0614&lng=19.9366&language=pl&page=0&withStockOnly=1" \
  -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36" \
  -H "Accept: application/json" \
  -H "Accept-Language: pl-PL,pl;q=0.9"
```

### Heurystyka „duża paczka"
Wynik może zawierać kilka ofert od tego samego sklepu (różne rozmiary). Aby wybrać tę największą:

1. Przeszukaj `display_name` pod kątem słów-kluczy:
   - `large` / `Large`
   - `duża` / `Duża`
   - `paczka 40/` (np. „Paczka 40 sztuk")
   - `big`
2. Porównaj ceny (`item.price.minor_units`): wyższa cena → zazwyczaj większa paczka.
3. Jeśli nie da się jednoznacznie wybrać → wypisz wszystkie oferty i zaznacz, która wygląda na największą.

### Schemat odpowiedzi (przykład)
```json
{
  "items": [
    {
      "display_name": "The White Bear Coffee",
      "item": {"price": {"minor_units": 2999, "code": "PLN"}},
      "items_available": 2,
      "item.description": "Large bag - assorted pastries"
    }
  ]
}
```
Interpretacja:
- Nazwa: **The White Bear Coffee**
- Cena: **29,99 zł**
- Dostępnych: **2 sztuki**
- Opis sugeruje dużą paczkę (słowo „Large")

Pełne szczegóły sklepu patrz: [references/white-bear-coffee.md](references/white-bear-coffee.md)
