Skip to content

Instantly share code, notes, and snippets.

@eyemyth
Last active May 23, 2023 13:24
Show Gist options
  • Save eyemyth/dec422a16bf87e84e6a936103743ef64 to your computer and use it in GitHub Desktop.
Save eyemyth/dec422a16bf87e84e6a936103743ef64 to your computer and use it in GitHub Desktop.
{
"title": "AppraiserPage",
"type": "object",
"properties": {
"display_name": {
"title": "Display Name",
"type": "string"
},
"honorific_prefix": {
"title": "Honorific Prefix",
"type": "string"
},
"prefix": {
"title": "Prefix",
"type": "string"
},
"given_name": {
"title": "Given Name",
"type": "string"
},
"nickname": {
"title": "Nickname",
"type": "string"
},
"middle_name": {
"title": "Middle Name",
"type": "string"
},
"family_name": {
"title": "Family Name",
"type": "string"
},
"suffix": {
"title": "Suffix",
"type": "string"
},
"titles_prefix": {
"title": "Titles Prefix",
"type": "string"
},
"titles_suffix": {
"title": "Titles Suffix",
"type": "string"
},
"short_biography": {
"title": "Short Biography",
"anyOf": [
{
"type": "string",
"contentMediaType": "text/html"
},
{
"$ref": "#/definitions/ATJSON"
}
]
},
"long_biography": {
"title": "Long Biography",
"anyOf": [
{
"type": "string",
"contentMediaType": "text/html"
},
{
"$ref": "#/definitions/ATJSON"
}
]
},
"canonical_image": {
"$ref": "#/definitions/Image"
},
"photos": {
"$ref": "#/definitions/ImageGallery"
},
"website": {
"$ref": "#/definitions/Hyperlink"
},
"social_accounts": {
"title": "Social Accounts",
"type": "array",
"items": {
"$ref": "#/definitions/SocialMediaPresence"
}
},
"email_address": {
"title": "Email Address",
"type": "string",
"format": "email"
},
"address": {
"$ref": "#/definitions/StreetAddress"
},
"phone_number": {
"title": "Phone Number",
"type": "array",
"items": {
"$ref": "#/definitions/PhoneNumber"
}
},
"affiliations": {
"title": "Affiliations",
"type": "array",
"items": {
"$ref": "#/definitions/Affiliation"
}
},
"education": {
"title": "Education",
"type": "array",
"items": {
"$ref": "#/definitions/EducationalAffiliation"
}
},
"contentType": {
"title": "Contenttype",
"default": "application/vnd.theseus+person",
"enum": ["application/vnd.theseus+person"],
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
},
"slug": {
"title": "Slug",
"type": "string"
},
"summary": {
"$ref": "#/definitions/ATJSON"
},
"page_type": {
"title": "Page Type",
"default": "appraiser",
"type": "string"
},
"specialties": {
"title": "Specialties",
"type": "array",
"items": {
"$ref": "#/definitions/Tag"
}
},
"featured_appraisal": {
"$ref": "#/definitions/AppraisalCard"
},
"image_gallery": {
"$ref": "#/definitions/ImageGallery"
},
"on_tour": {
"title": "On Tour",
"type": "boolean"
}
},
"required": ["title"],
"definitions": {
"ATJSON": {
"title": "ATJSON",
"type": "object",
"properties": {
"content": {
"title": "Content",
"type": "string"
},
"annotations": {
"title": "Annotations",
"default": [],
"type": "array",
"items": {
"type": "object"
}
},
"contentType": {
"title": "Contenttype",
"default": "application/vnd.atjson+offset",
"enum": ["application/vnd.atjson+offset"],
"type": "string"
}
},
"required": ["content"]
},
"ScaledImage": {
"title": "ScaledImage",
"type": "object",
"properties": {
"width": {
"title": "Width",
"type": "integer"
},
"height": {
"title": "Height",
"type": "integer"
},
"src": {
"title": "Src",
"minLength": 1,
"maxLength": 2083,
"format": "uri",
"type": "string"
},
"contentType": {
"title": "Contenttype",
"default": "application/vnd.theseus+scaled_image",
"enum": ["application/vnd.theseus+scaled_image"],
"type": "string"
}
},
"required": ["width", "src"]
},
"FocalArea": {
"title": "FocalArea",
"type": "object",
"properties": {
"x": {
"title": "X",
"type": "integer"
},
"y": {
"title": "Y",
"type": "integer"
},
"width": {
"title": "Width",
"type": "integer"
},
"height": {
"title": "Height",
"type": "integer"
}
},
"required": ["x", "y", "width", "height"]
},
"Image": {
"title": "Image",
"type": "object",
"properties": {
"width": {
"title": "Width",
"type": "integer"
},
"height": {
"title": "Height",
"type": "integer"
},
"mime_type": {
"title": "Mime Type",
"type": "string"
},
"alt_text": {
"title": "Alt Text",
"type": "string"
},
"caption": {
"title": "Caption",
"anyOf": [
{
"type": "string",
"contentMediaType": "text/html"
},
{
"$ref": "#/definitions/ATJSON"
}
]
},
"credit": {
"title": "Credit",
"anyOf": [
{
"type": "string",
"contentMediaType": "text/html"
},
{
"$ref": "#/definitions/ATJSON"
}
]
},
"src": {
"title": "Src",
"minLength": 1,
"maxLength": 2083,
"format": "uri",
"type": "string"
},
"renditions": {
"title": "Renditions",
"type": "array",
"items": {
"$ref": "#/definitions/ScaledImage"
}
},
"focal_area": {
"$ref": "#/definitions/FocalArea"
},
"justification": {
"title": "Justification",
"enum": ["left", "right", "center"],
"type": "string"
},
"bleed": {
"title": "Bleed",
"type": "boolean"
},
"contentType": {
"title": "Contenttype",
"default": "application/vnd.theseus+image",
"enum": ["application/vnd.theseus+image"],
"type": "string"
}
},
"required": ["width", "height", "mime_type", "alt_text", "src"]
},
"ImageGallery": {
"title": "ImageGallery",
"type": "object",
"properties": {
"title": {
"title": "Title",
"type": "string"
},
"images": {
"title": "Images",
"type": "array",
"items": {
"$ref": "#/definitions/Image"
}
},
"contentType": {
"title": "Contenttype",
"default": "application/vnd.theseus+image_gallery",
"enum": ["application/vnd.theseus+image_gallery"],
"type": "string"
}
},
"required": ["images"]
},
"Hyperlink": {
"title": "Hyperlink",
"type": "object",
"properties": {
"href": {
"title": "Href",
"minLength": 1,
"maxLength": 2083,
"format": "uri",
"type": "string"
},
"rel": {
"title": "Rel",
"type": "array",
"items": {
"type": "string"
}
},
"text": {
"title": "Text",
"type": "string"
},
"contentType": {
"title": "Contenttype",
"default": "application/vnd.theseus+hyperlink",
"enum": ["application/vnd.theseus+hyperlink"],
"type": "string"
}
},
"required": ["href", "text"]
},
"SocialMediaPlatform": {
"title": "SocialMediaPlatform",
"type": "object",
"properties": {
"name": {
"title": "Name",
"enum": ["Twitter", "Facebook", "Instagram", "Pinterest", "YouTube"],
"type": "string"
},
"base_url": {
"title": "Base Url",
"minLength": 1,
"maxLength": 2083,
"format": "uri",
"type": "string"
},
"contentType": {
"title": "Contenttype",
"default": "application/vnd.theseus+social_media_platform",
"enum": ["application/vnd.theseus+social_media_platform"],
"type": "string"
}
},
"required": ["name", "base_url"]
},
"SocialMediaPresence": {
"title": "SocialMediaPresence",
"type": "object",
"properties": {
"platform": {
"$ref": "#/definitions/SocialMediaPlatform"
},
"handle": {
"title": "Handle",
"type": "string"
},
"contentType": {
"title": "Contenttype",
"default": "application/vnd.theseus+social_media_presence",
"enum": ["application/vnd.theseus+social_media_presence"],
"type": "string"
}
},
"required": ["platform", "handle"]
},
"Country": {
"title": "Country",
"type": "object",
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"iso_3166": {
"title": "Iso 3166",
"type": "string"
},
"contentType": {
"title": "Contenttype",
"default": "application/vnd.theseus+country",
"enum": ["application/vnd.theseus+country"],
"type": "string"
}
},
"required": ["name"]
},
"StateRegion": {
"title": "StateRegion",
"type": "object",
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"abbreviation": {
"title": "Abbreviation",
"type": "string"
},
"country": {
"$ref": "#/definitions/Country"
},
"contentType": {
"title": "Contenttype",
"default": "application/vnd.theseus+state_region",
"enum": ["application/vnd.theseus+state_region"],
"type": "string"
}
},
"required": ["name", "abbreviation", "country"]
},
"County": {
"title": "County",
"type": "object",
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"state_region": {
"$ref": "#/definitions/StateRegion"
},
"contentType": {
"title": "Contenttype",
"default": "application/vnd.theseus+county",
"enum": ["application/vnd.theseus+county"],
"type": "string"
}
},
"required": ["name", "state_region"]
},
"GeographicCoordinates": {
"title": "GeographicCoordinates",
"type": "object",
"properties": {
"latitude": {
"title": "Latitude",
"type": "number"
},
"longitude": {
"title": "Longitude",
"type": "number"
},
"contentType": {
"title": "Contenttype",
"default": "application/vnd.theseus+geographic_coordinates",
"enum": ["application/vnd.theseus+geographic_coordinates"],
"type": "string"
}
},
"required": ["latitude", "longitude"]
},
"City": {
"title": "City",
"type": "object",
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"state_region": {
"$ref": "#/definitions/StateRegion"
},
"county": {
"$ref": "#/definitions/County"
},
"coordinates": {
"$ref": "#/definitions/GeographicCoordinates"
},
"population": {
"title": "Population",
"type": "integer"
},
"fips_code": {
"title": "Fips Code",
"type": "string"
},
"fips_locale_type": {
"title": "Fips Locale Type",
"type": "string"
},
"gnis_code": {
"title": "Gnis Code",
"type": "string"
},
"contentType": {
"title": "Contenttype",
"default": "application/vnd.theseus+city",
"enum": ["application/vnd.theseus+city"],
"type": "string"
}
},
"required": ["name", "state_region", "coordinates"]
},
"PostalCode": {
"title": "PostalCode",
"type": "object",
"properties": {
"code": {
"title": "Code",
"type": "string"
},
"extension": {
"title": "Extension",
"type": "string"
},
"country": {
"$ref": "#/definitions/Country"
},
"contentType": {
"title": "Contenttype",
"default": "application/vnd.theseus+postal_code",
"enum": ["application/vnd.theseus+postal_code"],
"type": "string"
}
},
"required": ["code", "country"]
},
"StreetAddress": {
"title": "StreetAddress",
"type": "object",
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"address": {
"title": "Address",
"type": "string"
},
"city": {
"title": "City",
"anyOf": [
{
"$ref": "#/definitions/City"
},
{
"type": "string"
}
]
},
"postal_code": {
"title": "Postal Code",
"anyOf": [
{
"$ref": "#/definitions/PostalCode"
},
{
"type": "string"
}
]
},
"coordinates": {
"$ref": "#/definitions/GeographicCoordinates"
},
"contentType": {
"title": "Contenttype",
"default": "application/vnd.theseus+street_address",
"enum": ["application/vnd.theseus+street_address"],
"type": "string"
}
},
"required": ["address", "city", "postal_code"]
},
"PhoneNumber": {
"title": "PhoneNumber",
"type": "object",
"properties": {
"line_type": {
"title": "Line Type",
"default": "voice",
"enum": ["voice", "fax"],
"type": "string"
},
"description": {
"title": "Description",
"type": "string"
},
"number": {
"title": "Number",
"type": "string"
},
"extension": {
"title": "Extension",
"pattern": "^\\d{0,5}$",
"type": "string"
},
"contentType": {
"title": "Contenttype",
"default": "application/vnd.theseus+phone_number",
"enum": ["application/vnd.theseus+phone_number"],
"type": "string"
}
},
"required": ["number"]
},
"Organization": {
"title": "Organization",
"description": "Can be used for businesses, educational institutions,\nnon-profits, etc.",
"type": "object",
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"website": {
"$ref": "#/definitions/Hyperlink"
},
"phone_number": {
"title": "Phone Number",
"type": "array",
"items": {
"$ref": "#/definitions/PhoneNumber"
}
},
"address": {
"$ref": "#/definitions/StreetAddress"
},
"social_accounts": {
"title": "Social Accounts",
"type": "array",
"items": {
"$ref": "#/definitions/SocialMediaPresence"
}
},
"email_address": {
"title": "Email Address",
"type": "string",
"format": "email"
},
"contentType": {
"title": "Contenttype",
"default": "application/vnd.theseus+organization",
"enum": ["application/vnd.theseus+organization"],
"type": "string"
}
},
"required": ["name"]
},
"Affiliation": {
"title": "Affiliation",
"description": "Defines a professional relationship between a Person\nand an Organization. Typically but not strictly\nused for employees of an organization.",
"type": "object",
"properties": {
"role": {
"title": "Role",
"type": "string"
},
"organization": {
"$ref": "#/definitions/Organization"
},
"phone_number": {
"title": "Phone Number",
"type": "array",
"items": {
"$ref": "#/definitions/PhoneNumber"
}
},
"email_address": {
"title": "Email Address",
"type": "string",
"format": "email"
}
},
"required": ["organization"]
},
"Degree": {
"title": "Degree",
"description": "Used in conjunction with EducationalAffiliation to link a Person,\neducational institution(s), and the degrees a person has obtained\n(or are in the process of obtaining).",
"type": "object",
"properties": {
"degree": {
"title": "Degree",
"type": "string"
},
"subject": {
"title": "Subject",
"type": "string"
},
"start_date": {
"title": "Start Date",
"anyOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date"
}
]
},
"end_date": {
"title": "End Date",
"anyOf": [
{
"type": "integer"
},
{
"type": "string",
"format": "date"
}
]
}
},
"required": ["degree"]
},
"EducationalAffiliation": {
"title": "EducationalAffiliation",
"description": "Defines an academic relationship between a Person and an Organization,\nspecifically for a Person's post-secondary education.\n\nIn the simplest case, we can use strings for both the institution and\ndegrees fields.\n\nIf a Person has multiple degrees from one institution, they can all be\ngathered here. Otherwise, multiple instances of EducationalAffiliation\ncan be used.\n\nFaculty can be defined using Affiliation.",
"type": "object",
"properties": {
"institution": {
"title": "Institution",
"anyOf": [
{
"$ref": "#/definitions/Organization"
},
{
"type": "string"
}
]
},
"degrees": {
"title": "Degrees",
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/definitions/Degree"
},
{
"type": "string"
}
]
}
}
},
"required": ["institution"]
},
"Tag": {
"title": "Tag",
"description": "Basic tagging is supported via name/slug fields.\n\nThe id field is optional but helpful when complex filtering is needed\nin order to keep URLs within a reasonable range.\n\nThe parent and children fields should be mutually exclusive. Choose one\nor the other depending on context.\n\nFor instance, if displaying an entire tree of tags you will want to have\nthe parent instances at the top level and their children listed inside.\n\nWhen displaying the individual tags, it might make sense to list each tag\nindividually with parent tags referenced by each child tag.\n\nAn example tagging hierarchy can be seen in Roadshow's appraisal metadata.\nThe set of tags for the material an object is made of might include\na parent tag for \"Wood\" and child tags for \"Oak\", \"Cedar\", etc.",
"type": "object",
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"slug": {
"title": "Slug",
"type": "string"
},
"description": {
"title": "Description",
"anyOf": [
{
"$ref": "#/definitions/ATJSON"
},
{
"type": "string"
}
]
},
"id": {
"title": "Id",
"type": "integer"
},
"parent": {
"$ref": "#/definitions/Tag"
},
"children": {
"title": "Children",
"type": "array",
"items": {
"$ref": "#/definitions/Tag"
}
}
},
"required": ["name", "slug"]
},
"Estimate": {
"title": "Estimate",
"type": "object",
"properties": {
"lower": {
"title": "Lower",
"type": "integer"
},
"upper": {
"title": "Upper",
"type": "integer"
},
"context": {
"title": "Context",
"enum": ["Retail", "Auction", "Insurance"],
"type": "string"
}
},
"required": ["lower", "context"]
},
"Valuation": {
"title": "Valuation",
"type": "object",
"properties": {
"date": {
"title": "Date",
"type": "string",
"format": "date"
},
"estimates": {
"title": "Estimates",
"type": "array",
"items": {
"$ref": "#/definitions/Estimate"
}
}
},
"required": ["date", "estimates"]
},
"AppraisalCard": {
"title": "AppraisalCard",
"description": "Here, we extend Page to provide what's necessary to create a Card, e.g. for\nsearch results or related content: the canonical_image and summary fields.\n\nThe optional decoration field is for adding simple decorations to cards\nthat don't require dedicated fields. An example of this is the 'currently\ntouring' flag used for appraisers on Roadshow.\n\nFor more complex needs, we can extend this schema. See the EpisodeCard schema\nfor an example.",
"type": "object",
"properties": {
"title": {
"title": "Title",
"type": "string"
},
"slug": {
"title": "Slug",
"type": "string"
},
"page_type": {
"title": "Page Type",
"default": "appraisal",
"type": "string"
},
"anchor": {
"title": "Anchor",
"type": "string"
},
"url": {
"title": "Url",
"anyOf": [
{
"$ref": "#/definitions/Hyperlink"
},
{
"type": "string",
"minLength": 1,
"maxLength": 2083,
"format": "uri"
}
]
},
"canonical_image": {
"$ref": "#/definitions/Image"
},
"summary": {
"title": "Summary",
"anyOf": [
{
"type": "string",
"contentMediaType": "text/html"
},
{
"$ref": "#/definitions/ATJSON"
}
]
},
"decoration": {
"title": "Decoration",
"type": "string"
},
"contentType": {
"title": "Contenttype",
"default": "application/vnd.theseus+appraisal_card",
"enum": ["application/vnd.theseus+appraisal_card"],
"type": "string"
},
"valuation": {
"$ref": "#/definitions/Valuation"
}
},
"required": ["title"]
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment