{
    "id": "https://schema.org.uk/schemas/plumber/1.0",
    "version": "1.0",
    "name": "Plumber Schema",
    "description": "The Plumber Schema organises plumber identity, contact, location, opening hours, plumbing, heating and customer information into a consistent format, using Schema.org vocabulary where applicable.",
    "sections": [
        {
            "name": "Identity",
            "key": "identity",
            "attributes": [
                {
                    "name": "plumber.id",
                    "label": "Identifier",
                    "description": "The permanent unique identifier already assigned to the plumber. JSON-LD states the same value as @id. The identifier is not calculated from the name, telephone, or address.",
                    "data_type": "text",
                    "scope": "plumber",
                    "required": true,
                    "schema_org": "@id"
                },
                {
                    "name": "plumber.title",
                    "label": "Title",
                    "description": "The name of the plumber.",
                    "data_type": "text",
                    "scope": "plumber",
                    "required": true,
                    "schema_org": "name"
                },
                {
                    "name": "plumber.description",
                    "label": "Description",
                    "description": "A text description of the plumber.",
                    "data_type": "text",
                    "scope": "plumber",
                    "required": false,
                    "schema_org": "description"
                }
            ]
        },
        {
            "name": "Incorporation details",
            "key": "company",
            "attributes": [
                {
                    "name": "plumber.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": "plumber",
                    "required": false,
                    "schema_org": "legalName",
                    "component": "https://schema.org.uk/schemas/components/company"
                },
                {
                    "name": "plumber.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": "plumber",
                    "required": false,
                    "schema_org": "additionalProperty",
                    "component": "https://schema.org.uk/schemas/components/company"
                },
                {
                    "name": "plumber.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": "plumber",
                    "required": false,
                    "schema_org": "foundingDate",
                    "component": "https://schema.org.uk/schemas/components/company"
                },
                {
                    "name": "plumber.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": "plumber",
                    "required": false,
                    "schema_org": "vatID",
                    "component": "https://schema.org.uk/schemas/components/company"
                }
            ]
        },
        {
            "name": "Contact",
            "key": "contact",
            "attributes": [
                {
                    "name": "plumber.contact.phone",
                    "label": "Phone",
                    "description": "The telephone number of the plumber.",
                    "data_type": "text",
                    "scope": "plumber",
                    "required": false,
                    "schema_org": "telephone",
                    "component": "https://schema.org.uk/schemas/components/contact"
                },
                {
                    "name": "plumber.contact.url",
                    "label": "Url",
                    "description": "The website address of the plumber.",
                    "data_type": "url",
                    "scope": "plumber",
                    "required": false,
                    "schema_org": "url",
                    "component": "https://schema.org.uk/schemas/components/contact"
                },
                {
                    "name": "plumber.contact.email",
                    "label": "Email",
                    "description": "An email address for the plumber, when one is stated. Leave it empty when none is known.",
                    "data_type": "email",
                    "scope": "plumber",
                    "required": false,
                    "schema_org": "email",
                    "component": "https://schema.org.uk/schemas/components/contact"
                }
            ]
        },
        {
            "name": "Location and coordinates",
            "key": "location_and_coordinates",
            "attributes": [
                {
                    "name": "plumber.location.address",
                    "label": "Address",
                    "description": "The postal address of the plumber. The original address line stays intact.",
                    "data_type": "text",
                    "scope": "plumber",
                    "required": false,
                    "schema_org": "address"
                },
                {
                    "name": "plumber.location.latitude",
                    "label": "Latitude",
                    "description": "The WGS84 latitude of the plumber.",
                    "data_type": "number",
                    "scope": "plumber",
                    "required": false,
                    "schema_org": "latitude"
                },
                {
                    "name": "plumber.location.longitude",
                    "label": "Longitude",
                    "description": "The WGS84 longitude of the plumber. A coordinate pair is required before JSON-LD includes GeoCoordinates.",
                    "data_type": "number",
                    "scope": "plumber",
                    "required": false,
                    "schema_org": "longitude"
                },
                {
                    "name": "plumber.location.postcode",
                    "label": "Postcode",
                    "description": "The UK postcode when one postcode is present in the postal address.",
                    "data_type": "text",
                    "scope": "plumber",
                    "required": false,
                    "schema_org": "postalCode",
                    "component": "https://schema.org.uk/schemas/components/address"
                },
                {
                    "name": "plumber.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": "plumber",
                    "required": false,
                    "schema_org": "streetAddress",
                    "component": "https://schema.org.uk/schemas/components/address"
                },
                {
                    "name": "plumber.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": "plumber",
                    "required": false,
                    "schema_org": "addressLocality",
                    "component": "https://schema.org.uk/schemas/components/address"
                },
                {
                    "name": "plumber.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": "plumber",
                    "required": false,
                    "schema_org": "addressRegion",
                    "component": "https://schema.org.uk/schemas/components/address"
                },
                {
                    "name": "plumber.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": "plumber",
                    "required": false,
                    "schema_org": "addressCountry",
                    "component": "https://schema.org.uk/schemas/components/address"
                }
            ]
        },
        {
            "name": "Opening hours",
            "key": "opening_hours",
            "attributes": [
                {
                    "name": "plumber.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": "plumber",
                    "required": false,
                    "schema_org": "openingHoursSpecification"
                }
            ]
        },
        {
            "name": "Images",
            "key": "images",
            "attributes": [
                {
                    "name": "plumber.image.logo",
                    "label": "Logo",
                    "description": "The address of the plumber logo, when one is stated. A missing address is omitted.",
                    "data_type": "url",
                    "scope": "plumber",
                    "required": false,
                    "schema_org": "logo"
                },
                {
                    "name": "plumber.image.main",
                    "label": "Main image",
                    "description": "The address of the main image of the plumber, when one is stated. A count of photographs is not an image. A missing address is omitted.",
                    "data_type": "url",
                    "scope": "plumber",
                    "required": false,
                    "schema_org": "image",
                    "component": "https://schema.org.uk/schemas/components/image"
                }
            ]
        },
        {
            "name": "Reputation",
            "key": "review_statistics",
            "attributes": [
                {
                    "name": "plumber.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": "plumber",
                    "required": false,
                    "schema_org": "ratingValue",
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "plumber.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": "plumber",
                    "required": false,
                    "schema_org": "reviewCount",
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "plumber.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": "plumber",
                    "required": false,
                    "schema_org": "ratingCount",
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "plumber.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": "plumber",
                    "required": false,
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "plumber.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": "plumber",
                    "required": false,
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "plumber.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": "plumber",
                    "required": false,
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "plumber.review.observed_on",
                    "label": "Observation date",
                    "description": "The date on which these figures were observed, when that date is stated.",
                    "data_type": "date",
                    "scope": "plumber",
                    "required": false,
                    "component": "https://schema.org.uk/schemas/components/reputation"
                }
            ]
        },
        {
            "name": "Price",
            "key": "price",
            "attributes": [
                {
                    "name": "plumber.price_range",
                    "label": "Price level",
                    "description": "A price indication using £, ££, or £££. Leave it empty when none is stated. This is not a job price.",
                    "data_type": "text",
                    "scope": "plumber",
                    "required": false,
                    "schema_org": "priceRange"
                }
            ]
        },
        {
            "name": "Plumbing and heating",
            "key": "services",
            "attributes": [
                {
                    "name": "plumber.service.emergency_callout",
                    "label": "Emergency callout",
                    "description": "Whether the plumber offers an emergency callout. A same-day callout 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": "plumber",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "plumber.service.same_day_callout",
                    "label": "Same-day callout",
                    "description": "Whether the plumber offers a same-day callout. An emergency callout 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": "plumber",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "plumber.service.leak_repair",
                    "label": "Leak repair",
                    "description": "Whether the plumber repairs a leak. Finding a leak 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": "plumber",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "plumber.service.boiler_repair",
                    "label": "Boiler repair",
                    "description": "Whether the plumber repairs a boiler. Installing a boiler and servicing a boiler 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": "plumber",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "plumber.service.plumbing",
                    "label": "General plumbing",
                    "description": "Whether the plumber does general plumbing. Named jobs, such as a leak or a tap, 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": "plumber",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "plumber.service.boiler_servicing",
                    "label": "Boiler servicing",
                    "description": "Whether the plumber services a boiler. A repair and an installation 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": "plumber",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "plumber.service.bathroom",
                    "label": "Bathroom fitting",
                    "description": "Whether the plumber fits a bathroom, including a bathroom suite or a wet room. A shower installation 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": "plumber",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "plumber.service.boiler_installation",
                    "label": "Boiler installation",
                    "description": "Whether the plumber installs a boiler. A repair and a service 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": "plumber",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "plumber.service.shower",
                    "label": "Shower installation",
                    "description": "Whether the plumber installs a shower, including a shower pump. Repair of an electric shower stays with this service. Bathroom fitting 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": "plumber",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "plumber.service.radiator_installation",
                    "label": "Radiator installation",
                    "description": "Whether the plumber installs a radiator, including a towel rail. Removing a radiator 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": "plumber",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "plumber.service.taps",
                    "label": "Tap replacement",
                    "description": "Whether the plumber replaces a tap, including a bath mixer tap or an outdoor tap. 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": "plumber",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "plumber.service.central_heating",
                    "label": "Central heating",
                    "description": "Whether the plumber works on central heating, including heating controls. A boiler installation 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": "plumber",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "plumber.service.gas_safety",
                    "label": "Gas safety check",
                    "description": "Whether the plumber carries out a gas safety check. 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": "plumber",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "plumber.service.hot_water_tank",
                    "label": "Hot water tank installation",
                    "description": "Whether the plumber installs a hot water tank, including work on a water tank or an immersion heater. A boiler installation 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": "plumber",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "plumber.service.toilet",
                    "label": "Toilet installation",
                    "description": "Whether the plumber installs a toilet. 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": "plumber",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "plumber.service.gas_appliance",
                    "label": "Gas appliance installation and disconnection",
                    "description": "Whether the plumber installs or disconnects a gas appliance, including a gas hob, a gas cooker, or a gas fire. 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": "plumber",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "plumber.service.kitchen",
                    "label": "Kitchen fitting",
                    "description": "Whether the plumber fits a kitchen, including a dishwasher or a washing machine. Bathroom fitting 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": "plumber",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "plumber.service.tiling",
                    "label": "Tiling",
                    "description": "Whether the plumber tiles, including flooring. 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": "plumber",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "plumber.service.service_plan",
                    "label": "Annual service plan",
                    "description": "Whether the plumber offers an annual service plan. A one-off boiler service 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": "plumber",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "plumber.service.landlord",
                    "label": "Landlord compliance management",
                    "description": "Whether the plumber manages landlord compliance. A gas safety check 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": "plumber",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "plumber.service.underfloor_heating",
                    "label": "Underfloor heating",
                    "description": "Whether the plumber installs or works on underfloor heating. Radiator work 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": "plumber",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "plumber.service.stopcock",
                    "label": "Stopcock and valve replacement",
                    "description": "Whether the plumber replaces a stopcock or an isolation valve. 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": "plumber",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "plumber.service.radiator_removal",
                    "label": "Radiator removal and flushing",
                    "description": "Whether the plumber removes a radiator or flushes a heating system. Installing a radiator 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": "plumber",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "plumber.service.leak_detection",
                    "label": "Leak detection",
                    "description": "Whether the plumber finds a leak, including tracing a gas leak, acoustic detection, locating a water leak, non-invasive testing, a thermal imaging survey, a leak investigation report, insurance evidence, an investigation of damp or water ingress, or an inspection with an endoscopic camera. Repairing a leak 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": "plumber",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "plumber.service.drains",
                    "label": "Blocked drain clearance",
                    "description": "Whether the plumber clears a blocked drain. 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": "plumber",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "plumber.service.water_softener",
                    "label": "Water softener installation",
                    "description": "Whether the plumber installs a water softener. 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": "plumber",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "plumber.service.flue",
                    "label": "Flue work",
                    "description": "Whether the plumber works on a flue. 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": "plumber",
                    "required": false,
                    "schema_org": "Service"
                }
            ]
        },
        {
            "name": "Amenities",
            "key": "amenities",
            "attributes": [
                {
                    "name": "plumber.amenity.arrival_tracking",
                    "label": "Live arrival tracking",
                    "description": "Whether the plumber offers live tracking of an arrival. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "plumber",
                    "required": false,
                    "schema_org": "amenityFeature"
                }
            ]
        },
        {
            "name": "Plumber details",
            "key": "details",
            "attributes": [
                {
                    "name": "plumber.details.free_estimate",
                    "label": "Free estimates",
                    "description": "Whether the plumber gives a free estimate. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named freeEstimates.",
                    "data_type": "boolean",
                    "scope": "plumber",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "plumber.details.booking",
                    "label": "Booking by phone or online",
                    "description": "The ways the plumber says a customer can book. The recorded values are Phone, Online, and Email. A missing value is unknown. This is not a booking record. When a value is stated, JSON-LD uses a PropertyValue named bookingMethods.",
                    "data_type": "list",
                    "scope": "plumber",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "plumber.details.after_sales",
                    "label": "After-sales support",
                    "description": "Whether the plumber offers support after the work is done. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named afterSalesSupport.",
                    "data_type": "boolean",
                    "scope": "plumber",
                    "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"
            ]
        }
    ]
}
