{
    "id": "https://schema.org.uk/schemas/pub/1.0",
    "version": "1.0",
    "name": "Pub Schema",
    "description": "The Pub Schema organises pub identity, contact, location, opening hours, beer, food, drink and events into a consistent format, using Schema.org vocabulary where applicable.",
    "sections": [
        {
            "name": "Identity",
            "key": "identity",
            "attributes": [
                {
                    "name": "pub.id",
                    "label": "Identifier",
                    "description": "The permanent unique identifier already assigned to the pub. JSON-LD states the same value as @id. The identifier is not calculated from the name, telephone, or address.",
                    "data_type": "text",
                    "scope": "pub",
                    "required": true,
                    "schema_org": "@id"
                },
                {
                    "name": "pub.title",
                    "label": "Title",
                    "description": "The name of the pub.",
                    "data_type": "text",
                    "scope": "pub",
                    "required": true,
                    "schema_org": "name"
                },
                {
                    "name": "pub.description",
                    "label": "Description",
                    "description": "A text description of the pub.",
                    "data_type": "text",
                    "scope": "pub",
                    "required": false,
                    "schema_org": "description"
                }
            ]
        },
        {
            "name": "Incorporation details",
            "key": "company",
            "attributes": [
                {
                    "name": "pub.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": "pub",
                    "required": false,
                    "schema_org": "legalName",
                    "component": "https://schema.org.uk/schemas/components/company"
                },
                {
                    "name": "pub.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": "pub",
                    "required": false,
                    "schema_org": "additionalProperty",
                    "component": "https://schema.org.uk/schemas/components/company"
                },
                {
                    "name": "pub.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": "pub",
                    "required": false,
                    "schema_org": "foundingDate",
                    "component": "https://schema.org.uk/schemas/components/company"
                },
                {
                    "name": "pub.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": "pub",
                    "required": false,
                    "schema_org": "vatID",
                    "component": "https://schema.org.uk/schemas/components/company"
                }
            ]
        },
        {
            "name": "Contact",
            "key": "contact",
            "attributes": [
                {
                    "name": "pub.contact.phone",
                    "label": "Phone",
                    "description": "The telephone number of the pub.",
                    "data_type": "text",
                    "scope": "pub",
                    "required": false,
                    "schema_org": "telephone",
                    "component": "https://schema.org.uk/schemas/components/contact"
                },
                {
                    "name": "pub.contact.url",
                    "label": "Url",
                    "description": "The website address of the pub.",
                    "data_type": "url",
                    "scope": "pub",
                    "required": false,
                    "schema_org": "url",
                    "component": "https://schema.org.uk/schemas/components/contact"
                },
                {
                    "name": "pub.contact.email",
                    "label": "Email",
                    "description": "An email address for the pub, when one is stated. Leave it empty when none is known.",
                    "data_type": "email",
                    "scope": "pub",
                    "required": false,
                    "schema_org": "email",
                    "component": "https://schema.org.uk/schemas/components/contact"
                }
            ]
        },
        {
            "name": "Location and coordinates",
            "key": "location_and_coordinates",
            "attributes": [
                {
                    "name": "pub.location.address",
                    "label": "Address",
                    "description": "The postal address of the pub. The original address line stays intact.",
                    "data_type": "text",
                    "scope": "pub",
                    "required": false,
                    "schema_org": "address"
                },
                {
                    "name": "pub.location.latitude",
                    "label": "Latitude",
                    "description": "The WGS84 latitude of the pub.",
                    "data_type": "number",
                    "scope": "pub",
                    "required": false,
                    "schema_org": "latitude"
                },
                {
                    "name": "pub.location.longitude",
                    "label": "Longitude",
                    "description": "The WGS84 longitude of the pub. A coordinate pair is required before JSON-LD includes GeoCoordinates.",
                    "data_type": "number",
                    "scope": "pub",
                    "required": false,
                    "schema_org": "longitude"
                },
                {
                    "name": "pub.location.postcode",
                    "label": "Postcode",
                    "description": "The UK postcode when one postcode is present in the postal address.",
                    "data_type": "text",
                    "scope": "pub",
                    "required": false,
                    "schema_org": "postalCode",
                    "component": "https://schema.org.uk/schemas/components/address"
                },
                {
                    "name": "pub.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": "pub",
                    "required": false,
                    "schema_org": "streetAddress",
                    "component": "https://schema.org.uk/schemas/components/address"
                },
                {
                    "name": "pub.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": "pub",
                    "required": false,
                    "schema_org": "addressLocality",
                    "component": "https://schema.org.uk/schemas/components/address"
                },
                {
                    "name": "pub.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": "pub",
                    "required": false,
                    "schema_org": "addressRegion",
                    "component": "https://schema.org.uk/schemas/components/address"
                },
                {
                    "name": "pub.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": "pub",
                    "required": false,
                    "schema_org": "addressCountry",
                    "component": "https://schema.org.uk/schemas/components/address"
                }
            ]
        },
        {
            "name": "Opening hours",
            "key": "opening_hours",
            "attributes": [
                {
                    "name": "pub.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": "pub",
                    "required": false,
                    "schema_org": "openingHoursSpecification"
                }
            ]
        },
        {
            "name": "Images",
            "key": "images",
            "attributes": [
                {
                    "name": "pub.image.logo",
                    "label": "Logo",
                    "description": "The address of the pub logo, when one is stated. A missing address is omitted.",
                    "data_type": "url",
                    "scope": "pub",
                    "required": false,
                    "schema_org": "logo"
                },
                {
                    "name": "pub.image.main",
                    "label": "Main image",
                    "description": "The address of the main image of the pub, when one is stated. A count of photographs is not an image. A missing address is omitted.",
                    "data_type": "url",
                    "scope": "pub",
                    "required": false,
                    "schema_org": "image",
                    "component": "https://schema.org.uk/schemas/components/image"
                }
            ]
        },
        {
            "name": "Reputation",
            "key": "review_statistics",
            "attributes": [
                {
                    "name": "pub.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": "pub",
                    "required": false,
                    "schema_org": "ratingValue",
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "pub.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": "pub",
                    "required": false,
                    "schema_org": "reviewCount",
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "pub.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": "pub",
                    "required": false,
                    "schema_org": "ratingCount",
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "pub.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": "pub",
                    "required": false,
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "pub.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": "pub",
                    "required": false,
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "pub.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": "pub",
                    "required": false,
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "pub.review.observed_on",
                    "label": "Observation date",
                    "description": "The date on which these figures were observed, when that date is stated.",
                    "data_type": "date",
                    "scope": "pub",
                    "required": false,
                    "component": "https://schema.org.uk/schemas/components/reputation"
                }
            ]
        },
        {
            "name": "Price",
            "key": "price",
            "attributes": [
                {
                    "name": "pub.price_range",
                    "label": "Price range",
                    "description": "A price indication using £, ££, £££, or ££££. Leave it empty when none is stated. This is not a dish price.",
                    "data_type": "text",
                    "scope": "pub",
                    "required": false,
                    "schema_org": "priceRange"
                }
            ]
        },
        {
            "name": "Beer",
            "key": "beer",
            "attributes": [
                {
                    "name": "pub.beer.selection",
                    "label": "Beer offering",
                    "description": "The beers the pub states that it offers. The recorded values are Draught beer, Guinness, Cask ale, Local ales, Craft beer, and Brewed on site. Cider, wine, and cocktails are separate. A missing value stays unknown. When beers are stated, JSON-LD uses a PropertyValue named beerOffering.",
                    "data_type": "list",
                    "scope": "pub",
                    "required": false,
                    "schema_org": "additionalProperty"
                }
            ]
        },
        {
            "name": "Food, drink and events",
            "key": "services",
            "attributes": [
                {
                    "name": "pub.service.sunday_lunch",
                    "label": "Sunday lunch",
                    "description": "Whether the pub serves Sunday lunch. A roast dinner on another day 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": "pub",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "pub.service.food",
                    "label": "Food served",
                    "description": "Whether the pub serves food, including home-cooked food, light bites, or a daily special. Named dishes are separate services. 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": "pub",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "pub.service.groups",
                    "label": "Group bookings and events",
                    "description": "Whether the pub takes group bookings or hosts an event, including a buffet. A wedding reception 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": "pub",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "pub.service.roast",
                    "label": "Roast dinners",
                    "description": "Whether the pub serves a roast dinner, including a carvery, Yorkshire pudding, or a spit roast. Sunday 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": "pub",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "pub.service.fish_and_chips",
                    "label": "Fish and chips",
                    "description": "Whether the pub offers fish and chips, including chips, other seafood, a fish pie, or lobster. Pies 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": "pub",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "pub.service.desserts",
                    "label": "Desserts",
                    "description": "Whether the pub offers desserts, including sticky toffee pudding, cheesecake, or scones. 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": "pub",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "pub.service.steak",
                    "label": "Steak",
                    "description": "Whether the pub serves steak, including lamb or ribs. Burgers 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": "pub",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "pub.service.burgers",
                    "label": "Burgers",
                    "description": "Whether the pub serves burgers, including wings or fries. Steak 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": "pub",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "pub.service.vegetarian",
                    "label": "Vegetarian and vegan options",
                    "description": "Whether the pub offers vegetarian or vegan dishes. 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": "pub",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "pub.service.allergy",
                    "label": "Allergy and gluten-free catering",
                    "description": "Whether the pub can cater for a stated allergy, including gluten-free food. 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": "pub",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "pub.service.music",
                    "label": "Live music and entertainment",
                    "description": "Whether the pub has live music or other entertainment, including karaoke or an open mike night. A quiz 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": "pub",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "pub.service.breakfast",
                    "label": "Breakfast",
                    "description": "Whether the pub serves breakfast, including at the weekend. Sunday 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": "pub",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "pub.service.quiz",
                    "label": "Quiz night",
                    "description": "Whether the pub holds a quiz night, including a music quiz or bingo. Live music 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": "pub",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "pub.service.wine",
                    "label": "Wine",
                    "description": "Whether the pub offers wine, including champagne or prosecco. Beer and cocktails 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": "pub",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "pub.service.pies",
                    "label": "Pies",
                    "description": "Whether the pub serves pies. Fish and chips 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": "pub",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "pub.service.pizza",
                    "label": "Pizza",
                    "description": "Whether the pub serves pizza. 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": "pub",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "pub.service.coffee",
                    "label": "Coffee and tea",
                    "description": "Whether the pub offers coffee or tea. 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": "pub",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "pub.service.takeaway",
                    "label": "Takeaway food",
                    "description": "Whether the pub offers takeaway food, including cans to take away. 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": "pub",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "pub.service.weddings",
                    "label": "Wedding receptions",
                    "description": "Whether the pub hosts wedding receptions. Other group bookings 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": "pub",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "pub.service.cider",
                    "label": "Cider",
                    "description": "Whether the pub offers cider. Beer and 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": "pub",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "pub.service.kids_menu",
                    "label": "Children's menu",
                    "description": "Whether the pub has a children's menu. A play area and high chairs 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": "pub",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "pub.service.cocktails",
                    "label": "Cocktails and gin",
                    "description": "Whether the pub offers cocktails or gin. Beer and 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": "pub",
                    "required": false,
                    "schema_org": "Service"
                }
            ]
        },
        {
            "name": "Amenities",
            "key": "amenities",
            "attributes": [
                {
                    "name": "pub.amenity.dogs",
                    "label": "Dog friendly",
                    "description": "Whether the pub welcomes dogs. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "pub",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "pub.amenity.outdoor_seating",
                    "label": "Outdoor seating",
                    "description": "Whether the pub has outdoor seating. A beer garden is separate. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "pub",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "pub.amenity.parking",
                    "label": "Car park",
                    "description": "Whether the pub has a car park, including free parking. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "pub",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "pub.amenity.fire",
                    "label": "Open fire or wood burner",
                    "description": "Whether the pub has an open fire or a wood burner. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "pub",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "pub.amenity.games",
                    "label": "Pub games",
                    "description": "The games the pub has. The recorded values are Pool table, Darts, Skittle alley, Bowls, Card games, and Bar games. A missing value stays unknown. When games are stated, JSON-LD uses an amenityFeature named Pub games.",
                    "data_type": "list",
                    "scope": "pub",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "pub.amenity.wheelchair_access",
                    "label": "Wheelchair access",
                    "description": "Whether the pub has wheelchair access. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "pub",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "pub.amenity.sport",
                    "label": "TV screens for sport",
                    "description": "Whether the pub shows sport on television. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "pub",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "pub.amenity.beer_garden",
                    "label": "Beer garden",
                    "description": "Whether the pub has a beer garden. Other outdoor seating is separate. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "pub",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "pub.amenity.toilets",
                    "label": "Customer toilets",
                    "description": "Whether the pub has customer toilets. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "pub",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "pub.amenity.play_area",
                    "label": "Children's play area",
                    "description": "Whether the pub has a children's play area, including soft play. A children's menu is separate. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "pub",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "pub.amenity.wifi",
                    "label": "Wi-Fi",
                    "description": "Whether the pub offers Wi-Fi. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "pub",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "pub.amenity.high_chairs",
                    "label": "High chairs",
                    "description": "Whether the pub has high chairs. A children's menu is separate. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "pub",
                    "required": false,
                    "schema_org": "amenityFeature"
                }
            ]
        },
        {
            "name": "Pub details",
            "key": "details",
            "attributes": [
                {
                    "name": "pub.details.reservations",
                    "label": "Accepts reservations",
                    "description": "Whether the pub accepts reservations. Walk-in visits stay with this field. This is not a reservation record. A missing value stays unknown. JSON-LD uses acceptsReservations only when the value is stated as yes or no.",
                    "data_type": "boolean",
                    "scope": "pub",
                    "required": false,
                    "schema_org": "acceptsReservations"
                },
                {
                    "name": "pub.details.children",
                    "label": "Children welcome",
                    "description": "Whether the pub welcomes children. A children's menu, high chairs, and a play area are separate. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named childrenWelcome.",
                    "data_type": "boolean",
                    "scope": "pub",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "pub.details.rooms",
                    "label": "Rooms for overnight stay",
                    "description": "Whether the pub has rooms for an overnight stay. 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": "pub",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "pub.details.alcohol_free",
                    "label": "Alcohol-free and low-alcohol drinks",
                    "description": "Whether the pub offers alcohol-free or low-alcohol drinks, including a soft drink. Beer, cider, wine, and cocktails are separate. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named alcoholFreeDrinks.",
                    "data_type": "boolean",
                    "scope": "pub",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "pub.details.walkers",
                    "label": "Walkers and cyclists welcome",
                    "description": "Whether the pub welcomes walkers or cyclists, including drinking water or bike storage. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named walkersWelcome.",
                    "data_type": "boolean",
                    "scope": "pub",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "pub.details.community",
                    "label": "Community owned pub",
                    "description": "Whether the pub is owned by the community. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named communityOwned.",
                    "data_type": "boolean",
                    "scope": "pub",
                    "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"
            ]
        }
    ]
}
