<?php
/**
 * Bundled Schema.org vocabulary subset for local validation.
 *
 * Closed over every type/property SEOvault core generators, nested groups,
 * blocks, and WooCommerce integrations emit. Terms outside this subset are
 * "not verified," not automatically invalid.
 *
 * @package SEOvaultSEO\Schema\Validation\Data
 */

return array(
	'version'    => '2026.07.3',
	'source_url' => 'https://schema.org/',
	'checked_at' => '2026-07-14',
	'types'      => array(
		'AggregateOffer',
		'AggregateRating',
		'Answer',
		'Article',
		'BlogPosting',
		'Book',
		'Brand',
		'BreadcrumbList',
		'ContactPoint',
		'Course',
		'Country',
		'EntryPoint',
		'Event',
		'FAQPage',
		'GeoCoordinates',
		'HowTo',
		'HowToDirection',
		'HowToSection',
		'HowToStep',
		'HowToSupply',
		'HowToTip',
		'HowToTool',
		'ImageObject',
		'ItemList',
		'JobPosting',
		'ListItem',
		'LocalBusiness',
		'MerchantReturnPolicy',
		'MonetaryAmount',
		'NewsArticle',
		'NutritionInformation',
		'Offer',
		'OnlineStore',
		'Organization',
		'Person',
		'Place',
		'PostalAddress',
		'Product',
		'ProductGroup',
		'PropertyValue',
		'Question',
		'Rating',
		'Recipe',
		'Review',
		'SearchAction',
		'SoftwareApplication',
		'Thing',
		'VirtualLocation',
		'WebPage',
		'WebSite',
	),
	'properties' => array(
		'acceptedAnswer',
		'address',
		'addressCountry',
		'addressLocality',
		'addressRegion',
		'aggregateRating',
		'alternateName',
		'applicantLocationRequirements',
		'applicationCategory',
		'applicationSubCategory',
		'author',
		'availability',
		'baseSalary',
		'bestRating',
		'breadcrumb',
		'brand',
		'calories',
		'caption',
		'category',
		'closes',
		'contentUrl',
		'cookTime',
		'currency',
		'dateCreated',
		'dateModified',
		'datePosted',
		'datePublished',
		'description',
		'director',
		'duration',
		'educationalLevel',
		'email',
		'employmentType',
		'endDate',
		'estimatedCost',
		'eventAttendanceMode',
		'eventStatus',
		'featureList',
		'founder',
		'geo',
		'gtin',
		'gtin8',
		'gtin12',
		'gtin13',
		'gtin14',
		'hasMerchantReturnPolicy',
		'hasVariant',
		'headline',
		'highPrice',
		'hiringOrganization',
		'identifier',
		'image',
		'inLanguage',
		'instructor',
		'interactionStatistic',
		'isAccessibleForFree',
		'isPartOf',
		'isbn',
		'item',
		'itemListElement',
		'itemReviewed',
		'jobLocation',
		'jobLocationType',
		'keywords',
		'latitude',
		'location',
		'logo',
		'longitude',
		'lowPrice',
		'mainEntity',
		'mainEntityOfPage',
		'manufacturer',
		'menu',
		'merchantReturnLink',
		'model',
		'mpn',
		'name',
		'nutrition',
		'numberOfItems',
		'offerCount',
		'offers',
		'openingHours',
		'openingHoursSpecification',
		'operatingSystem',
		'organizer',
		'parentItem',
		'performer',
		'position',
		'postalCode',
		'potentialAction',
		'prepTime',
		'price',
		'priceCurrency',
		'priceSpecification',
		'priceValidUntil',
		'productGroupID',
		'productionDate',
		'provider',
		'publisher',
		'query-input',
		'ratingCount',
		'ratingValue',
		'recipeCategory',
		'recipeCuisine',
		'recipeIngredient',
		'recipeInstructions',
		'recipeYield',
		'recommendedAge',
		'review',
		'reviewBody',
		'reviewCount',
		'reviewRating',
		'sameAs',
		'search',
		'sku',
		'softwareVersion',
		'startDate',
		'step',
		'streetAddress',
		'supply',
		'target',
		'telephone',
		'text',
		'timeRequired',
		'title',
		'tool',
		'totalPrice',
		'totalTime',
		'url',
		'validFrom',
		'validThrough',
		'variesBy',
		'value',
		'video',
		'worstRating',
	),
);
