Inloggen. Kiezen. Bevestigen.
Op Allergie-ID kiest de gast een persoon of eigen groep. Alleen aangevinkte personen, beperkingen en optionele notities worden gedeeld.
Laat je gast inloggen met Allergie-ID en een eigen profiel of groep kiezen. Jullie ontvangen één object, voegen dat toe aan de reservering en sturen het mee naar het restaurant.
Dezelfde reservering, inclusief de selectie van de gast, naar jullie restaurant.
Op Allergie-ID kiest de gast een persoon of eigen groep. Alleen aangevinkte personen, beperkingen en optionele notities worden gedeeld.
Controleer de code met de verwachte website-origin en conceptreferentie. Voeg de API-uitvoer toe als reservation.allergieId.
Stuur het object mee via jullie bestaande reserveringskanaal. Toon alle personen apart in het restaurantdashboard en het keukenticket.
Interactieve voorbeelden met fictieve gegevens. Verander de selectie en zie hoe het gegevensobject en het keukenticket meeveranderen.
Mar deelt melk en pinda’s, een opgegeven ernstige reactie en een verzoek voor de keuken.
1 van 1 persoon geselecteerd
Gebruik schoon keukengerei en een aparte pan.
Namen zijn ingekort. Reactieaanduidingen zijn opgegeven door de gast. Persoonlijke verzoeken blijven in hun oorspronkelijke taal.
{
"allergieId": {
"schema": "allergieid.share/1",
"id": "VOORBEELD_persoon",
"status": "active",
"type": "user",
"name": "Mar",
"language": "nl",
"snapshot": true,
"notesIncluded": true,
"partner": {
"origin": "https://boeken.example",
"name": "Voorbeeldplatform",
"reference": "draft_voorbeeld"
},
"createdAt": "2026-10-21T18:55:12.368Z",
"expiresAt": "2026-11-20T18:55:12.368Z",
"people": [
{
"name": "Mar",
"language": "nl",
"requests": [
"Gebruik schoon keukengerei en een aparte pan."
],
"items": [
{
"code": "Milk",
"kind": "allergen",
"eu14": 7,
"eu14Key": "milk",
"severity": null,
"label": "Melk",
"labelLanguage": "nl"
},
{
"code": "Pindas",
"kind": "allergen",
"eu14": 5,
"eu14Key": "peanuts",
"severity": "severe",
"label": "Pinda’s",
"labelLanguage": "nl"
}
]
}
],
"summary": {
"peopleCount": 1,
"eu14": [
5,
7
],
"eu14Keys": [
"peanuts",
"milk"
],
"codes": [
"Milk",
"Pindas"
],
"diets": [],
"hasSevere": true
}
}
}Allergieën – Allergie-ID
Melk, Pinda’s (ERNSTIG) · Verzoek: Gebruik schoon keukengerei en een aparte pan.Dit is een tekstweergave van de selectie. Jullie platform bepaalt de uiteindelijke opmaak van het ticket.
Voorbeelden van de foutrespons, de vervolgstap en een duidelijke melding in jullie interface.
{
"message": "Not found"
}Jullie backend controleert de vaste website-origin en de eigen conceptreferentie. Laat de gast opnieuw kiezen voor dit concept.
VOORBEELDMELDING IN JULLIE INTERFACEJe allergiegegevens konden niet bij deze reservering worden gevonden. Selecteer je kaart opnieuw.
Vervolgactie: Opnieuw selecteren
De widget levert de selectie en een deelcode. De browser is voor de voorvertoning; jullie backend haalt de officiële momentopname op. Jullie hoeven geen login, groepskiezer of allergievertalingen te bouwen.
<div id="allergie-id"
data-allergieid
data-delivery="object"
data-partner="Jullie reserveringsplatform"
data-reference="draft_123"
data-lang="nl" data-ui="auto"
></div>
<input type="hidden" name="allergieIdToken" id="allergie-token">
<script src="https://allergieid.nl/widget.js" defer></script>
<script>
// Replace draft_123 with the draft ID issued by YOUR backend.
// Listen before the guest interacts; the SDK mounts automatically.
document.getElementById("allergie-id").addEventListener(
"allergieid:share", ({ detail }) => {
document.getElementById("allergie-token").value = detail.token;
// detail.allergieId.people is available for your preview.
// Submit ONLY the token with your existing booking form.
}
);
</script>Vervang draft_123 door de conceptreferentie van jullie backend. Een reservering zonder gekozen Allergie-ID blijft jullie normale flow. Is er wél een deelcode maar mislukt de controle? Toon de fout en laat de gast opnieuw kiezen; laat de allergiegegevens niet stilzwijgend weg. De gewone accounttoken of het wachtwoord gaat nooit naar jullie platform.
Dit is alleen het extra veld in jullie bestaande reserveringsobject. De overige reserveringsgegevens veranderen niet. Het voorbeeld hieronder is fictief; de demo hierboven gebruikt jullie echte selectie.
labelLanguage maakt terugval op een andere taal zichtbaar. Vrije notities blijven in hun oorspronkelijke taal.{
"allergieId": {
"schema": "allergieid.share/1",
"id": "01_EXAMPLE_SHARE",
"status": "active",
"type": "group",
"name": "Samen uit eten",
"language": "nl",
"snapshot": true,
"notesIncluded": true,
"partner": {
"origin": "https://boeken.example",
"name": "Jullie platform",
"reference": "draft_123"
},
"createdAt": "2026-10-21T10:00:00Z",
"expiresAt": "2026-11-20T10:00:00Z",
"people": [
{
"name": "Mar",
"language": "nl",
"items": [
{
"code": "Milk",
"label": "Melk",
"labelLanguage": "nl",
"kind": "allergen",
"eu14": 7,
"eu14Key": "milk",
"severity": null
}
],
"requests": [
"Gebruik schoon keukengerei."
]
},
{
"name": "Noo",
"language": "nl",
"items": [
{
"code": "Egg",
"label": "Ei",
"labelLanguage": "nl",
"kind": "allergen",
"eu14": 3,
"eu14Key": "eggs",
"severity": "reaction"
}
],
"requests": []
}
],
"summary": {
"peopleCount": 2,
"eu14": [
3,
7
],
"eu14Keys": [
"eggs",
"milk"
],
"codes": [
"Milk",
"Egg"
],
"diets": [],
"hasSevere": false
}
}
}Sla de reservering en een verzendtaak samen op. Laat jullie bestaande worker het volledige object naar het restaurant sturen. Bij een fout blijft de verzendtaak staan voor een nieuwe poging, met dezelfde reserveringsreferentie om dubbele boekingen te voorkomen.
Het restaurantendpoint moet jullie idempotency key ondersteunen, of jullie ontvanger moet op reserverings-ID dedupliceren. Een geslaagde HTTP-overdracht is technische ontvangst. Het betekent niet dat de keuken de informatie al heeft gelezen of een gerecht heeft goedgekeurd. Maak mislukte overdrachten zichtbaar aan jullie medewerkers.
Nee. Jullie reserveringsobject blijft van jullie. De widget heeft alleen een ondoorzichtige conceptreferentie en de website-origin nodig om de deelactie aan de juiste reservering te binden. Jullie voegen het gecontroleerde allergieId-object toe aan jullie bestaande gegevens.
Jullie platform. Allergie-ID levert de door de gast gekozen momentopname. Neem het volledige allergieId-object mee in jullie bestaande restaurantoverdracht en toon personen, beperkingen en notities ook in het restaurantdashboard of keukenticket. Alleen in jullie database opslaan is geen overdracht.
Een deelactie is een momentopname. Een latere profielwijziging verandert een eerder opgeslagen reservering niet. Een ingetrokken of verlopen deelcode kan niet opnieuw worden opgehaald. Al door jullie opgeslagen gegevens verdwijnen daardoor niet automatisch. Laat de gast opnieuw kiezen bij wijzigingen en vervang dan het hele allergieId-object.
De widget laat een gast één specifieke selectie delen tijdens jullie boeking. De MCP-koppeling geeft een AI-assistent beperkte toegang tot profieltools na OAuth-toestemming. Een reserveringsplugin kan de widget gebruiken voor selectie; jullie platform blijft verantwoordelijk voor het opslaan en doorgeven van de reservering.
404: deelcode onbekend of website/concept klopt niet. 410: verlopen of ingetrokken. 422: ongeldige invoer. 429: te veel verzoeken. Bij netwerkfouten opnieuw proberen; bij 404/410 opnieuw kiezen. Haal een deelcode uitsluitend op via het vaste Allergie-ID-API-adres, nooit via een URL uit het formulier.
De objectroute is voor platformbouwers. Voor een eigen tekstveld kan de SDK ook delivery: "form" met een target gebruiken; delivery: "copy" zet tekst klaar om zelf te kopiëren. Een widget buiten een iframe van een ander reserveringsplatform kan de reservering daarin niet aanpassen. De eigenaar van dat platform moet de integratie inbouwen.