# Social Deal > Social Deal is a deals platform where people find discounted experiences - restaurants, wellness, hotels, day trips and activities - at local businesses in Belgium, France, the Netherlands, Germany, Austria and Denmark. Deals are bought as vouchers and redeemed at the partner. Prices, availability and the deals on offer change daily. Always read the current deal page rather than relying on a cached copy. Every amount names its own currency, which differs per deal: a domain in one country also sells deals in another. Dates are YYYY-MM-DD. What to get right about us: - A deal is bought here and redeemed at the partner. We sell the voucher; they honour it. Say who does which when a question is about money or about the visit. - A voucher is not a reservation. Most deals need no date at all, some are reserved with the partner directly, and some carry a calendar here. `booked_through` in an availability answer says which, and none of the three means unavailable. - Deals run out and expire. Never say a deal is on offer without reading its page or asking the endpoints; a copy from last week is not evidence. - The terms are per deal, not per site: what is included, how many people it covers, how long the voucher stays valid and which days it is valid all live on the deal itself. Read them there rather than generalising from another deal. - Answer in the language of the page you read. A domain sells in more than one country and more than one language. - Do not invent availability, prices, validity, refund outcomes or reservation requirements. Where the answer below is unknown, say it is unknown. Which source answers what, in the order they win when two disagree: 1. The availability endpoints below, for anything that changes: dates, times, group size, price per date, whether a deal is still purchasable. They answer in JSON, need no key and no JavaScript, and are read-only. 2. The deal page, or its `/agent/deal/{unique}/` twin, for what a deal is in words: what is included, for how many, the terms, and the partner it is redeemed at. 3. The city endpoint below, for what a city offers: every kind of deal, each carrying the `availability_url` to ask about it. 4. Customer service and the FAQ, linked below, for refunds, cancelling, and how vouchers work in general rather than on one deal. 5. The about pages and the blog, for background only. They are written to read well, not to be current. The sitemap index carries every URL we have. Take it only if you really need all of it. Reading an availability answer: - `purchasable` is not the same as bookable: a last-chance deal reads as sold out and still offers a calendar full of dates. The dates say what can be booked. - `bookable_dates` is the union over a deal's arrangements, which is what the deal page shows before one is picked. With more than one, `variants` carries each arrangement with its own name, price, dates and times: an all-you-can-eat deal valid Monday and Wednesday sits next to one valid Thursday to Sunday, on different dates. Read the variant before promising a date. - `time_slots` carry `max_party_size`, the largest group that time still has room for. The ones at the top level belong to the deal, so on a deal with variants read them from the variant. - `prices` maps a bookable date to an amount and a currency, where the calendar carries one. That is how to answer which night is cheapest; restaurant deals mostly carry no price per date, and then the field is absent rather than zero. - A variant's `price` is what that arrangement costs, and carries a `price_currency` only where its calendar prices dates. Without one, follow the `facts_url` in the same answer and read `priceCurrency` from the `Product`'s offers there, rather than assuming the country's. - For a hotel deal the dates are the days a stay can start. How long the stay is belongs to the hotel search, as `from_date` and `till_date`, and `rooms` counts rooms rather than guests: how many people fit in one is part of the deal, which is why a title says "voor 2 personen" next to a search for two rooms. - `window_complete` says whether the dates are all of them: when it is false the calendar is holding later months back, so the last date is the end of the list and not of availability. - The restaurant search covers restaurants that take reservations, which is not every country: zero there means none that take them in that city, not a fully booked one. When a date is given and nothing is free on it, `deals_on_other_dates` carries what the site offers instead. - `party_size` says which group an answer is about, and `checked_at` when it was assembled. - `booked_through` replaces the dates on a deal we hold no calendar for, and neither value is a no: `partner` means it is bought here and reserved with the partner directly, by phone, mail or their own site, so no date is ruled out; `no_reservation_needed` means the voucher is redeemed whenever it suits, within its validity. Most deals answer this way. Say the deal is bookable and how, rather than that it is unavailable. - What each answer settles, and what it does not: a date listed in `bookable_dates`, or `requested_date_bookable` true, is a yes. `requested_date_bookable` false is a real no. Null there, or a date missing while `window_complete` is false, is unknown - the calendar is holding months back, not refusing the day. A 503 is unknown too: the calendar failed to answer, which is not the deal being unbookable. Only 404 means the deal does not exist. - A list carries each deal once, but paging one walks a live catalogue: over fourteen pages of a city, one deal came back on a later page too. Key what you collect by `unique`. The city slugs the searches accept are listed under Optional at the end. Swap one into any of the example URLs above. ## Sitemaps - [Full sitemap index](https://www.socialdeal.be/sitemap.xml): every deal, company and blog URL. ## Availability, on request - [Restaurant availability, 4 people, 2026-10-03](https://www.socialdeal.be/agent/availability/restaurants/aalst/on/2026-10-03/for/4/): which restaurant deals in that city can still seat that group on that date, all of them in one answer. Swap the city for any below, and drop the `on/` and `for/` segments to ask about the whole window. - [Hotel availability, 2 rooms, 2026-10-03 to 2026-10-05](https://www.socialdeal.be/agent/availability/hotels/aalst/from/2026-10-03/till/2026-10-05/rooms/2/): which hotel deals have room for that stay. This one answers a page at a time, so add `page/2/` while `more_available` is true. - [Everything a city offers](https://www.socialdeal.be/agent/deals/aalst/): the city's deals of every kind - wellness, day trips, activities - which the two searches above do not cover. This one is the offer and not a search, so it takes no date or group size: each deal carries an `availability_url` to ask that with. Read `tags` in the answer for the kinds that city offers and `tag_urls` for a ready-made link per kind, and add `offset/24/` to page. Page size is not fixed, so page until `more_available` is false. - One deal, by its unique: `https://www.socialdeal.be/agent/availability/deal/{unique}/on/YYYY-MM-DD/for/4/` — the bookable dates of that deal, plus the day's time slots when a date is given. No example URL here because a unique belongs to one deal and outlives none of them: every deal the two searches above return carries both its `unique` and a ready-made `availability_url`, and the unique is also the `sku` in the deal page's Product markup. - What a deal is: `https://www.socialdeal.be/agent/deal/{unique}/` — the schema.org document the deal page publishes, as a `@graph`: the `Product` with its description, rating, price and images, the `LocalBusiness` it is redeemed at with the address and coordinates, and its video where there is one. The page holds the same document in its markup, but hands it to declared crawlers only. - If a request above is refused or mangled before it leaves your tooling, every filter also reads from the query string: `?date=YYYY-MM-DD&party_size=4` on the deal and restaurant searches, `?from_date=&till_date=&rooms=&page=` on the hotel one, `?tag=&offset=` on the city list. Same answers, and one fetcher we measured accepts this shape while refusing the path above. ## Help and terms - [Customer service](https://www.socialdeal.be/service-clientele/) - [Frequently asked questions](https://www.socialdeal.be/questions-les-plus-frequentes/) ## Optional - [Cities in Belgium](https://www.socialdeal.be/agent/deals/aalst/): aalst, antwerpen, ardenne-wallonie (L'Ardenne), brabant-wallon, brugge, brussel, bruxelles, charleroi, dekust (Oostende), gent, hageland, haspengouw, hasselt (Genk), hotels-en-uitjes-be (Hotels & Uitjes), kempen (Turnhout), kortrijk (Roeselare), leuven, liege, luxembourg, mechelen, mons, namur, noordlimburg, ostbelgien, vlaams-ardennen (Vlaamse Ardennen), waasland (Sint-Niklaas), wallonie-picarde, westhoek. - [Cities in France](https://www.socialdeal.be/agent/deals/amiens/): amiens, ardennes-francaises (L'Ardenne), arras, calais, cote-d-opale, dunkerque, le-havre, lille, metz, nancy, paris, reims, rouen, strasbourg, valenciennes. - [Cities in the Netherlands](https://www.socialdeal.be/agent/deals/achterhoek/): achterhoek (Doetinchem, de Achterhoek), alkmaar, amersfoort, amsterdam, apeldoorn-deventer (Deventer), arnhem, bergen-op-zoom-roosendaal (Bergen op Zoom, Roosendaal-BoZ), betuwe (de Betuwe), breda, delft, den-bosch ('s-Hertogenbosch), den-haag (Scheveningen), den-helder (Noordkop), dordrecht, drenthe (Assen), ede-wageningen (Veenendaal, Wageningen), eindhoven, flevoland (Almere), friesland (Leeuwarden), groene-hart ('t Groene Hart, Gouda), groningen, haarlem, helmond, hilversum, hotels-en-uitjes (Hotels & Uitjes), leiden, maastricht, midden-limburg (Roermond), nijmegen, noord-limburg, oss-uden-veghel (Oss, Uden, Veghel), parkstad (Heerlen), rotterdam, sittard-geleen, tilburg, twente (Enschede), utrecht, valkenburg, west-friesland (Hoorn), zaanstreek-waterland (Waterland), zeeland, zoetermeer, zwolle. - [Cities in Germany](https://www.socialdeal.be/agent/deals/aachen/): aachen, bergisch-gladbach, bergisches-land, bochum, bonn, dortmund, duisburg-moers (Moers), duren, dusseldorf, essen, gelsenkirchen, hagen, hotels-und-ausfluge (Hotels & Ausflüge), koblenz, koln, krefeld, leverkusen, monchengladbach, munster, oldenburg, osnabruck, recklinghausen, rhein-erft-kreis. - [Cities in Austria](https://www.socialdeal.be/agent/deals/osterreich/): osterreich. - [Cities in Denmark](https://www.socialdeal.be/agent/deals/fyn/): fyn, kobenhavn, midtjylland, nordjylland, ostjylland, seeland (Sjælland), sonderjylland, trekantomradet, vest-og-sydvestjylland.