{namespace h=SGalinski\SgJobs\ViewHelpers}
{leftBrace}
"@context": "https://schema.org/",
"@type": "JobPosting",
"title": "{job.title}",
"description": "{job.description}{job.task}{job.qualification}",
"employmentType": [
"{employmentType}"{f:if(condition: '{iterator.isLast} == FALSE', then: ',')}
],
"datePosted": "{f:format.date(date: '{f:if(condition: job.datePosted, then: job.datePosted, else: \'now\')}', format: 'Y-m-d')}",
"validThrough": "{f:format.date(date: job.validThrough, format: 'Y-m-d')}",
"baseSalary": {leftBrace}
"@type": "MonetaryAmount",
"currency": "{job.salaryCurrency}",
"value": {leftBrace}
"@type": "QuantitativeValue",
"value": {job.baseSalary},
"minValue": {job.baseSalary},
"maxValue": {job.maxSalary},
"unitText": "{job.salaryUnit}"
{rightBrace}
{rightBrace},
"applicantLocationRequirements": [
{leftBrace}
"@type": "Country",
"name": "{locationRequirement}"
{rightBrace}{f:if(condition: '{iterator.isLast} == FALSE', then: ',')}
],
"jobLocationType": "TELECOMMUTE",
"jobLocation": {leftBrace}
"@type": "Place",
"address": {leftBrace}
"@type": "PostalAddress",
"addressRegion": "{company.state -> f:format.htmlentities()}",
"streetAddress": "{company.street -> f:format.htmlentities()}",
"addressLocality": "{company.city -> f:format.htmlentities()}",
"postalCode": "{company.zip}",
"addressCountry": "{company.country -> f:format.htmlentities()}"
{rightBrace}
{rightBrace},
"hiringOrganization": {leftBrace}
"@type": "Organization",
"name": "{job.company.name}",
"sameAs": "{f:uri.typolink(parameter: job.company.identifyingUrl, absolute: 'TRUE')}",
"department": {leftBrace}
"@type": "Organization",
"name": "{job.department.title}"
{rightBrace}
{rightBrace}
{rightBrace}