Overview
Align the Team extension schema output with the approved Tour Operator Schema 2.0 mappings.
Approved mapping source:
https://docs.google.com/document/d/1UVfrdgR1o2A-5YuyMbY6Bxevy3EXYfOkj-p6dwXFxMA/edit?tab=t.6vo3cqfr9ooz
Current schema file:
https://github.com/lightspeedwp/to-team/blob/develop/classes/class-to-team-schema.php
Delivery Decision
- Create a new implementation branch from this repository's
update-2.2 branch.
- Keep this issue focused on Team schema only.
Scope
Update LSX_TO_Team_Schema so Team posts emit approved Person schema output.
Tasks
Acceptance Criteria
Out Of Scope
- Tour, Accommodation, and Destination schema in the core Tour Operator plugin.
- Reviews schema updates.
- Specials schema updates.
Overview
Align the Team extension schema output with the approved Tour Operator Schema 2.0 mappings.
Approved mapping source:
https://docs.google.com/document/d/1UVfrdgR1o2A-5YuyMbY6Bxevy3EXYfOkj-p6dwXFxMA/edit?tab=t.6vo3cqfr9ooz
Current schema file:
https://github.com/lightspeedwp/to-team/blob/develop/classes/class-to-team-schema.php
Delivery Decision
update-2.2branch.Scope
Update
LSX_TO_Team_Schemaso Team posts emit approvedPersonschema output.Tasks
update-2.2for this work.@typefrom an array to the stringPerson.@idfrom the non-unique#personhash to a unique person hash, for example#/schema/person/{post_id}.nameusing filtered WordPress title output, not raw$this->post->post_title.descriptionafter applyingthe_contentfiltering and stripping HTML.urlandmainEntityOfPageoutput.worksForwhen Yoastsite_represents_referenceis available.memberOfwhen it duplicatesworksFor.jobTitleinto a single string or comma-joined string.contact_emailmapped toemail.contact_numbermapped totelephone, preserving international-format values where supplied.ownsoutput for associated tours/accommodation withadditionalPropertyvalues labelledAssociated ToursandAssociated Accommodation, or another approved non-ownership representation.sameAssupport for social profile URLs if available in Team fields.Acceptance Criteria
Personschema aligned with the approved mapping.@typeis a string, not an array.@idis unique per Team post.worksForremains, redundantmemberOfis removed.jobTitleis emitted as text, not an array of taxonomy terms.owns.Out Of Scope