{
    "id": "https://schema.org.uk/schemas/vehicle-repair-shop/1.0",
    "version": "1.0",
    "name": "Vehicle Repair Shop Schema",
    "description": "The Vehicle Repair Shop Schema organises repair shop identity, contact, location, opening hours, repairs, servicing and customer information into a consistent format, using Schema.org vocabulary where applicable.",
    "sections": [
        {
            "name": "Identity",
            "key": "identity",
            "attributes": [
                {
                    "name": "vehiclerepairshop.id",
                    "label": "Identifier",
                    "description": "The permanent unique identifier already assigned to the repair shop. JSON-LD states the same value as @id. The identifier is not calculated from the name, telephone, or address.",
                    "data_type": "text",
                    "scope": "vehiclerepairshop",
                    "required": true,
                    "schema_org": "@id"
                },
                {
                    "name": "vehiclerepairshop.title",
                    "label": "Title",
                    "description": "The name of the repair shop.",
                    "data_type": "text",
                    "scope": "vehiclerepairshop",
                    "required": true,
                    "schema_org": "name"
                },
                {
                    "name": "vehiclerepairshop.description",
                    "label": "Description",
                    "description": "A text description of the repair shop.",
                    "data_type": "text",
                    "scope": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "description"
                }
            ]
        },
        {
            "name": "Incorporation details",
            "key": "company",
            "attributes": [
                {
                    "name": "vehiclerepairshop.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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "legalName",
                    "component": "https://schema.org.uk/schemas/components/company"
                },
                {
                    "name": "vehiclerepairshop.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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "additionalProperty",
                    "component": "https://schema.org.uk/schemas/components/company"
                },
                {
                    "name": "vehiclerepairshop.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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "foundingDate",
                    "component": "https://schema.org.uk/schemas/components/company"
                },
                {
                    "name": "vehiclerepairshop.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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "vatID",
                    "component": "https://schema.org.uk/schemas/components/company"
                }
            ]
        },
        {
            "name": "Contact",
            "key": "contact",
            "attributes": [
                {
                    "name": "vehiclerepairshop.contact.phone",
                    "label": "Phone",
                    "description": "The telephone number of the repair shop.",
                    "data_type": "text",
                    "scope": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "telephone",
                    "component": "https://schema.org.uk/schemas/components/contact"
                },
                {
                    "name": "vehiclerepairshop.contact.url",
                    "label": "Url",
                    "description": "The website address of the repair shop.",
                    "data_type": "url",
                    "scope": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "url",
                    "component": "https://schema.org.uk/schemas/components/contact"
                },
                {
                    "name": "vehiclerepairshop.contact.email",
                    "label": "Email",
                    "description": "An email address for the repair shop, when one is stated. Leave it empty when none is known.",
                    "data_type": "email",
                    "scope": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "email",
                    "component": "https://schema.org.uk/schemas/components/contact"
                }
            ]
        },
        {
            "name": "Location and coordinates",
            "key": "location_and_coordinates",
            "attributes": [
                {
                    "name": "vehiclerepairshop.location.address",
                    "label": "Address",
                    "description": "The postal address of the repair shop. The original address line stays intact.",
                    "data_type": "text",
                    "scope": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "address"
                },
                {
                    "name": "vehiclerepairshop.location.latitude",
                    "label": "Latitude",
                    "description": "The WGS84 latitude of the repair shop.",
                    "data_type": "number",
                    "scope": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "latitude"
                },
                {
                    "name": "vehiclerepairshop.location.longitude",
                    "label": "Longitude",
                    "description": "The WGS84 longitude of the repair shop. A coordinate pair is required before JSON-LD includes GeoCoordinates.",
                    "data_type": "number",
                    "scope": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "longitude"
                },
                {
                    "name": "vehiclerepairshop.location.postcode",
                    "label": "Postcode",
                    "description": "The UK postcode when one postcode is present in the postal address.",
                    "data_type": "text",
                    "scope": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "postalCode",
                    "component": "https://schema.org.uk/schemas/components/address"
                },
                {
                    "name": "vehiclerepairshop.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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "streetAddress",
                    "component": "https://schema.org.uk/schemas/components/address"
                },
                {
                    "name": "vehiclerepairshop.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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "addressLocality",
                    "component": "https://schema.org.uk/schemas/components/address"
                },
                {
                    "name": "vehiclerepairshop.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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "addressRegion",
                    "component": "https://schema.org.uk/schemas/components/address"
                },
                {
                    "name": "vehiclerepairshop.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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "addressCountry",
                    "component": "https://schema.org.uk/schemas/components/address"
                }
            ]
        },
        {
            "name": "Opening hours",
            "key": "opening_hours",
            "attributes": [
                {
                    "name": "vehiclerepairshop.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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "openingHoursSpecification"
                }
            ]
        },
        {
            "name": "Images",
            "key": "images",
            "attributes": [
                {
                    "name": "vehiclerepairshop.image.logo",
                    "label": "Logo",
                    "description": "The address of the repair shop logo, when one is stated. A missing address is omitted.",
                    "data_type": "url",
                    "scope": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "logo"
                },
                {
                    "name": "vehiclerepairshop.image.main",
                    "label": "Main image",
                    "description": "The address of the main image of the repair shop, when one is stated. A count of photographs is not an image. A missing address is omitted.",
                    "data_type": "url",
                    "scope": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "image",
                    "component": "https://schema.org.uk/schemas/components/image"
                }
            ]
        },
        {
            "name": "Reputation",
            "key": "review_statistics",
            "attributes": [
                {
                    "name": "vehiclerepairshop.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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "ratingValue",
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "vehiclerepairshop.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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "reviewCount",
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "vehiclerepairshop.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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "ratingCount",
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "vehiclerepairshop.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": "vehiclerepairshop",
                    "required": false,
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "vehiclerepairshop.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": "vehiclerepairshop",
                    "required": false,
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "vehiclerepairshop.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": "vehiclerepairshop",
                    "required": false,
                    "component": "https://schema.org.uk/schemas/components/reputation"
                },
                {
                    "name": "vehiclerepairshop.review.observed_on",
                    "label": "Observation date",
                    "description": "The date on which these figures were observed, when that date is stated.",
                    "data_type": "date",
                    "scope": "vehiclerepairshop",
                    "required": false,
                    "component": "https://schema.org.uk/schemas/components/reputation"
                }
            ]
        },
        {
            "name": "Price",
            "key": "price",
            "attributes": [
                {
                    "name": "vehiclerepairshop.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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "priceRange"
                }
            ]
        },
        {
            "name": "Payment",
            "key": "payment",
            "attributes": [
                {
                    "name": "vehiclerepairshop.payment.methods",
                    "label": "Payment methods",
                    "description": "The payment methods the repair shop states it accepts. The recorded values are Cash, Credit card, Debit card, and Payment plan. A missing value is unknown. JSON-LD uses paymentAccepted for the stated methods.",
                    "data_type": "list",
                    "scope": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "paymentAccepted"
                }
            ]
        },
        {
            "name": "Repairs and servicing",
            "key": "services",
            "attributes": [
                {
                    "name": "vehiclerepairshop.service.repair",
                    "label": "Vehicle repair",
                    "description": "Whether the shop repairs vehicles. Named jobs, such as brakes or an exhaust, are separate services. JSON-LD includes a Service of this name in hasOfferCatalog only when the value is stated as offered. An explicit no and an unknown value add nothing.",
                    "data_type": "boolean",
                    "scope": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vehiclerepairshop.service.servicing",
                    "label": "Vehicle servicing",
                    "description": "Whether the shop services vehicles. A repair 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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vehiclerepairshop.service.mot",
                    "label": "MOT testing",
                    "description": "Whether the shop carries out MOT tests. A routine 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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vehiclerepairshop.service.diagnostics",
                    "label": "Vehicle diagnostics",
                    "description": "Whether the shop diagnoses a vehicle 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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vehiclerepairshop.service.collection",
                    "label": "Vehicle collection and return",
                    "description": "Whether the shop collects a vehicle and returns it. Recovery after a breakdown 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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vehiclerepairshop.service.brakes",
                    "label": "Brake repair and testing",
                    "description": "Whether the shop repairs or tests brakes, including pads or a handbrake. 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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vehiclerepairshop.service.recovery",
                    "label": "Vehicle recovery and breakdown call-out",
                    "description": "Whether the shop recovers a vehicle or attends a breakdown, including a jump start. Collecting a booked vehicle 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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vehiclerepairshop.service.tyres",
                    "label": "Tyre fitting",
                    "description": "Whether the shop fits tyres, including a puncture repair. Wheel alignment 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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vehiclerepairshop.service.courtesy_car",
                    "label": "Courtesy or replacement car",
                    "description": "Whether the shop offers a courtesy car or a replacement car while work is done. 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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vehiclerepairshop.service.fleet",
                    "label": "Fleet maintenance",
                    "description": "Whether the shop maintains a fleet of vehicles. Work on a heavy goods vehicle 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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vehiclerepairshop.service.body",
                    "label": "Body repair",
                    "description": "Whether the shop repairs vehicle bodywork, including a bumper or paint. Mechanical repair 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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vehiclerepairshop.service.air_conditioning",
                    "label": "Air conditioning and heating repair",
                    "description": "Whether the shop repairs air conditioning or heating. 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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vehiclerepairshop.service.battery",
                    "label": "Battery replacement",
                    "description": "Whether the shop replaces a vehicle battery. 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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vehiclerepairshop.service.cam_belt",
                    "label": "Cam belt replacement",
                    "description": "Whether the shop replaces a cam belt. 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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vehiclerepairshop.service.exhaust",
                    "label": "Exhaust fitting and repair",
                    "description": "Whether the shop fits or repairs an exhaust, including a catalytic converter. 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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vehiclerepairshop.service.suspension",
                    "label": "Suspension and steering repair",
                    "description": "Whether the shop repairs suspension or steering. Wheel alignment 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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vehiclerepairshop.service.clutch",
                    "label": "Clutch repair",
                    "description": "Whether the shop repairs a clutch. Gearbox repair 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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vehiclerepairshop.service.land_rover",
                    "label": "Land Rover repair",
                    "description": "Whether the shop repairs Land Rover vehicles. Other repairs 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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vehiclerepairshop.service.motorhome",
                    "label": "Motorhome repair and servicing",
                    "description": "Whether the shop repairs or services a motorhome. 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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vehiclerepairshop.service.gearbox",
                    "label": "Gearbox repair",
                    "description": "Whether the shop repairs a gearbox, including gearbox diagnostics. A clutch repair 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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vehiclerepairshop.service.inspection",
                    "label": "Pre-purchase inspection and advice",
                    "description": "Whether the shop inspects a vehicle or advises before a purchase. 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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vehiclerepairshop.service.hgv",
                    "label": "HGV, coach and trailer repair",
                    "description": "Whether the shop repairs a heavy goods vehicle, a coach, or a trailer. Fleet maintenance 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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vehiclerepairshop.service.remap",
                    "label": "Engine remap and tuning",
                    "description": "Whether the shop remaps an engine or tunes a vehicle. Work for one make stays in this 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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vehiclerepairshop.service.claims",
                    "label": "Accident claim and insurer handling",
                    "description": "Whether the shop handles an accident claim or deals with an insurer. Body repair 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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vehiclerepairshop.service.alignment",
                    "label": "Wheel alignment",
                    "description": "Whether the shop aligns wheels, including geometry. Suspension repair 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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "Service"
                },
                {
                    "name": "vehiclerepairshop.service.keys",
                    "label": "Car key replacement and programming",
                    "description": "Whether the shop replaces or programs a car key, including a spare key or help when a driver is locked out. 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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "Service"
                }
            ]
        },
        {
            "name": "Amenities",
            "key": "amenities",
            "attributes": [
                {
                    "name": "vehiclerepairshop.amenity.waiting",
                    "label": "Customer waiting area and toilets",
                    "description": "Whether the shop has a waiting area or toilets for customers. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "amenityFeature"
                },
                {
                    "name": "vehiclerepairshop.amenity.parking",
                    "label": "Free parking",
                    "description": "Whether the shop has free parking for customers. A missing value is unknown, not absent.",
                    "data_type": "boolean",
                    "scope": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "amenityFeature"
                }
            ]
        },
        {
            "name": "Shop details",
            "key": "details",
            "attributes": [
                {
                    "name": "vehiclerepairshop.details.online_booking",
                    "label": "Online booking",
                    "description": "Whether the shop offers online booking. 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": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "vehiclerepairshop.details.warranty",
                    "label": "Repair warranty",
                    "description": "The warranty terms the shop states for repair work. A missing value stays unknown. When terms are stated, JSON-LD uses a PropertyValue named repairWarranty.",
                    "data_type": "text",
                    "scope": "vehiclerepairshop",
                    "required": false,
                    "schema_org": "additionalProperty"
                },
                {
                    "name": "vehiclerepairshop.details.same_day",
                    "label": "Same-day or walk-in appointments",
                    "description": "Whether the shop offers a same-day or walk-in appointment. This is not an appointment record. A missing value stays unknown. When a value is stated, JSON-LD uses a PropertyValue named sameDayAppointments.",
                    "data_type": "boolean",
                    "scope": "vehiclerepairshop",
                    "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"
            ]
        }
    ]
}
