workHours
workHours · Not mentioned by Google
Appears in
What is it?
The typical working hours for the position, expressed as free text. This describes the schedule or shift pattern: "40 hours per week," "Monday to Friday 9am to 5pm," "Night shift," or "Flexible hours." Schema.org does not enforce a specific format.
Why this matters for AEO
Schedule details matter for candidates filtering by availability. When someone asks "What jobs have flexible hours?" or "Find night shift positions near me," AI engines can extract workHours to answer directly. Without this field, AI assistants must parse the full job description for schedule mentions, which is less reliable and often incomplete.
What the specs say
Schema.org:Text. The typical working hours for this job (e.g. 1st shift, night shift, 8am-5pm). schema.org/workHours
Google: Not listed in Google's structured data documentation for JobPosting. Google Search Central
How to find your value
- Job requisition — The "Schedule" or "Hours" section
- HR department — Standard shift definitions for the role
- Hiring manager — The expected weekly hours and schedule
- Collective agreement — Union or labor contract hour specifications
Write the value as a human readable string. There is no required format, but be specific enough that a candidate understands the schedule at a glance.
Format and code
Type: Text (free form string)
{
"@type": "JobPosting",
"title": "Warehouse Associate",
"workHours": "40 hours per week"
}
{
"@type": "JobPosting",
"title": "Registered Nurse",
"workHours": "Night shift, 7pm to 7am"
}
{
"@type": "JobPosting",
"title": "Retail Sales Associate",
"workHours": "Part-time, 20-25 hours per week, weekends required"
}
Since this is free text, aim for clarity and consistency across your job listings. Use the same format for all positions on your site.
Webflow implementation
Static pages
Add the work hours string in your JSON-LD:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "JobPosting",
"title": "Customer Support Specialist",
"workHours": "Monday to Friday, 9am to 5pm EST"
}
</script>
CMS template pages
Use a plain text CMS field:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "JobPosting",
"workHours": "{{wf {"path":"work-hours","type":"PlainText"} }}"
}
</script>
Create a "Work Hours" plain text field in your CMS collection. Let content editors enter the schedule description directly.
In Schema HQ
Field mapping pulls CMS work hours field into the JSON-LD output. Since this is a plain text field with no format constraints, Schema HQ passes the value through directly.
Real examples
Schema.org (schema.org/JobPosting):
{
"@type": "JobPosting",
"title": "Software Engineer",
"workHours": "40 hours per week",
"employmentType": "Full-time",
"industry": "Computer Software",
"jobLocation": {
"@type": "Place",
"address": {
"@type": "PostalAddress",
"addressLocality": "Kirkland",
"addressRegion": "WA"
}
}
}
Related fields
- employmentType: full time, part time, or contract complements the hours detail
- title: the position these hours apply to
- baseSalary: hourly rates pair directly with work hours
- jobLocation: location may determine shift availability
FAQ
Does Google use workHours for job search results?
No. Google does not list workHours in its JobPosting documentation. The field has no effect on Google job search rich results or ranking. It is useful for AI engines and third party platforms that parse schema.org data for schedule information.
Is there a standard format for workHours?
No. Schema.org defines it as free text with no required structure. Common patterns include "40 hours per week," "9am to 5pm," and shift names like "1st shift" or "Night shift." Choose a consistent format across your listings for clarity.