{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://colitur/schema/day-v1.json", "title": "colitur liturgical year, v1", "type": "object", "required": ["rite", "year", "months", "days"], "properties": { "rite": { "type": "string" }, "year": { "type": "string", "pattern": "^[0-9]{4}$" }, "months": { "type": "array", "items": { "$ref": "#/$defs/month" } }, "days": { "type": "array", "items": { "$ref": "#/$defs/day" } } }, "$defs": { "month": { "type": "object", "required": ["num", "name", "days", "weeks"], "properties": { "num": { "type": "string" }, "name": { "type": "object", "additionalProperties": { "type": "string" } }, "days": { "type": "array", "items": { "$ref": "#/$defs/day" } }, "weeks": { "type": "array", "items": { "$ref": "#/$defs/week" } } } }, "week": { "type": "object", "required": ["num", "days"], "properties": { "num": { "type": "string" }, "days": { "type": "array", "minItems": 7, "maxItems": 7, "items": { "$ref": "#/$defs/day" } } } }, "day": { "type": "object", "required": ["iso", "dom", "dow", "in_month", "season", "week", "slug", "name", "rank", "colour", "is_white", "is_red", "is_green", "is_violet", "is_rose", "is_black", "subject", "comms", "transferred_in", "transferred_out", "first", "gospel", "last"], "properties": { "iso": { "type": "string", "description": "empty on a grid padding cell" }, "dom": { "type": "string" }, "dow": { "type": "string", "description": "0 = Sunday" }, "in_month": { "type": "boolean", "description": "false = grid padding cell" }, "season": { "type": "string" }, "week": { "type": "string", "description": "empty when the rite numbers no week here" }, "slug": { "type": "string" }, "name": { "type": "object", "additionalProperties": { "type": "string" } }, "rank": { "type": "string" }, "colour": { "type": "string", "enum": ["white","red","green","violet","rose","black",""] }, "is_white": { "type": "boolean" }, "is_red": { "type": "boolean" }, "is_green": { "type": "boolean" }, "is_violet":{ "type": "boolean" }, "is_rose": { "type": "boolean" }, "is_black": { "type": "boolean" }, "subject": { "type": "string" }, "comms": { "type": "array", "items": { "type": "object", "required": ["slug", "name", "privileged"], "properties": { "slug": { "type": "string" }, "name": { "type": "object", "additionalProperties": { "type": "string" } }, "privileged": { "type": "boolean" } } } }, "transferred_in": { "type": "array", "items": { "type": "object" } }, "transferred_out": { "type": "array", "items": { "type": "object" } }, "first": { "type": "string", "description": "Epistle/Lesson citation, never scripture text" }, "gospel": { "type": "string", "description": "Gospel citation, never scripture text" }, "last": { "type": "boolean", "description": "true on the 7th cell of a grid row" } } } } }