Which Schema.org types cover plumbing, electrical and roofing businesses?

The Citead team, updated

In short. Schema.org places Plumber, Electrician and RoofingContractor under HomeAndConstructionBusiness, with shared properties inherited through LocalBusiness.

Definition: Schema.org's HomeAndConstructionBusiness describes a local business that provides services around homes and buildings. As of October 2026, its subtypes include Plumber, Electrician and RoofingContractor, which inherit the properties of their parent types.

Key facts

Which type matches each trade?

A subtype is a more specific category within a parent type. Schema.org documents these mappings:

Business activitySchema.org typeDefinition on its type page
PlumbingPlumberA plumbing service.
Electrical workElectricianAn electrician.
RoofingRoofingContractorA roofing contractor.

Each type page shows HomeAndConstructionBusiness immediately above the trade type in its hierarchy. Schema.org's parent page also lists GeneralContractor, HVACBusiness, HousePainter, Locksmith and MovingCompany as more specific types. It describes a home and construction business as a possible provider of one or more Service entities, the objects used to describe services supplied by the business.

Which properties do contractor subtypes inherit?

An inherited property is a field available through a parent type. The Electrician documentation groups its properties by their originating type:

  • From LocalBusiness, openingHours describes general opening times and priceRange describes the business's price range.
  • From Organization, areaServed describes the geographic area where a service or offered item is provided. It accepts AdministrativeArea, GeoShape, Place or text. The same group includes email and telephone.
  • From Place, geo accepts GeoCoordinates or GeoShape, while openingHoursSpecification accepts an OpeningHoursSpecification object.
  • From Thing, name describes the item's name and url its web address.

The Plumber and RoofingContractor pages display the same inherited groups. Selecting a trade subtype therefore retains the shared business fields. Both the organization and place groups include address, whose Schema.org value can be PostalAddress or text.

How does markup handle a business with several trades?

Google's local business documentation illustrates a business offering electrical, plumbing and locksmith services with an array in @type. This type-only fragment follows that example:

{
  "@context": "https://schema.org",
  "@type": ["Electrician", "Plumber", "Locksmith"]
}

Google says additionalType is unsupported for this purpose. Its required-property table lists name and address, with address expressed as PostalAddress; the fragment above only demonstrates type selection. The same documentation directs publishers to validate code with the Rich Results Test and use the URL Inspection tool to test how Google sees a deployed page.

FAQ

Can a plumbing business use the inherited opening-hours fields?

Yes. Schema.org's Plumber table includes openingHours from LocalBusiness and openingHoursSpecification from Place.

Can I use several contractor types for the same business?

Yes. Google's local business guidance shows Electrician, Plumber and Locksmith together in an @type array for a business offering multiple services.

Sources

  1. Schema.org, "HomeAndConstructionBusiness", n.d.
  2. Schema.org, "Plumber", n.d.
  3. Schema.org, "Electrician", n.d.
  4. Schema.org, "RoofingContractor", n.d.
  5. Schema.org, "Data model", n.d.
  6. Google Search Central, "Local business (LocalBusiness) structured data", n.d.

Check how a page reads to answer engines. Open the GEO score analyzer

Test a page and see what to fix first

The analysis usually takes less than 10 seconds and needs no account.

400,000+ pages scored in the public benchmark