Raw schema
{
"type": "object",
"properties": {
"person_a": {
"type": "object",
"properties": {
"gender": {
"type": "string",
"enum": [
"male",
"female"
],
"description": "Gender, used by the classical koot rules."
},
"birth_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Birth date in the Gregorian calendar, YYYY-MM-DD."
},
"birth_time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}$",
"description": "Local birth time, HH:MM in 24-hour format."
},
"place": {
"description": "Place as free text, e.g. \"Jaipur, Rajasthan, India\". Preferred: it is geocoded server-side. Any city worldwide works.",
"type": "string",
"minLength": 1,
"maxLength": 160
},
"latitude": {
"description": "Latitude in decimal degrees. Use with longitude and timezone when place is not given.",
"type": "number",
"minimum": -90,
"maximum": 90
},
"longitude": {
"description": "Longitude in decimal degrees.",
"type": "number",
"minimum": -180,
"maximum": 180
},
"timezone": {
"description": "IANA timezone, e.g. \"Asia/Kolkata\". Required when latitude/longitude are used.",
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
"required": [
"gender",
"birth_date",
"birth_time"
],
"description": "First person's birth details."
},
"person_b": {
"type": "object",
"properties": {
"gender": {
"type": "string",
"enum": [
"male",
"female"
],
"description": "Gender, used by the classical koot rules."
},
"birth_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Birth date in the Gregorian calendar, YYYY-MM-DD."
},
"birth_time": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}$",
"description": "Local birth time, HH:MM in 24-hour format."
},
"place": {
"description": "Place as free text, e.g. \"Jaipur, Rajasthan, India\". Preferred: it is geocoded server-side. Any city worldwide works.",
"type": "string",
"minLength": 1,
"maxLength": 160
},
"latitude": {
"description": "Latitude in decimal degrees. Use with longitude and timezone when place is not given.",
"type": "number",
"minimum": -90,
"maximum": 90
},
"longitude": {
"description": "Longitude in decimal degrees.",
"type": "number",
"minimum": -180,
"maximum": 180
},
"timezone": {
"description": "IANA timezone, e.g. \"Asia/Kolkata\". Required when latitude/longitude are used.",
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
"required": [
"gender",
"birth_date",
"birth_time"
],
"description": "Second person's birth details."
}
},
"required": [
"person_a",
"person_b"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}