{
  "actorSpecification": 1,
  "fields": {
    "properties": {
      "category": {
        "description": "Top-level Reed role category",
        "nullable": true,
        "type": "string"
      },
      "companyLogoUrl": {
        "description": "Employer logo image URL",
        "nullable": true,
        "type": "string"
      },
      "companyName": {
        "description": "Hiring employer or recruitment agency",
        "nullable": true,
        "type": "string"
      },
      "companyUrl": {
        "description": "Employer's Reed jobs/profile page",
        "nullable": true,
        "type": "string"
      },
      "country": {
        "description": "Country name",
        "nullable": true,
        "type": "string"
      },
      "countryCode": {
        "description": "ISO country code, normally GB",
        "nullable": true,
        "type": "string"
      },
      "county": {
        "description": "County of the job",
        "nullable": true,
        "type": "string"
      },
      "datePosted": {
        "description": "Creation date in ISO 8601 UTC",
        "nullable": true,
        "type": "string"
      },
      "dateUpdated": {
        "description": "Last update date in ISO 8601 UTC",
        "nullable": true,
        "type": "string"
      },
      "description": {
        "description": "Full job description as plain text",
        "nullable": true,
        "type": "string"
      },
      "descriptionHtml": {
        "description": "Full job description as HTML",
        "nullable": true,
        "type": "string"
      },
      "displayDate": {
        "description": "Reed's display date in ISO 8601 UTC",
        "nullable": true,
        "type": "string"
      },
      "eligibilityRequirement": {
        "description": "Reed's raw eligibility requirement",
        "nullable": true,
        "type": "string"
      },
      "eligibleUkOnly": {
        "description": "True when the search listing is marked UK-only",
        "type": "boolean"
      },
      "expiryDate": {
        "description": "Listing expiry date in ISO 8601 UTC",
        "nullable": true,
        "type": "string"
      },
      "externalUrl": {
        "description": "Legacy field; Reed's public pages do not expose an external apply URL",
        "nullable": true,
        "type": "string"
      },
      "isEarlyBird": {
        "description": "True when the listing is an early-bird advert",
        "type": "boolean"
      },
      "isEasyApply": {
        "description": "True when Reed Easy Apply is available",
        "type": "boolean"
      },
      "isFeatured": {
        "description": "True when the listing is featured",
        "type": "boolean"
      },
      "isFullTime": {
        "description": "True when the role is full-time",
        "type": "boolean"
      },
      "isGraduate": {
        "description": "True when Reed marks the role as graduate",
        "type": "boolean"
      },
      "isLive": {
        "description": "True when the detail page says the job is live",
        "type": "boolean"
      },
      "isPartTime": {
        "description": "True when the role is part-time",
        "type": "boolean"
      },
      "isPromoted": {
        "description": "True when the listing is promoted",
        "type": "boolean"
      },
      "isRedirect": {
        "description": "True when applications leave Reed",
        "type": "boolean"
      },
      "isRemote": {
        "description": "True when Reed marks the role as remote",
        "type": "boolean"
      },
      "isSurveyJob": {
        "description": "True when the listing is a survey advert",
        "type": "boolean"
      },
      "isTrainingJob": {
        "description": "True when the listing is a training advert",
        "type": "boolean"
      },
      "jobId": {
        "description": "Reed's numeric job identifier",
        "type": "string"
      },
      "jobType": {
        "description": "Permanent, Contract or Temporary",
        "nullable": true,
        "type": "string"
      },
      "location": {
        "description": "Display location as shown by Reed",
        "nullable": true,
        "type": "string"
      },
      "postCode": {
        "description": "Postcode when the employer publishes one",
        "nullable": true,
        "type": "string"
      },
      "postedBy": {
        "description": "Agency, Employer or Reed",
        "nullable": true,
        "type": "string"
      },
      "recordType": {
        "description": "Always job",
        "type": "string"
      },
      "recruiterReference": {
        "description": "Recruiter's own job reference",
        "nullable": true,
        "type": "string"
      },
      "region": {
        "description": "UK region from the detail page",
        "nullable": true,
        "type": "string"
      },
      "remoteWorking": {
        "description": "Remote, Hybrid or On-site",
        "nullable": true,
        "type": "string"
      },
      "requiresUkEligibility": {
        "description": "True when the job requires UK work eligibility",
        "type": "boolean"
      },
      "salaryCurrency": {
        "description": "ISO currency code, normally GBP",
        "nullable": true,
        "type": "string"
      },
      "salaryDescription": {
        "description": "Salary text as displayed by Reed",
        "nullable": true,
        "type": "string"
      },
      "salaryFrom": {
        "description": "Lower salary bound in the stated period",
        "nullable": true,
        "type": "number"
      },
      "salaryFromPerAnnum": {
        "description": "Lower bound normalised to a full year",
        "nullable": true,
        "type": "number"
      },
      "salaryIsCompetitive": {
        "description": "True when Reed labels the pay as competitive",
        "type": "boolean"
      },
      "salaryIsNegotiable": {
        "description": "True when Reed labels the pay as negotiable",
        "type": "boolean"
      },
      "salaryIsOte": {
        "description": "True when the pay includes OTE",
        "type": "boolean"
      },
      "salaryIsProRata": {
        "description": "True when the salary is pro rata",
        "type": "boolean"
      },
      "salaryTo": {
        "description": "Upper salary bound in the stated period",
        "nullable": true,
        "type": "number"
      },
      "salaryToPerAnnum": {
        "description": "Upper bound normalised to a full year",
        "nullable": true,
        "type": "number"
      },
      "salaryType": {
        "description": "Pay period: Per hour, Per day, Per week, Per month or Per annum",
        "nullable": true,
        "type": "string"
      },
      "scrapedAt": {
        "description": "UTC timestamp when the record was collected",
        "type": "string"
      },
      "searchLocation": {
        "description": "Location search that produced this record",
        "nullable": true,
        "type": "string"
      },
      "searchQuery": {
        "description": "Keyword search that produced this record",
        "nullable": true,
        "type": "string"
      },
      "sector": {
        "description": "Detailed Reed sector from the job page",
        "nullable": true,
        "type": "string"
      },
      "sectorParent": {
        "description": "Parent Reed sector",
        "nullable": true,
        "type": "string"
      },
      "skills": {
        "description": "Skills Reed associates with the job",
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "sourceUrl": {
        "description": "Canonical Reed job page URL",
        "type": "string"
      },
      "subcategory": {
        "description": "Reed role specialism",
        "nullable": true,
        "type": "string"
      },
      "title": {
        "description": "Job title",
        "type": "string"
      },
      "town": {
        "description": "Town or city from the detail page",
        "nullable": true,
        "type": "string"
      }
    },
    "type": "object"
  },
  "title": "Reed.co.uk jobs",
  "views": {
    "overview": {
      "display": {
        "component": "table",
        "properties": {
          "sourceUrl": {
            "format": "link",
            "label": "Job URL"
          }
        }
      },
      "title": "Jobs",
      "transformation": {
        "fields": [
          "title",
          "companyName",
          "location",
          "salaryDescription",
          "jobType",
          "remoteWorking",
          "datePosted",
          "sourceUrl"
        ]
      }
    },
    "payAndDetails": {
      "display": {
        "component": "table",
        "properties": {
          "description": {
            "format": "text",
            "label": "Description"
          },
          "skills": {
            "format": "array",
            "label": "Skills"
          },
          "sourceUrl": {
            "format": "link",
            "label": "Job URL"
          }
        }
      },
      "title": "Pay and details",
      "transformation": {
        "fields": [
          "title",
          "companyName",
          "postedBy",
          "location",
          "salaryFrom",
          "salaryTo",
          "salaryType",
          "salaryFromPerAnnum",
          "salaryToPerAnnum",
          "salaryCurrency",
          "jobType",
          "remoteWorking",
          "sector",
          "skills",
          "datePosted",
          "expiryDate",
          "description",
          "sourceUrl"
        ]
      }
    }
  }
}
