{
    "id": "https://schema.org.uk/schemas/theatre/1.0",
    "version": "1.0",
    "name": "Theatre Schema",
    "description": "The Theatre Schema organises theatre identity, contact, location, opening hours, programme, facilities and visitor information into a consistent format, using Schema.org vocabulary where applicable.",
    "sections": [
        {
            "name": "Identity",
            "key": "identity",
            "attributes": [
                {
                    "name": "theatre.id",
                    "label": "Identifier",
                    "description": "The permanent unique identifier already assigned to the theatre. JSON-LD states the same value as @id. The identifier is not calculated from the name, telephone, or address.",
                    "data_type": "text",
                    "scope": "theatre",
                    "required": true,
                    "schema_org": "@id"
                },
                {
                    "name": "theatre.title",
                    "label": "Title",
                    "description": "The name of the theatre.",
                    "data_type": "text",
                    "scope": "theatre",
                    "required": true,
                    "schema_org": "name"
                },
                {
                    "name": "theatre.description",
                    "label": "Description",
                    "description": "A text description of the theatre.",
                    "data_type": "text",
                    "scope": "theatre",
                    "required": false,
                    "schema_org": "description"
                }
            ]
        },
        {
            "name": "Incorporation details",
            "key": "company",
            "attributes": [
                {
                    "name": "theatre.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": "theatre",
                    "required": false,
                    "schema_org": "legalName",
                    "component": "https://schema.org.uk/schemas/components/company"
                },
                {
                    "name": "theatre.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": "theatre",
                    "required": false,
                    "schema_org": "additionalProperty",
                    "component": "https://schema.org.uk/schemas/components/company"
                },
                {
                    "name": "theatre.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": "theatre",
                    "required": false,
                    "schema_org": "foundingDate",
                    "component": "https://schema.org.uk/schemas/components/company"
                },
                {
                    "name": "theatre.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": "theatre",
                    "required": false,
                    "schema_org": "vatID",
                    "component": "https://schema.org.uk/schemas/components/company"
                }
            ]
        },
        {
            "name": "Contact",
            "key": "contact",
            "attributes": [
                {
                    "name": "theatre.contact.phone",
                    "label": "Phone",
                    "description": "The telephone number of the theatre.",
                    "data_type": "text",
                    "scope": "theatre",
                    "required": false,
                    "schema_org": "telephone",
                    "component": "https://schema.org.uk/schemas/components/contact"
                },
                {
                    "name": "theatre.contact.url",
                    "label": "Url",
                    "description": "The website address of the theatre.",
                    "data_type": "url",
                    "scope": "theatre",
                    "required": false,
                    "schema_org": "url",
                    "component": "https://schema.org.uk/schemas/components/contact"
                },
                {
                    "name": "theatre.contact.email",
                    "label": "Email",
                    "description": "An email address for the theatre, when one is stated. Leave it empty when none is known.",
                    "data_type": "email",
                    "scope": "theatre",
                    "required": false,
                    "schema_org": "email",
                    "component": "https://schema.org.uk/schemas/components/contact"
                }
            ]
        },
        {
            "name": "Location and coordinates",
            "key": "location_and_coordinates",
            "attributes": [
                {
                    "name": "theatre.location.address",
                    "label": "Address",
                    "description": "The postal address of the theatre. The original address line stays intact.",
                    "data_type": "text",
                    "scope": "theatre",
                    "required": false,
                    "schema_org": "address"
                },
                {
                    "name": "theatre.location.latitude",
                    "label": "Latitude",
                    "description": "The WGS84 latitude of the theatre.",
                    "data_type": "number",
                    "scope": "theatre",
                    "required": false,
                    "schema_org": "latitude"
                },
                {
                    "name": "theatre.location.longitude",
                    "label": "Longitude",
                    "description": "The WGS84 longitude of the theatre. A coordinate pair is required before JSON-LD includes GeoCoordinates.",
                    "data_type": "number",
                    "scope": "theatre",
                    "required": false,
                    "schema_org": "longitude"
                },
                {
                    "name": "theatre.location.postcode",
                    "label": "Postcode",
                    "description": "The UK postcode when one postcode is present in the postal address.",
                    "data_type": "text",
                    "scope": "theatre",
                    "required": false,
                    "schema_org": "postalCode",
                    "component": "https://schema.org.uk/schemas/components/address"
                },
                {
                    "name": "theatre.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": "theatre",
                    "required": false,
                    "schema_org": "streetAddress",
                    "component": "https://schema.org.uk/schemas/components/address"
                },
                {
                    "name": "theatre.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": "theatre",
                    "required": false,
                    "schema_org": "addressLocality",
                    "component": "https://schema.org.uk/schemas/components/address"
                },
                {
                    "name": "theatre.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": "theatre",
                    "required": false,
                    "schema_org": "addressRegion",
                    "component": "https://schema.org.uk/schemas/components/address"
                },
                {
                    "name": "theatre.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": "theatre",
                    "required": false,
                    "schema_org": "addressCountry",
                    "component": "https://schema.org.uk/schemas/components/address"
                }
            ]
        },
        {
            "name": "Opening hours",
            "key": "opening_hours",
            "attributes": [
                {
                    "name": "theatre.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": "theatre",
                    "required": false,
                    "schema_org": "openingHoursSpecification"
                }
            ]
        },
        {
            "name": "Images",
            "key": "images",
            "attributes": [
                {
                    "name": "theatre.image.logo",
                    "label": "Logo",
                    "description": "The address of the theatre logo, when one is stated. A missing address is omitted.",
                    "data_type": "url",
                    "scope": "theatre",
                    "required": false,
                    "schema_org": "logo"
                },
                {
                    "name": "theatre.image.main",
                    "label": "Main image",
                    "description": "The address of the main image of the theatre, when one is stated. A count of photographs is not an image. A missing address is omitted.",
                    "data_type": "url",
                    "scope": "theatre",
                    "required": false,
                    "schema_org": "image",
                    "component": "https://schema.org.uk/schemas/components/image"
                }
            ]
        },
        {
            "name": "Reputation",
            "key": "review_statistics",
            "attributes": [
                {
                    "name": "theatre.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": "theatre",
                    "required": false,
                    "schema_org": "ratingValue",
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "theatre.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": "theatre",
                    "required": false,
                    "schema_org": "reviewCount",
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "theatre.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": "theatre",
                    "required": false,
                    "schema_org": "ratingCount",
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "theatre.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": "theatre",
                    "required": false,
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "theatre.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": "theatre",
                    "required": false,
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "theatre.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": "theatre",
                    "required": false,
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "theatre.review.observed_on",
                    "label": "Observation date",
                    "description": "The date on which these figures were observed, when that date is stated.",
                    "data_type": "date",
                    "scope": "theatre",
                    "required": false,
                    "component": "https://schema.org.uk/schemas/components/reputation"
                }
            ]
        },
        {
            "name": "Price",
            "key": "price",
            "attributes": [
                {
                    "name": "theatre.price_range",
                    "label": "Price level",
                    "description": "A price indication using £, ££, £££, or ££££. Leave it empty when none is stated. This is not a ticket price.",
                    "data_type": "text",
                    "scope": "theatre",
                    "required": false,
                    "schema_org": "priceRange"
                }
            ]
        },
        {
            "name": "Programme",
            "key": "services",
            "attributes": [
                {
                    "name": "theatre.service.drama",
                    "label": "Drama productions",
                    "description": "Whether the theatre stages plays or other drama. Musical theatre, youth theatre, and drama classes 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": "theatre",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "theatre.service.musicals",
                    "label": "Musical theatre",
                    "description": "Whether the theatre stages musicals. A play without 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": "theatre",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "theatre.service.concerts",
                    "label": "Live music concerts",
                    "description": "Whether the theatre stages live music, including a band or a concert. 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": "theatre",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "theatre.service.comedy",
                    "label": "Comedy shows",
                    "description": "Whether the theatre stages comedy, including stand-up. 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": "theatre",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "theatre.service.food",
                    "label": "Restaurant and cafe food",
                    "description": "Whether the theatre offers restaurant or cafe food, including afternoon tea, coffee, breakfast, a roast, Sunday lunch, or ice cream. This is not a restaurant listing. A bar and interval drinks 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": "theatre",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "theatre.service.hire",
                    "label": "Private and venue hire",
                    "description": "Whether the theatre can be hired, including for a rehearsal or a meeting. Talks and lectures 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": "theatre",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "theatre.service.pantomime",
                    "label": "Pantomime shows",
                    "description": "Whether the theatre stages a pantomime. A play and a musical 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": "theatre",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "theatre.service.cinema",
                    "label": "Cinema screenings",
                    "description": "Whether the theatre shows films, including a film night. A live performance 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": "theatre",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "theatre.service.youth",
                    "label": "Youth theatre",
                    "description": "Whether the theatre offers youth theatre. A family audience is recorded separately. 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": "theatre",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "theatre.service.classes",
                    "label": "Drama and dance classes",
                    "description": "Whether the theatre offers drama or dance classes, including a craft course. A drama production and a ballet performance 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": "theatre",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "theatre.service.tributes",
                    "label": "Tribute acts",
                    "description": "Whether the theatre stages tribute acts. A live music concert 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": "theatre",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "theatre.service.exhibitions",
                    "label": "Art and photography exhibitions",
                    "description": "Whether the theatre shows art or photography. A performance 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": "theatre",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "theatre.service.talks",
                    "label": "Talks and lectures",
                    "description": "Whether the theatre offers talks or lectures. Hiring the venue for a meeting 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": "theatre",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "theatre.service.interval",
                    "label": "Interval refreshments",
                    "description": "Whether interval drinks can be ordered before the performance. A bar on site 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": "theatre",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "theatre.service.ballet",
                    "label": "Ballet and dance performances",
                    "description": "Whether the theatre stages ballet or other dance performances. Dance classes 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": "theatre",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "theatre.service.tours",
                    "label": "Guided backstage tours",
                    "description": "Whether the theatre offers a guided tour backstage. 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": "theatre",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "theatre.service.mystery",
                    "label": "Murder mystery evenings",
                    "description": "Whether the theatre offers a murder mystery evening. A play 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": "theatre",
                    "required": false,
                    "schema_org": "Service"
                }
            ]
        },
        {
            "name": "Amenities",
            "key": "amenities",
            "attributes": [
                {
                    "name": "theatre.amenity.bar",
                    "label": "Bar",
                    "description": "Whether the theatre has a bar, including beer, wine, spirits, or other refreshments. Pre-ordered interval drinks are a separate service. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "theatre",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "theatre.amenity.wheelchair_seating",
                    "label": "Wheelchair accessible seating",
                    "description": "Whether the theatre has wheelchair accessible seating. Lift access and disabled parking are separate. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "theatre",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "theatre.amenity.parking",
                    "label": "Free parking",
                    "description": "Whether the theatre has free parking, including free street parking. Paid parking nearby is separate. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "theatre",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "theatre.amenity.lift",
                    "label": "Lift access",
                    "description": "Whether the theatre has lift access. Wheelchair seating and disabled parking are separate. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "theatre",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "theatre.amenity.air_conditioning",
                    "label": "Air conditioning",
                    "description": "Whether the auditorium has air conditioning or heating. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "theatre",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "theatre.amenity.toilets",
                    "label": "Toilets",
                    "description": "Whether the theatre has toilets for the audience. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "theatre",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "theatre.amenity.outdoor_seating",
                    "label": "Outdoor seating",
                    "description": "Whether the theatre has outdoor seating, including a terrace or a picnic area. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "theatre",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "theatre.amenity.paid_parking",
                    "label": "Paid parking nearby",
                    "description": "Whether paid parking is nearby, including a multi-storey car park or pay and display. Free parking and disabled parking are separate. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "theatre",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "theatre.amenity.dietary",
                    "label": "Dietary options",
                    "description": "Whether the theatre offers food that suits a stated diet, including gluten-free food. Restaurant and cafe food is a separate service. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "theatre",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "theatre.amenity.disabled_parking",
                    "label": "Disabled parking",
                    "description": "Whether the theatre has disabled parking. Free parking and paid parking nearby are separate. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "theatre",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "theatre.amenity.dogs",
                    "label": "Dogs allowed",
                    "description": "Whether dogs are allowed at the theatre. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "theatre",
                    "required": false,
                    "schema_org": "amenityFeature"
                }
            ]
        },
        {
            "name": "Theatre details",
            "key": "details",
            "attributes": [
                {
                    "name": "theatre.details.families",
                    "label": "Families and children welcome",
                    "description": "Whether the theatre welcomes families and children, including shows for children. Youth theatre is a separate service. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named familiesWelcome.",
                    "data_type": "boolean",
                    "scope": "theatre",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "theatre.details.intimate",
                    "label": "Small intimate venue",
                    "description": "Whether the theatre is a small or intimate venue, including in-the-round seating or seats at tables. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named smallVenue.",
                    "data_type": "boolean",
                    "scope": "theatre",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "theatre.details.volunteer",
                    "label": "Volunteer run",
                    "description": "Whether the theatre is volunteer run or a charity. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named volunteerRun.",
                    "data_type": "boolean",
                    "scope": "theatre",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "theatre.details.membership",
                    "label": "Membership or season tickets",
                    "description": "Whether the theatre offers membership or season tickets. This is not a ticket price. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named membership.",
                    "data_type": "boolean",
                    "scope": "theatre",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "theatre.details.auditorium_drinks",
                    "label": "Drinks allowed in auditorium",
                    "description": "Whether drinks are allowed in the auditorium. A bar and interval orders are separate. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named auditoriumDrinks.",
                    "data_type": "boolean",
                    "scope": "theatre",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "theatre.details.concessions",
                    "label": "Concession tickets",
                    "description": "Whether the theatre offers concession tickets. This is not a ticket price. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named concessionTickets.",
                    "data_type": "boolean",
                    "scope": "theatre",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "theatre.details.advance_booking",
                    "label": "Advance booking recommended",
                    "description": "Whether booking ahead is recommended. This is not a booking record. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named advanceBooking.",
                    "data_type": "boolean",
                    "scope": "theatre",
                    "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"
            ]
        }
    ]
}
