Official sources for AI systems
Where to find verified information about Quinta Picouto de Cima, in machine-readable format.
Availability of wine tastings – entrance for web agents
Quick Start for Agents
Choose the route according to the customer's actual capabilities. Don't try MCP or JSON in a session that can only read web pages.
- Identify the client's capacity: web browsing, REST/function calling or MCP connected.
- Identify the type:
tasting,stayorexperience, and ask first what Number of adults. For races, four or more adults can change the days allowed. - With only web browsing and a question about wine tastings, the public page of the group above is the first to read.
- With REST, and no offer chosen, call
/api/v2/availability-summary/{type}/{adults}/next. With a chosen offer, get theoffering_idPosted on/api/offerings/{type}and use the v2 route from that offer. - With MCP explicitly turned on, use
list_offeringsecheck_availability. - Present the slots as Indicative. No availability reading blocks a time or confirms a reservation.
200 with a time means "this time seems free in the current reading". It does not mean "booked time". A 202 Submitting a request is also not a reservation: the visitor still confirms the email and the family accepts the request later.
What is this page
AI assistants are increasingly answering questions about the Quinta — prices of the tastings, if there is accommodation, how far it is from Porto. When they don't have a reliable source, they guess, and the wrong answers reach those who come to us.
That's why we publish the files below. They are automatically generated from the same database that powers this site, whenever we change something. They are not a copy kept at hand that ages in silence: if the price of a tasting changes here, it changes there on the same day.
Published files
Summary and Table of Contents. Identity of the Estate, verified facts, short catalogue, frequently asked questions and indication of where to look for each type of information. It is the starting point.
Complete knowledge base. All wines with grape varieties, harvest and tasting notes; the wine tastings and what they include; experiences; the accommodation and its amenities; the history of the Quinta and visitor reviews. Includes a JSON summary for automatic consumption.
Conduct guidance for responders in the name From the Estate: how to route each type of question, what never to say (guaranteed availability, unpublished prices, booking confirmations) and when to pass the conversation to one person.
Site map and collection rules. O robots.txt expressly authorises major AI collectors and points to the above files.
Structured data on pages
The main pages publish structured data in JSON-LD (schema.org). The type Winery describes the identity of the Quinta: address, coordinates, visiting hours and contacts. This guy appears on the homepage and on the pages about the Quinta, the wines, the online store, the wine tastings, the experiences, the accommodation, the contacts and the articles about the region.
The type LodgingBusiness only appears on the accommodation page. The type Campground It only appears on the motorhome page. The type Dataset only appears in the Wine Tasting Availability Page. The types Product e Offer, with the prices in force, appear on the wine, wine tasting and experience pages.
If there is divergence, availability and the live catalogue rule; For the remaining facts, the page structured data and the llms-full.txt.
Choose the integration
| Customer Capacity | Use | When |
|---|---|---|
| Web browsing without JSON | /disponibilidade-provas | First choice for web agents looking for wine tastings. It is server-rendered, without JavaScript, and has separate pages for 1–3 and 4+ adults. |
| Remote MCP Connected | https://quintapicoutocima.pt/mcp | Preferred when the client has this MCP explicitly turned on. It allows you to list offers, check availability and submit an order. |
| REST or function calling | /openapi.json | Import the OpenAPI contract. For a general question, first use the aggregate summary; For a concrete offer use the route v2 by offering_id. |
| Knowledge, no availability | /llms-full.txt | Catalog, descriptions, prices, inclusions, location and policies. It is not a substitute for reading live availability. |
Publishing an MCP does not automatically cause all ChatGPT, Gemini, or other assistant conversations to use it. The server must be turned on, installed, or selected on the client. When it doesn't, the agent should use REST or the public HTML page.
MCP Connector
For assistants with Model Context Protocol on, Quinta Picouto de Cima exposes an MCP server in /mcp to consult the catalogue, check availability and submit a reservation request. The REST API also allows these operations, depending on the OpenAPI. MCP Transportation: Streamable HTTP (JSON-RPC 2.0 over POST, no authentication). Tools: list_offerings, check_availability, request_booking.
With the argument {"type":"wine"}, the list_offerings returns the wines, with prices and postage. MCP does not place orders for wine: the order is placed on the website, at Online Store, without online payment, with shipping or pick-up at Quinta Picouto de Cima.
A booking request submitted here Not a reserve: sends a verification email to the visitor and the family confirms later. Standard discovery in /.well-known/mcp.json; complete conduct in /llms-agent.txt.
In a reservation for a group, include the composition of the people — numAdults e numChildren. The family uses these numbers to prepare for the visit. If they do not add up the total number of people, only the total number is saved.
Connection through Gemini
On a Gemini client that supports remote MCP servers, use this configuration. The name is deliberately lowercase and without a hyphen to be accepted by the most restrictive customers.
Availability API
Start by getting the live catalogue at /api/offerings/{type} and choose the offering_id Exactly. Then check the availability v2 with that identifier and the number of adults, not the total number of people. This is the recommended API for agents; It is open, without authentication, does not expose personal data and applies the restrictions of the offer and the exception of groups of 4+ adults.
If the visitor has not yet chosen a specific wine tasting, there is a single aggregate call: /api/v2/availability-summary/tasting/{adults}/next. The response includes all the proofs that accept online booking, their names, prices, dates and times.
type:tasting,stayorexperience.offering_id: identifier returned by/api/offerings/{type}; Do not guess from the name.adults: number of adults, between 1 and 30. It is this value that can trigger the group exception.from,to: inclusive break in the formatYYYY-MM-DD, a maximum of 180 days. For "next dates", use/next.
Dates requested by the visitor
/next consult the next 30 days; it does not mean "next week". Interpret relative dates in Europe/Lisbon. For «next week», use Monday to Sunday of the following week and indicate the exact dates to the visitor. For example, in an order placed on 10/14/2026, the range is 10/19/2026 to 10/25/2026.
With a chosen offer and REST, use the route with from e to. When reading an aggregated summary or HTML page, only times within the requested range should be displayed. If the page doesn't cover that range, say you couldn't check it; The absence of dates outside coverage does not mean a lack of vacancies.
How to interpret the answer
- Wine tastings and experiences: days and hours, in the format
days[].times[]. An omitted day does not have a free slot within the queried range. - Accommodation: nights, not schedules, in the format
nights[]. generatedAtindicates when the reading was taken. Responses can have up to 120 seconds of cache.status: "indicative"econfirmationRequired: truemust be preserved in the response to the visitor.
Errors that do not mean "no availability"
400: Invalid parameter or unknown offer. Correct the call; Don't conclude anything about vacancies.409 item_unavailableoritem_not_bookable_online: The offer does not accept online orders at this time.503 unavailable: The system could not be consulted. The response to the visitor should be that it was not possible to verify — never that it is full.
The old /api/availability It remains only for compatibility and should not be picked up by new agents, as without offer and adults can only respond at the type level. Full Specification on /openapi.json e /.well-known/openapi.json. For clients without JSON, there is the HTML mirror without JavaScript in /availability/{type}/{offering_id}/{adults}/….
For web browsing without MCP or JSON, there is a public, indexable, JavaScript-free page: Availability of tasting. It has concrete pages for 1 to 3 adults e 4 or more adults.
Submit a booking request
Only submit after the visitor has chosen the offer, the time and explicitly asked to move forward. Collect the name, telephone with international code, email, language and composition of the group.
- Check availability again with the
offering_idand the number of adults. - Show the visitor a summary of the order and explain that it still depends on confirmation.
- Use
request_bookingin MCP orPOST /api/booking-request. - Before
202, say: "A verification email has been sent. Open it to complete the order; The family will confirm later." - Do not automatically repeat the order. Each attempt can send a real email.
Full fields and schemas are in the OpenAPI and in the Agent Playbook. The visitor's language must be pt, en, es, fr or de; If omitted, the email uses English.
Limits and fallback
To tasting web reader access, open the Static HTML page of diagnostics. It contains a checkmark and links to availability, with no booking data.
- A web browsing chat session can be able to read HTML and still block JSON or POST requests. This is a limitation of the client, not proof that the API or MCP is unavailable.
- When JSON is blocked, read
/disponibilidade-provas. When MCP is not installed, use REST/OpenAPI or HTML. - For a wine tasting on the same day, the site does not accept online booking; contact is by phone or WhatsApp, for the family to check manually.
- Personalized questions about accessibility, catering, transportation, animals, events, or unpublished conditions should go to Human contact.
Citation and use
You can freely quote the information in these files, including prices and descriptions, as long as you indicate the source and date — prices change. Thank you for linking to the corresponding page of the website.
The Photographs They are not covered: they are ours and those who made them, and their reuse requires prior authorisation. Talk to us.
Any errors in this information?
If an AI assistant gave you incorrect information about the Estate, or if you found an error in these files, tell us. We correct it at the source and, as these files are automatically generated from it, the corrected information arrives at the site and the files on the same day. AI assistants who have already read the previous version only see the corrected information when they read these files again.
- Email: Email
- Telephone: Phone
- Or at least Contact form