{
    "id": "https://schema.org.uk/schemas/vineyard/1.0",
    "version": "1.0",
    "name": "Vineyard Schema",
    "description": "The Vineyard Schema organises vineyard identity, contact, location, opening hours, products and experiences, facilities and visitor information into a consistent format, using Schema.org vocabulary where applicable.",
    "sections": [
        {
            "name": "Identity",
            "key": "identity",
            "attributes": [
                {
                    "name": "vineyard.id",
                    "label": "Identifier",
                    "description": "The permanent unique identifier already assigned to the vineyard. JSON-LD states the same value as @id. The identifier is not calculated from the name, telephone, or address.",
                    "data_type": "text",
                    "scope": "vineyard",
                    "required": true,
                    "schema_org": "@id"
                },
                {
                    "name": "vineyard.title",
                    "label": "Title",
                    "description": "The name of the vineyard.",
                    "data_type": "text",
                    "scope": "vineyard",
                    "required": true,
                    "schema_org": "name"
                },
                {
                    "name": "vineyard.description",
                    "label": "Description",
                    "description": "A text description of the vineyard.",
                    "data_type": "text",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "description"
                }
            ]
        },
        {
            "name": "Incorporation details",
            "key": "company",
            "attributes": [
                {
                    "name": "vineyard.company.name",
                    "label": "Company name",
                    "description": "The registered company name, when the business is registered at Companies House and states that name. A missing value stays unknown. This is not the trading name. JSON-LD uses legalName.",
                    "data_type": "text",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "legalName",
                    "component": "https://schema.org.uk/schemas/components/company"
                },
                {
                    "name": "vineyard.company.number",
                    "label": "Company number",
                    "description": "The company number, when the business is registered at Companies House and states that number. A missing value stays unknown. This is not a VAT number. When a number is stated, JSON-LD uses a PropertyValue named companyNumber.",
                    "data_type": "text",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "additionalProperty",
                    "component": "https://schema.org.uk/schemas/components/company"
                },
                {
                    "name": "vineyard.company.incorporated_on",
                    "label": "Incorporation date",
                    "description": "The incorporation date, when the business is registered at Companies House and states that date. A missing date stays unknown. JSON-LD uses foundingDate for that stated date.",
                    "data_type": "date",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "foundingDate",
                    "component": "https://schema.org.uk/schemas/components/company"
                },
                {
                    "name": "vineyard.company.vat",
                    "label": "VAT number",
                    "description": "The VAT number, when the business is registered for VAT and states that number. A missing value stays unknown. This is not the company number. JSON-LD uses vatID.",
                    "data_type": "text",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "vatID",
                    "component": "https://schema.org.uk/schemas/components/company"
                }
            ]
        },
        {
            "name": "Contact",
            "key": "contact",
            "attributes": [
                {
                    "name": "vineyard.contact.phone",
                    "label": "Phone",
                    "description": "The telephone number of the vineyard.",
                    "data_type": "text",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "telephone",
                    "component": "https://schema.org.uk/schemas/components/contact"
                },
                {
                    "name": "vineyard.contact.url",
                    "label": "Url",
                    "description": "The website address of the vineyard.",
                    "data_type": "url",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "url",
                    "component": "https://schema.org.uk/schemas/components/contact"
                },
                {
                    "name": "vineyard.contact.email",
                    "label": "Email",
                    "description": "An email address for the vineyard, when one is stated. Leave it empty when none is known.",
                    "data_type": "email",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "email",
                    "component": "https://schema.org.uk/schemas/components/contact"
                }
            ]
        },
        {
            "name": "Location and coordinates",
            "key": "location_and_coordinates",
            "attributes": [
                {
                    "name": "vineyard.location.address",
                    "label": "Address",
                    "description": "The postal address of the vineyard. The original address line stays intact.",
                    "data_type": "text",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "address"
                },
                {
                    "name": "vineyard.location.latitude",
                    "label": "Latitude",
                    "description": "The WGS84 latitude of the vineyard.",
                    "data_type": "number",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "latitude"
                },
                {
                    "name": "vineyard.location.longitude",
                    "label": "Longitude",
                    "description": "The WGS84 longitude of the vineyard. A coordinate pair is required before JSON-LD includes GeoCoordinates.",
                    "data_type": "number",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "longitude"
                },
                {
                    "name": "vineyard.location.postcode",
                    "label": "Postcode",
                    "description": "The UK postcode when one postcode is present in the postal address.",
                    "data_type": "text",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "postalCode",
                    "component": "https://schema.org.uk/schemas/components/address"
                },
                {
                    "name": "vineyard.location.street",
                    "label": "Street",
                    "description": "The street line when the postal address separates it from the town. A borough is not the street.",
                    "data_type": "text",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "streetAddress",
                    "component": "https://schema.org.uk/schemas/components/address"
                },
                {
                    "name": "vineyard.location.locality",
                    "label": "Locality",
                    "description": "The town or city when the postal address states it as its own part. A borough is not the locality.",
                    "data_type": "text",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "addressLocality",
                    "component": "https://schema.org.uk/schemas/components/address"
                },
                {
                    "name": "vineyard.location.region",
                    "label": "Region",
                    "description": "The county or region when the postal address states it as its own part. A media-market code is not a region and is left empty.",
                    "data_type": "text",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "addressRegion",
                    "component": "https://schema.org.uk/schemas/components/address"
                },
                {
                    "name": "vineyard.location.country",
                    "label": "Country",
                    "description": "The country when the address states it. A two-letter country code is recorded as the country name. Leave it empty when the country is not stated.",
                    "data_type": "text",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "addressCountry",
                    "component": "https://schema.org.uk/schemas/components/address"
                }
            ]
        },
        {
            "name": "Opening hours",
            "key": "opening_hours",
            "attributes": [
                {
                    "name": "vineyard.hours.opening",
                    "label": "Opening hours",
                    "description": "The regular opening hours when a weekly timetable states each open day and its opening and closing times. A current open or closed status is not opening hours. Busy periods are not opening hours. A day with no stated times is left empty.",
                    "data_type": "object",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "openingHoursSpecification"
                }
            ]
        },
        {
            "name": "Images",
            "key": "images",
            "attributes": [
                {
                    "name": "vineyard.image.logo",
                    "label": "Logo",
                    "description": "The address of the vineyard logo, when one is stated. A missing address is omitted.",
                    "data_type": "url",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "logo"
                },
                {
                    "name": "vineyard.image.main",
                    "label": "Main image",
                    "description": "The address of the main image of the vineyard, when one is stated. A count of photographs is not an image. A missing address is omitted.",
                    "data_type": "url",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "image",
                    "component": "https://schema.org.uk/schemas/components/image"
                }
            ]
        },
        {
            "name": "Reputation",
            "key": "review_statistics",
            "attributes": [
                {
                    "name": "vineyard.review.rating",
                    "label": "Review rating",
                    "description": "A review score from one provider. It is not a qualification or an award. A scale is recorded only when that provider states it. The score stays in the native record and is not copied into the core business JSON-LD.",
                    "data_type": "number",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "ratingValue",
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "vineyard.review.count",
                    "label": "Review count",
                    "description": "The number of reviews accompanying a review rating from the same provider. It is not calculated from another provider.",
                    "data_type": "integer",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "reviewCount",
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "vineyard.review.rating_count",
                    "label": "Rating count",
                    "description": "The number of ratings when the provider states it separately from the number of reviews. It is not calculated from the distribution.",
                    "data_type": "integer",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "ratingCount",
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "vineyard.review.distribution",
                    "label": "Rating distribution",
                    "description": "Numbers recorded against scores 1 to 5. They are not the review count. Schema.org has no single property for the five counts, so this stays unmapped.",
                    "data_type": "object",
                    "scope": "vineyard",
                    "required": false,
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "vineyard.review.scale",
                    "label": "Rating scale",
                    "description": "The lowest and highest points of a review scale, when the scale is stated. Schema.org records those points as separate properties, so this attribute is not given one of them.",
                    "data_type": "object",
                    "scope": "vineyard",
                    "required": false,
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "vineyard.review.provider",
                    "label": "Review provider",
                    "description": "The organisation that published these figures. Figures from another provider are a separate observation and are not averaged together.",
                    "data_type": "text",
                    "scope": "vineyard",
                    "required": false,
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "vineyard.review.observed_on",
                    "label": "Observation date",
                    "description": "The date on which these figures were observed, when that date is stated.",
                    "data_type": "date",
                    "scope": "vineyard",
                    "required": false,
                    "component": "https://schema.org.uk/schemas/components/reputation"
                }
            ]
        },
        {
            "name": "Price",
            "key": "price",
            "attributes": [
                {
                    "name": "vineyard.price_range",
                    "label": "Price level",
                    "description": "A price indication using £, ££, £££, or ££££. Leave it empty when none is stated. This is not a bottle price.",
                    "data_type": "text",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "priceRange"
                }
            ]
        },
        {
            "name": "Products and experiences",
            "key": "services",
            "attributes": [
                {
                    "name": "vineyard.service.bottle_sales",
                    "label": "Bottle sales on site",
                    "description": "Whether the vineyard sells bottles on site. Delivery and online ordering are a separate service. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vineyard.service.tasting",
                    "label": "Wine tasting",
                    "description": "Whether the vineyard offers wine tasting. Wine flights, a vineyard tour, and sparkling wine are separate. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vineyard.service.tour",
                    "label": "Vineyard and winery tour",
                    "description": "Whether the vineyard offers a vineyard or winery tour. A guided tour, a self-guided tour, and a walk among the vines are separate. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vineyard.service.sparkling",
                    "label": "Sparkling wine",
                    "description": "Whether the vineyard offers sparkling wine. Wine tasting and cider are separate. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vineyard.service.boards",
                    "label": "Cheese and charcuterie boards",
                    "description": "Whether the vineyard offers cheese or charcuterie boards, including a sharing platter, a ploughman's, tapas, or snacks. Lunch is a separate service. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vineyard.service.guided_tour",
                    "label": "Guided tours",
                    "description": "Whether the vineyard offers a guided tour, including a private tour. A self-guided tour and a general vineyard tour are separate. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vineyard.service.lunch",
                    "label": "Lunch",
                    "description": "Whether the vineyard serves lunch, including a barbecue or fish and chips. Breakfast and a Sunday roast are separate. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vineyard.service.cafe",
                    "label": "Cafe (coffee and cake)",
                    "description": "Whether the vineyard has a cafe for coffee and cake, including pastries. Lunch is a separate service. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vineyard.service.delivery",
                    "label": "Wine delivery and online ordering",
                    "description": "Whether the vineyard delivers wine or takes orders online, including click and collect. Bottle sales on site are separate. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vineyard.service.wedding",
                    "label": "Wedding venue",
                    "description": "Whether the vineyard offers the site as a wedding venue. Private events are a separate detail. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vineyard.service.flights",
                    "label": "Wine flights",
                    "description": "Whether the vineyard offers wine flights. A general wine tasting is separate. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vineyard.service.events",
                    "label": "Live music and events",
                    "description": "Whether the vineyard hosts live music or events, including an evening event, a wine and sound pairing, or a food pop-up. A wedding is separate. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vineyard.service.drinks",
                    "label": "Cider and other drinks",
                    "description": "Whether the vineyard offers cider or other drinks, including beer, mead, brandy, or apple juice. Sparkling wine and wine tasting are separate. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vineyard.service.breakfast",
                    "label": "Breakfast and brunch",
                    "description": "Whether the vineyard serves breakfast or brunch. Lunch is separate. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vineyard.service.pizza",
                    "label": "Pizza",
                    "description": "Whether the vineyard serves pizza. Lunch is separate. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vineyard.service.picking",
                    "label": "Grape picking",
                    "description": "Whether the vineyard offers grape picking. A vineyard tour is separate. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vineyard.service.tea",
                    "label": "Afternoon and cream tea",
                    "description": "Whether the vineyard offers afternoon tea or cream tea. A cafe is separate. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vineyard.service.picnic",
                    "label": "Picnic",
                    "description": "Whether the vineyard offers a picnic. Outdoor seating is separate. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vineyard.service.self_guided",
                    "label": "Self-guided tour",
                    "description": "Whether the vineyard offers a self-guided tour. A guided tour and a walk among the vines are separate. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vineyard.service.roast",
                    "label": "Sunday roast",
                    "description": "Whether the vineyard serves a Sunday roast. Lunch is separate. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "Service"
                }
            ]
        },
        {
            "name": "Amenities",
            "key": "amenities",
            "attributes": [
                {
                    "name": "vineyard.amenity.vine_walk",
                    "label": "Walk around the vines",
                    "description": "Whether visitors can walk among the vines. A guided tour and a self-guided tour are separate services. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "vineyard.amenity.outdoor_seating",
                    "label": "Outdoor seating",
                    "description": "Whether the vineyard has outdoor seating, including covered seating, heated seating, or a cabana. Indoor seating is separate. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "vineyard.amenity.indoor_seating",
                    "label": "Indoor seating",
                    "description": "Whether the vineyard has indoor seating. Outdoor seating is separate. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "vineyard.amenity.dog_friendly",
                    "label": "Dog friendly",
                    "description": "Whether the vineyard welcomes dogs. Animals kept on site are a separate detail. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "vineyard.amenity.parking",
                    "label": "Free parking",
                    "description": "Whether the vineyard has free parking. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "vineyard.amenity.wheelchair_access",
                    "label": "Wheelchair access",
                    "description": "Whether the vineyard has wheelchair access. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "vineyard.amenity.shop",
                    "label": "On-site shop",
                    "description": "Whether the vineyard has a shop on site. Bottle sales are a separate service. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "vineyard.amenity.bar",
                    "label": "Bar area",
                    "description": "Whether the vineyard has a bar, including cocktails. Wine tasting is separate. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "vineyard.amenity.toilets",
                    "label": "Customer toilets",
                    "description": "Whether the vineyard has customer toilets. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "amenityFeature"
                }
            ]
        },
        {
            "name": "Vineyard details",
            "key": "details",
            "attributes": [
                {
                    "name": "vineyard.details.private_events",
                    "label": "Private events hosted",
                    "description": "Whether the vineyard hosts private events. A wedding venue is a separate service. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named privateEvents.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "vineyard.details.reservations",
                    "label": "Booking / reservations",
                    "description": "Whether the vineyard accepts reservations for a tasting or a tour. This is not a reservation record and not a price. A missing value stays unknown. JSON-LD uses acceptsReservations only when the value is stated as yes or no.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "acceptsReservations"
                },
                {
                    "name": "vineyard.details.children",
                    "label": "Children welcome",
                    "description": "Whether children are welcome. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named childrenWelcome.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "vineyard.details.dietary",
                    "label": "Dietary requirements catered for",
                    "description": "Whether the vineyard states that it can meet dietary requirements. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named dietaryRequirements.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "vineyard.details.walk_in",
                    "label": "Walk-ins welcome",
                    "description": "Whether the vineyard welcomes visitors without a reservation. Reservations are a separate field. Opening hours are a separate field. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named walkIn.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "vineyard.details.awards",
                    "label": "Wine awards",
                    "description": "A wine award the vineyard states, such as a medal or a competition result. A missing value stays unknown. This is not a review score. JSON-LD uses award.",
                    "data_type": "text",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "award"
                },
                {
                    "name": "vineyard.details.rooms",
                    "label": "Rooms / overnight stays",
                    "description": "Whether the vineyard offers rooms or overnight stays. A dinner hamper and a sauna or jacuzzi stay with this detail. This is not a hotel listing. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named overnightStays.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "vineyard.details.family_run",
                    "label": "Family run",
                    "description": "Whether the vineyard is family run. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named familyRun.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "vineyard.details.sustainable",
                    "label": "Sustainable / eco operation",
                    "description": "Whether the vineyard states that it runs a sustainable or lower-impact operation, including an off-grid site. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named sustainableOperation.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "vineyard.details.membership",
                    "label": "Wine club membership",
                    "description": "Whether the vineyard offers a wine club or membership. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named wineClub.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "vineyard.details.animals",
                    "label": "Animals on site",
                    "description": "Whether the vineyard has animals on site, including an alpaca walk. A dog-friendly visit is separate. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named animalsOnSite.",
                    "data_type": "boolean",
                    "scope": "vineyard",
                    "required": false,
                    "schema_org": "additionalProperty"
                }
            ]
        }
    ],
    "components": [
        {
            "id": "https://schema.org.uk/schemas/components/address",
            "name": "Address",
            "description": "A postal address other category schemas can reuse. The original address line stays intact. Missing parts are left empty.",
            "fields": [
                "address",
                "postcode",
                "street",
                "locality",
                "region",
                "country"
            ]
        },
        {
            "id": "https://schema.org.uk/schemas/components/contact",
            "name": "Contact",
            "description": "Telephone, website, and email other category schemas can reuse. Each value is optional. A missing value stays empty.",
            "fields": [
                "phone",
                "url",
                "email"
            ]
        },
        {
            "id": "https://schema.org.uk/schemas/components/company",
            "name": "Incorporation details",
            "description": "Registered company name, company number, and incorporation date when a business is registered at Companies House, and a VAT number when it is registered for VAT. Each value is included only when it is stated. A missing value stays unknown. Other category schemas reuse these fields.",
            "fields": [
                "name",
                "number",
                "incorporated_on",
                "vat"
            ]
        },
        {
            "id": "https://schema.org.uk/schemas/components/image",
            "name": "Image",
            "description": "An image, or one image in an ordered collection. Caption, attribution, and a rights note are optional. A missing note stays empty.",
            "fields": [
                "position",
                "url",
                "caption",
                "attribution",
                "rights"
            ]
        },
        {
            "id": "https://schema.org.uk/schemas/components/reputation",
            "name": "Reputation",
            "description": "Optional figures from one rating provider. A rating, a rating count, a review count, a scale, a distribution, and the date of the observation are recorded only when that provider states them. Themes are included only when a category records them. Figures from different providers are not combined. These figures are not copied into the core business JSON-LD.",
            "fields": [
                "provider",
                "rating",
                "rating_count",
                "count",
                "scale",
                "distribution",
                "observed_on",
                "themes"
            ]
        },
        {
            "id": "https://schema.org.uk/schemas/components/review-statistics",
            "name": "Review statistics",
            "alias_of": "https://schema.org.uk/schemas/components/reputation",
            "description": "Previous name of the Reputation component. New definitions use the Reputation component.",
            "fields": [
                "provider",
                "rating",
                "rating_count",
                "count",
                "scale",
                "distribution",
                "observed_on",
                "themes"
            ]
        },
        {
            "id": "https://schema.org.uk/schemas/components/offers",
            "name": "Offers",
            "optional": true,
            "description": "A contract for a later priced offer. It is not part of a core business schema. A service, a treatment, or a free or paid facility is not an offer by itself. The contract can record the item offered, the seller, the price and its currency, availability, the start and end dates, and the conditions. Live prices and bookings are not included.",
            "fields": [
                "item",
                "seller",
                "price",
                "currency",
                "availability",
                "valid_from",
                "valid_through",
                "conditions"
            ]
        }
    ]
}
