79 lines
2.6 KiB
JSON
79 lines
2.6 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "schema:ProgramMembership",
|
|
"title": "ProgramMembership",
|
|
"description": "Used to describe membership in a loyalty programs (e.g. \"StarAliance\"), traveler clubs (e.g. \"AAA\"), purchase clubs (\"Safeway Club\"), etc.",
|
|
"type": "object",
|
|
"allOf": [
|
|
{
|
|
"description": "A utility class that serves as the umbrella for a number of 'intangible' things such as quantities, structured values, etc.",
|
|
"$ref": "schema:Intangible"
|
|
}
|
|
],
|
|
"properties": {
|
|
"hostingOrganization": {
|
|
"description": "The Organization (airline, travelers' club, retailer, etc.) the membership is made with or which offers the MemberProgram.",
|
|
"$ref": "schema:Organization"
|
|
},
|
|
"member": {
|
|
"description": "A member of an Organization or a ProgramMembership. Organizations can be members of organizations; ProgramMembership is typically for individuals.",
|
|
"oneOf": [
|
|
{
|
|
"anyOf": [
|
|
{ "$ref": "schema:Organization" },
|
|
{ "$ref": "schema:Person" }
|
|
]
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{ "$ref": "schema:Organization" },
|
|
{ "$ref": "schema:Person" }
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"members": {
|
|
"description": "A member of this organization.",
|
|
"oneOf": [
|
|
{
|
|
"anyOf": [
|
|
{ "$ref": "schema:Organization" },
|
|
{ "$ref": "schema:Person" }
|
|
]
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{ "$ref": "schema:Organization" },
|
|
{ "$ref": "schema:Person" }
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"membershipNumber": {
|
|
"description": "A unique identifier for the membership.",
|
|
"oneOf": [
|
|
{ "type": "string" },
|
|
{ "type": "array", "items": { "type": "string" } }
|
|
]
|
|
},
|
|
"membershipPointsEarned": {
|
|
"description": "The number of membership points earned by the member. If necessary, the unitText can be used to express the units the points are issued in. (E.g. stars, miles, etc.)",
|
|
"anyOf": [{ "type": "number" }, { "$ref": "schema:QuantitativeValue" }]
|
|
},
|
|
"program": {
|
|
"description": "The [MemberProgram](https://schema.org/MemberProgram) associated with a [ProgramMembership](https://schema.org/ProgramMembership).",
|
|
"$ref": "schema:MemberProgram"
|
|
},
|
|
"programName": {
|
|
"description": "The program providing the membership. It is preferable to use [:program](https://schema.org/program) instead.",
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|