Disponibilité des dégustations de vin – entrée pour les agents web

Si vous ne pouvez que parcourir les pages web, commencez ici : Voir la page publique et affichée sur le serveur de Disponibilité des dégustations. Après avoir demandé le nombre d’adultes, utilisez directement 1 à 3 adultes ou 4 adultes ou plus. Ces pages sont la principale voie vers les agents web, pas un dernier recours, et ne nécessitent pas d’accès à JavaScript, MCP ou JSON.

Démarrage rapide pour les agents

Choisissez le chemin en fonction des capacités réelles du client. N’essayez pas MCP ou JSON dans une session qui ne peut lire que des pages web.

  1. Identifiez la capacité du client : navigation web, appel REST/fonction ou connexion MCP.
  2. Identifiez le type : tasting, stay ou experience, et demande d’abord quoi Nombre d’adultes. Pour les courses, quatre adultes ou plus peuvent changer les jours autorisés.
  3. Avec seulement la navigation sur le web et une question sur les dégustations de vin, la page publique du groupe ci-dessus est la première à lire.
  4. Avec REST, et aucune offre choisie, appelez /api/v2/availability-summary/{type}/{adults}/next. Avec une offre choisie, obtenez le offering_id Publié sur /api/offerings/{type} Et utiliser la voie v2 de cette offre.
  5. Avec MCP explicitement activé, utilisez list_offerings e check_availability.
  6. Présentez les machines à sous comme suit Indicatif. Aucune lecture de disponibilité bloque un horaire ou confirme une réservation.
{ "agent_contract_version": "2026-10-14", "canonical_origin": "https://quintapicoutocima.pt", "timezone": "Europe/Lisbon", "supported_types": ["tasting", "stay", "experience"], "party_rule_input": "adults", "availability_is_indicative": true, "availability_holds_a_slot": false, "booking_request_is_a_confirmed_booking": false, "human_confirmation_required": true, "preferred_web_route_for_tastings": "/disponibilidade-provas", "web_group_routes": ["/disponibilidade-provas/1-a-3-adultos", "/disponibilidade-provas/4-ou-mais-adultos"], "preferred_unselected_offering_api": "/api/v2/availability-summary/{type}/{adults}/next", "preferred_selected_offering_api": "/api/v2/availability/{type}/{offering_id}/{adults}/next", "preferred_mcp": "/mcp", "source_priority_depends_on_client_capability": true }
Règle essentielle : Une réponse 200 avec un créneau horaire signifie « ce temps semble libre dans la lecture actuelle ». Cela ne signifie pas « temps réservé ». A 202 Soumettre une demande n’est pas non plus une réservation : le visiteur confirme toujours l’email et la famille accepte la demande plus tard.

Qu’est-ce que cette page

Les assistants IA répondent de plus en plus à des questions sur la Quinta — les prix des dégustations, s’il y a un hébergement, la distance de Porto. Quand ils n’ont pas de source fiable, ils devinent, et les mauvaises réponses parviennent à ceux qui viennent vers nous.

C’est pourquoi nous publions les fichiers ci-dessous. Ils sont automatiquement générés à partir de la La même base de données qui alimente ce site, chaque fois que nous changeons quelque chose. Ce ne sont pas une copie gardée à portée de main qui vieillit en silence : si le prix d’un dégustation change ici, il change là le même jour.

Fichiers publiés

Résumé et table des matières. Identité du domaine, faits vérifiés, court catalogue, questions fréquemment posées et indication sur où chercher chaque type d’information. C’est le point de départ.

Base de connaissances complète. Tous les vins avec des cépages de raisins, notes de récolte et de dégustation ; dégustations de vin et ce qu’elles incluent ; expériences ; hébergement et ses équipements ; histoire de la Quinta et avis des visiteurs. Inclut un résumé en JSON pour la consommation automatique.

Conseils de conduite pour les intervenants dans le nom Depuis le domaine : comment acheminer chaque type de question, quoi ne jamais dire (disponibilité garantie, prix non publiés, confirmations de réservation) et quand transmettre la conversation à une seule personne.

Carte du site et règles de collection. O robots.txt autorise expressément les principaux collecteurs d’IA et pointe vers les fichiers ci-dessus.

Données structurées sur les pages

Les pages principales publient des données structurées dans JSON-LD (schema.org). Le genre Winery décrit l’identité de la Quinta : adresse, coordonnées, horaires de visite et contacts. Ce type apparaît sur la page d’accueil ainsi que sur les pages concernant la Quinta, les vins, la boutique en ligne, les dégustations, les expériences, l’hébergement, les contacts et les articles sur la région.

Le type LodgingBusiness n’apparaît que sur la page de l’hébergement. Le type Campground n’apparaît que sur la page du camping-car. Le type Dataset n’apparaît que dans le Page de disponibilité pour la dégustation de vins. Les types Product e Offer, avec les prix en vigueur, apparaissent sur les pages vin, dégustation et expérience.

S’il y a une divergence, la disponibilité et la règle du catalogue en direct ; pour les autres faits, les données structurées de la page et le llms-full.txt.

Une note sur la disponibilité. Pour la correction, les agents ayant la navigation web devraient commencer par le Page de disponibilité publique et choisissez le groupe adulte. Les clients REST utilisent l’API v2 par offre et nombre d’adultes ; les clients avec MCP activé utilisent les outils disponibles. Le nombre d’adultes est requis car certaines offres ont des restrictions hebdomadaires qui passent à des groupes de 4+ adultes. Sur n’importe quel canal, la réponse est indicatif: La confirmation finale est toujours faite par la famille, généralement en quelques minutes ou quelques heures et jusqu’à un maximum de 24 heures.

Choisissez l’intégration

Capacité de la clientèleUtilisationQuand
Navigation web sans JSON/disponibilidade-provasPremier choix pour les agents web cherchant des dégustations de vin. C’est rendu sur le serveur, sans JavaScript, et il y a des pages séparées pour 1–3 et 4+ adultes.
MCP à distance connectéhttps://quintapicoutocima.pt/mcpPréféré lorsque le client a explicitement activé ce MCP. Cela permet de lister les offres, de vérifier la disponibilité et de soumettre une demande.
REST ou appel de fonction/openapi.jsonImportez le contrat OpenAPI. Pour une question générale, utilisez d’abord le digest agrégé ; pour une offre concrète, utilisez la voie v2 par offering_id.
Connaissances, aucune disponibilité/llms-full.txtCatalogue, descriptions, prix, inclusions, localisation et politiques. Ce n’est pas un substitut à la lecture de la disponibilité en direct.

Publier un MCP ne fait pas en sorte que toutes les conversations d’assistants ChatGPT, Gemini ou autres assistants l’utilisent automatiquement. Le serveur doit être allumé, installé ou sélectionné sur le client. Lorsqu’il ne le fait pas, l’agent doit utiliser REST ou la page HTML publique.

Connecteur MCP

Pour les assistants avec Protocole de Contexte de Modèle sur , Quinta Picouto de Cima expose un serveur MCP dans /mcp pour consulter le catalogue, vérifier la disponibilité et soumettre une demande de réservation. L’API REST autorise également ces opérations, selon le OpenAPI. MCP Transport : Streamable HTTP (JSON-RPC 2.0 sur POST, sans authentification). Outils : list_offerings, check_availability, request_booking.

Avec la dispute {"type":"wine"}, le list_offerings retourne les vins, avec les prix et les frais de port. MCP ne passe pas de commande de vin : la commande est passée sur le site web, à Boutique en ligne, sans paiement en ligne, avec livraison ou retrait à Quinta Picouto de Cima.

Une demande de réservation est soumise ici Pas une réserve: Envoie un e-mail de vérification au visiteur, et la famille le confirme plus tard. Découverte standard dans /.well-known/mcp.json; conduite complète dans /llms-agent.txt.

Dans une réservation pour un groupe, inclure la composition du peuple — numAdults e numChildren. La famille utilise ces chiffres pour préparer la visite. S’ils ne additionnent pas le nombre total de personnes, seul le total est sauvedé.

POST https://quintapicoutocima.pt/mcp {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18"}} {"jsonrpc":"2.0","id":2,"method":"tools/list"} POST https://quintapicoutocima.pt/mcp {"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"list_offerings","arguments":{"type":"tasting"}}} POST https://quintapicoutocima.pt/mcp {"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"check_availability","arguments":{"type":"tasting","offering_id":"ID_FROM_LIST_OFFERINGS","adults":4}}}

Connexion via Gemini

Sur un client Gemini qui prend en charge les serveurs MCP distants, utilisez cette configuration. Le nom est délibérément en minuscules et non composé pour être accepté par les clients les plus restrictifs.

{ "type": "mcp_server", "name": "quintapicoutocima", "url": "https://quintapicoutocima.pt/mcp", "allowed_tools": [ "list_offerings", "check_availability", "request_booking" ] }

API de disponibilité

Commencez par obtenir le catalogue en direct à /api/offerings/{type} et choisissez le offering_id Exactement. Ensuite, vérifiez la disponibilité v2 avec cet identifiant et le numéro de Adultes, pas le nombre total de personnes. C’est l’API recommandée pour les agents ; elle est ouverte, sans authentification, n’expose pas les données personnelles, et applique les restrictions de l’offre ainsi que l’exception pour les groupes de 4+ adultes.

Si le visiteur n’a pas encore choisi une dégustation de vin spécifique, il y a un appel global unique : /api/v2/availability-summary/tasting/{adults}/next. La réponse inclut toutes les dégustations acceptant la réservation en ligne, leurs noms, prix, dates et heures.

# Visitante: “Somos 4 adultos. Quais são as próximas datas para uma prova?” GET https://quintapicoutocima.pt/api/v2/availability-summary/tasting/4/next → { "type": "tasting", "adults": 4, "status": "indicative", "confirmationRequired": true, "offerings": [ { "offering_id": "…", "name": "Prova Essencial", "price": "30€ por pessoa", "days": [ { "date": "YYYY-MM-DD", "times": ["11h00", "15h00"] } ] } ], "generatedAt": "ISO-8601" } # Visitante já escolheu a oferta GET https://quintapicoutocima.pt/api/offerings/tasting → { "offerings": [ { "offering_id", "type", "name", "bookable_online", … } ] } GET https://quintapicoutocima.pt/api/v2/availability/tasting/{offering_id}/{adults}/2026-09-28/2026-10-04 → { "type", "offering_id", "adults", "from", "to", "days", "status": "indicative", "confirmationRequired": true, "generatedAt" } GET https://quintapicoutocima.pt/api/v2/availability/tasting/{offering_id}/{adults}/next → a mesma resposta, de hoje em Lisboa até 30 dias depois
  • type: tasting, stay ou experience.
  • offering_id: identifiant retourné par /api/offerings/{type}; Ne devine pas à partir du nom.
  • adults: Nombre d’adultes, entre 1 et 30. C’est cette valeur qui peut déclencher l’exception de groupe.
  • from, to: pause inclusive dans le format YYYY-MM-DD, un maximum de 180 jours. Pour les « prochaines dates », utilisez /next.

Dates demandées par le visiteur

/next Consultez les 30 prochains jours ; cela ne signifie pas « la semaine prochaine ». Interprétez les dates relatives dans Europe/Lisbon. Pour la « semaine prochaine », utilisez le lundi au dimanche de la semaine suivante et donnez au visiteur les dates exactes. Par exemple, pour une commande passée le 14/10/2026, la fourchette est du 19/10/2026 au 25/10/2026.

Avec une offre choisie et un REST, utilisez la route avec from e to. Lors de la lecture d’un résumé agrégé ou d’une page HTML, seules les périodes dans la plage demandée doivent être affichées. Si la page ne couvre pas cette plage, dites que vous n’avez pas pu la consulter ; l’absence de dates hors couverture ne signifie pas un manque de postes vacants.

Comment interpréter la réponse

  • Dégustations et expériences de vin : jours et heures, dans ce format days[].times[]. Un jour omis ne comporte pas de créneau libre dans la plage interrogée.
  • Hébergement : nuits, pas horaires, dans le format nights[].
  • generatedAt indique quand la lecture a été effectuée. Les réponses peuvent être mises en cache jusqu’à 120 secondes.
  • status: "indicative" e confirmationRequired: true doit être préservé dans la réponse au visiteur.

Erreurs qui ne signifient pas « absence de disponibilité »

  • 400: Paramètre invalide ou offre inconnue. Corrigez l’appel ; ne concluez rien sur les postes vacants.
  • 409 item_unavailable ou item_not_bookable_online: L’offre n’accepte pas les commandes en ligne pour le moment.
  • 503 unavailable: le système ne pouvait pas être vérifié. La réponse au visiteur devait être qu’il ne pouvait pas être vérifié — jamais qu’il était plein.

L’ancien /api/availability Il reste uniquement pour la compatibilité et ne doit pas être repris par de nouveaux agents, car aucune offre ne peut être acceptée et les adultes ne peuvent répondre qu’au niveau du type. Spécifications complètes à /openapi.json e /.well-known/openapi.json. Pour les clients sans JSON, il existe le miroir HTML sans JavaScript dans /availability/{type}/{offering_id}/{adults}/….

Pour la navigation web sans MCP ni JSON, il existe une page publique, indexable, sans JavaScript : Disponibilité des dégustations. Il y a des pages concrètes pour 1 à 3 adultes e 4 adultes ou plus.

Soumettez une demande de réservation

Ne soumettez qu’après que le visiteur ait choisi l’offre, l’heure et explicitement demandé de continuer. Collectez le nom, le numéro de téléphone avec le code international, l’email, la langue et la composition du groupe.

  1. Vérifiez à nouveau la disponibilité avec le offering_id et le nombre d’adultes.
  2. Montrez au visiteur un résumé de l’ordre et expliquez qu’il dépend toujours d’une confirmation.
  3. Utilisation request_booking dans MCP ou POST /api/booking-request.
  4. Avant 202, dit : « Un e-mail de vérification a été envoyé. Ouvrez-le pour compléter la commande ; la famille confirmera plus tard. »
  5. Ne retentez pas automatiquement la demande. Chaque tentative peut envoyer un vrai e-mail.

Les champs complets et les schémas sont dans le OpenAPI et dans le Manuel d’action de l’agent. La langue du visiteur doit être pt, en, es, fr ou de; Si elle est omise, l’email utilise l’anglais.

Limites et replié

Pour tester l’accès au lecteur web, ouvrez le Page HTML statique des diagnostics. Il contient une coche et des liens vers la disponibilité, sans aucune donnée de réservation.

  • Une session de chat en navigation web peut être capable de lire du HTML tout en bloqueant les requêtes JSON ou POST. C’est une limitation du client, pas une dégustation que l’API ou le MCP est indisponible.
  • Lorsque JSON est bloqué, lisez /disponibilidade-provas. Lorsque MCP n’est pas installé, utilisez REST/OpenAPI ou HTML.
  • Pour une dégustation de vin le même jour, le site n’accepte pas les réservations en ligne ; le contact se fait par téléphone ou WhatsApp, pour que la famille puisse vérifier manuellement.
  • Les questions personnalisées concernant l’accessibilité, la restauration, le transport, les animaux, les événements ou les conditions non publiées doivent se faire à Contact humain.

Citation et utilisation

Vous pouvez librement citer les informations contenues dans ces dossiers, y compris les prix et les descriptions, tant que vous indiquez la source et la date — les prix changent. Merci d’avoir mis le lien vers la page correspondante du site.

Le Photographies Ils ne sont pas couverts : ils sont à nous et à ceux qui les ont fabriqués, et leur réutilisation nécessite une autorisation préalable. Parle-nous.

Y a-t-il des erreurs dans ces informations ?

Si un assistant IA vous a donné des informations erronées sur le domaine, ou si vous avez trouvé une erreur dans ces fichiers, dites-le-nous. Nous corrigeons cela à la source, et comme ces fichiers sont générés automatiquement à partir de celle-ci, les informations corrigées arrivent au site et aux fichiers le même jour. Les assistants IA qui ont déjà lu la version précédente ne voient les informations corrigées que lorsqu’ils relisent ces fichiers.