{
    "id": "https://schema.org.uk/schemas/electrician/1.0",
    "version": "1.0",
    "name": "Electrician Schema",
    "description": "The Electrician Schema organises electrician identity, contact, location, opening hours, electrical work and customer information into a consistent format, using Schema.org vocabulary where applicable.",
    "sections": [
        {
            "name": "Identity",
            "key": "identity",
            "attributes": [
                {
                    "name": "electrician.id",
                    "label": "Identifier",
                    "description": "The permanent unique identifier already assigned to the electrician. JSON-LD states the same value as @id. The identifier is not calculated from the name, telephone, or address.",
                    "data_type": "text",
                    "scope": "electrician",
                    "required": true,
                    "schema_org": "@id"
                },
                {
                    "name": "electrician.title",
                    "label": "Title",
                    "description": "The name of the electrician.",
                    "data_type": "text",
                    "scope": "electrician",
                    "required": true,
                    "schema_org": "name"
                },
                {
                    "name": "electrician.description",
                    "label": "Description",
                    "description": "A text description of the electrician.",
                    "data_type": "text",
                    "scope": "electrician",
                    "required": false,
                    "schema_org": "description"
                }
            ]
        },
        {
            "name": "Incorporation details",
            "key": "company",
            "attributes": [
                {
                    "name": "electrician.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": "electrician",
                    "required": false,
                    "schema_org": "legalName",
                    "component": "https://schema.org.uk/schemas/components/company"
                },
                {
                    "name": "electrician.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": "electrician",
                    "required": false,
                    "schema_org": "additionalProperty",
                    "component": "https://schema.org.uk/schemas/components/company"
                },
                {
                    "name": "electrician.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": "electrician",
                    "required": false,
                    "schema_org": "foundingDate",
                    "component": "https://schema.org.uk/schemas/components/company"
                },
                {
                    "name": "electrician.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": "electrician",
                    "required": false,
                    "schema_org": "vatID",
                    "component": "https://schema.org.uk/schemas/components/company"
                }
            ]
        },
        {
            "name": "Contact",
            "key": "contact",
            "attributes": [
                {
                    "name": "electrician.contact.phone",
                    "label": "Phone",
                    "description": "The telephone number of the electrician.",
                    "data_type": "text",
                    "scope": "electrician",
                    "required": false,
                    "schema_org": "telephone",
                    "component": "https://schema.org.uk/schemas/components/contact"
                },
                {
                    "name": "electrician.contact.url",
                    "label": "Url",
                    "description": "The website address of the electrician.",
                    "data_type": "url",
                    "scope": "electrician",
                    "required": false,
                    "schema_org": "url",
                    "component": "https://schema.org.uk/schemas/components/contact"
                },
                {
                    "name": "electrician.contact.email",
                    "label": "Email",
                    "description": "An email address for the electrician, when one is stated. Leave it empty when none is known.",
                    "data_type": "email",
                    "scope": "electrician",
                    "required": false,
                    "schema_org": "email",
                    "component": "https://schema.org.uk/schemas/components/contact"
                }
            ]
        },
        {
            "name": "Location and coordinates",
            "key": "location_and_coordinates",
            "attributes": [
                {
                    "name": "electrician.location.address",
                    "label": "Address",
                    "description": "The postal address of the electrician. The original address line stays intact.",
                    "data_type": "text",
                    "scope": "electrician",
                    "required": false,
                    "schema_org": "address"
                },
                {
                    "name": "electrician.location.latitude",
                    "label": "Latitude",
                    "description": "The WGS84 latitude of the electrician.",
                    "data_type": "number",
                    "scope": "electrician",
                    "required": false,
                    "schema_org": "latitude"
                },
                {
                    "name": "electrician.location.longitude",
                    "label": "Longitude",
                    "description": "The WGS84 longitude of the electrician. A coordinate pair is required before JSON-LD includes GeoCoordinates.",
                    "data_type": "number",
                    "scope": "electrician",
                    "required": false,
                    "schema_org": "longitude"
                },
                {
                    "name": "electrician.location.postcode",
                    "label": "Postcode",
                    "description": "The UK postcode when one postcode is present in the postal address.",
                    "data_type": "text",
                    "scope": "electrician",
                    "required": false,
                    "schema_org": "postalCode",
                    "component": "https://schema.org.uk/schemas/components/address"
                },
                {
                    "name": "electrician.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": "electrician",
                    "required": false,
                    "schema_org": "streetAddress",
                    "component": "https://schema.org.uk/schemas/components/address"
                },
                {
                    "name": "electrician.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": "electrician",
                    "required": false,
                    "schema_org": "addressLocality",
                    "component": "https://schema.org.uk/schemas/components/address"
                },
                {
                    "name": "electrician.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": "electrician",
                    "required": false,
                    "schema_org": "addressRegion",
                    "component": "https://schema.org.uk/schemas/components/address"
                },
                {
                    "name": "electrician.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": "electrician",
                    "required": false,
                    "schema_org": "addressCountry",
                    "component": "https://schema.org.uk/schemas/components/address"
                }
            ]
        },
        {
            "name": "Opening hours",
            "key": "opening_hours",
            "attributes": [
                {
                    "name": "electrician.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": "electrician",
                    "required": false,
                    "schema_org": "openingHoursSpecification"
                }
            ]
        },
        {
            "name": "Images",
            "key": "images",
            "attributes": [
                {
                    "name": "electrician.image.logo",
                    "label": "Logo",
                    "description": "The address of the electrician logo, when one is stated. A missing address is omitted.",
                    "data_type": "url",
                    "scope": "electrician",
                    "required": false,
                    "schema_org": "logo"
                },
                {
                    "name": "electrician.image.main",
                    "label": "Main image",
                    "description": "The address of the main image of the electrician, when one is stated. A count of photographs is not an image. A missing address is omitted.",
                    "data_type": "url",
                    "scope": "electrician",
                    "required": false,
                    "schema_org": "image",
                    "component": "https://schema.org.uk/schemas/components/image"
                }
            ]
        },
        {
            "name": "Reputation",
            "key": "review_statistics",
            "attributes": [
                {
                    "name": "electrician.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": "electrician",
                    "required": false,
                    "schema_org": "ratingValue",
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "electrician.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": "electrician",
                    "required": false,
                    "schema_org": "reviewCount",
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "electrician.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": "electrician",
                    "required": false,
                    "schema_org": "ratingCount",
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "electrician.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": "electrician",
                    "required": false,
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "electrician.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": "electrician",
                    "required": false,
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "electrician.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": "electrician",
                    "required": false,
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "electrician.review.observed_on",
                    "label": "Observation date",
                    "description": "The date on which these figures were observed, when that date is stated.",
                    "data_type": "date",
                    "scope": "electrician",
                    "required": false,
                    "component": "https://schema.org.uk/schemas/components/reputation"
                }
            ]
        },
        {
            "name": "Price",
            "key": "price",
            "attributes": [
                {
                    "name": "electrician.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": "electrician",
                    "required": false,
                    "schema_org": "priceRange"
                }
            ]
        },
        {
            "name": "Electrical work",
            "key": "services",
            "attributes": [
                {
                    "name": "electrician.service.emergency",
                    "label": "Emergency electrical repair",
                    "description": "Whether the electrician repairs an electrical emergency, including a smart meter fault. A same-day callout 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": "electrician",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "electrician.service.lighting",
                    "label": "Lighting installation and repair",
                    "description": "Whether the electrician installs or repairs lighting, including a pull-cord light. Outdoor lighting 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": "electrician",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "electrician.service.rewiring",
                    "label": "Electrical rewiring",
                    "description": "Whether the electrician rewires a property, including kitchen electrical work. A fuse board replacement 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": "electrician",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "electrician.service.fault_finding",
                    "label": "Fault finding and repair",
                    "description": "Whether the electrician finds and repairs a wiring fault. 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": "electrician",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "electrician.service.safety_check",
                    "label": "Electrical safety check (EICR)",
                    "description": "Whether the electrician carries out an electrical safety check, including an EICR. A certificate 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": "electrician",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "electrician.service.consumer_unit",
                    "label": "Consumer unit / fuse board replacement",
                    "description": "Whether the electrician replaces a consumer unit or fuse board. 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": "electrician",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "electrician.service.sockets",
                    "label": "Socket installation",
                    "description": "Whether the electrician installs sockets. 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": "electrician",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "electrician.service.domestic",
                    "label": "Domestic electrical work",
                    "description": "Whether the electrician works in homes. Commercial 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": "electrician",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "electrician.service.ev_charger",
                    "label": "EV charger installation",
                    "description": "Whether the electrician installs an EV charger. 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": "electrician",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "electrician.service.extractor_fan",
                    "label": "Extractor fan installation",
                    "description": "Whether the electrician installs an extractor fan, including ventilation ducting. 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": "electrician",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "electrician.service.outdoor_lighting",
                    "label": "Outdoor and garden lighting",
                    "description": "Whether the electrician installs outdoor or garden lighting, including pond wiring or electric gates. Indoor lighting 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": "electrician",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "electrician.service.commercial",
                    "label": "Commercial electrical work",
                    "description": "Whether the electrician works in commercial premises. Domestic 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": "electrician",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "electrician.service.heating",
                    "label": "Electric heating installation and repair",
                    "description": "Whether the electrician installs or repairs electric heating, including a storage heater, an electric heater, underfloor heating, a thermostat, or a water heater. 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": "electrician",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "electrician.service.security",
                    "label": "Alarm, CCTV and video doorbell installation",
                    "description": "Whether the electrician installs an alarm, CCTV, or a video doorbell. 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": "electrician",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "electrician.service.shower",
                    "label": "Shower electrical installation",
                    "description": "Whether the electrician does the electrical installation for a shower. 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": "electrician",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "electrician.service.smoke_alarm",
                    "label": "Smoke alarm installation and repair",
                    "description": "Whether the electrician installs or repairs a smoke alarm. 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": "electrician",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "electrician.service.solar",
                    "label": "Solar panel and battery storage electrical work",
                    "description": "Whether the electrician does the electrical work for solar panels or battery storage. 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": "electrician",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "electrician.service.data_cabling",
                    "label": "Data cabling",
                    "description": "Whether the electrician installs data cabling. 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": "electrician",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "electrician.service.pat",
                    "label": "PAT testing",
                    "description": "Whether the electrician carries out PAT testing. 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": "electrician",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "electrician.service.smart_home",
                    "label": "Smart home installation",
                    "description": "Whether the electrician installs smart home equipment, including smart switches or audio-visual equipment. 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": "electrician",
                    "required": false,
                    "schema_org": "Service"
                }
            ]
        },
        {
            "name": "Electrician details",
            "key": "details",
            "attributes": [
                {
                    "name": "electrician.details.emergency_callout",
                    "label": "Same-day / emergency callouts",
                    "description": "Whether the electrician offers a same-day or emergency callout. Emergency repair work is a separate service. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named emergencyCallout.",
                    "data_type": "boolean",
                    "scope": "electrician",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "electrician.details.free_quotes",
                    "label": "Free quotes",
                    "description": "Whether the electrician gives free quotes. A charge for a quote stays with this field. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named freeQuotes.",
                    "data_type": "boolean",
                    "scope": "electrician",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "electrician.details.certificates",
                    "label": "Electrical certificates provided",
                    "description": "Whether the electrician provides an electrical certificate. The safety check itself is a separate service. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named electricalCertificates.",
                    "data_type": "boolean",
                    "scope": "electrician",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "electrician.details.online_booking",
                    "label": "Online booking",
                    "description": "Whether the electrician offers online booking. Booking by phone stays with this field. This is not a booking record. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named onlineBooking.",
                    "data_type": "boolean",
                    "scope": "electrician",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "electrician.details.gas_safe",
                    "label": "Gas Safe registered",
                    "description": "Whether the electrician states that they are Gas Safe registered. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named gasSafeRegistered.",
                    "data_type": "boolean",
                    "scope": "electrician",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "electrician.details.deposit",
                    "label": "Deposit required",
                    "description": "Whether the electrician requires a deposit. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named depositRequired.",
                    "data_type": "boolean",
                    "scope": "electrician",
                    "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"
            ]
        }
    ]
}
