{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api.supasaju.com/schemas/sinsal.json",
  "title": "sinsal 모듈 응답",
  "description": "실제 엔진 출력에서 생성된 스키마입니다.",
  "type": "object",
  "properties": {
    "auspicious": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "examples": [
              "taegeuk",
              "cheoneul"
            ]
          },
          "ko": {
            "type": "string",
            "examples": [
              "태극귀인",
              "천을귀인"
            ]
          },
          "han": {
            "type": "string",
            "examples": [
              "太極貴人",
              "天乙貴人"
            ]
          },
          "category": {
            "type": "string",
            "examples": [
              "auspicious"
            ]
          },
          "positions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "positionsKo": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "source": {
            "type": "string",
            "examples": [
              "classic",
              "common"
            ]
          },
          "sourceKo": {
            "type": "string",
            "examples": [
              "원전(삼명통회)",
              "통용(현대 만세력)"
            ]
          },
          "basis": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "meaning": {
            "type": "string"
          }
        },
        "required": [
          "category",
          "han",
          "id",
          "ko",
          "positions",
          "positionsKo",
          "source",
          "sourceKo"
        ]
      }
    },
    "inauspicious": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "examples": [
              "baekho",
              "hongyeom"
            ]
          },
          "ko": {
            "type": "string",
            "examples": [
              "백호",
              "홍염"
            ]
          },
          "han": {
            "type": "string",
            "examples": [
              "白虎",
              "紅艶"
            ]
          },
          "category": {
            "type": "string",
            "examples": [
              "inauspicious"
            ]
          },
          "positions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "positionsKo": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "source": {
            "type": "string",
            "examples": [
              "common",
              "classic"
            ]
          },
          "sourceKo": {
            "type": "string",
            "examples": [
              "통용(현대 만세력)",
              "원전(삼명통회)"
            ]
          },
          "basis": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "meaning": {
            "type": "string"
          }
        },
        "required": [
          "category",
          "han",
          "id",
          "ko",
          "positions",
          "positionsKo",
          "source",
          "sourceKo"
        ]
      }
    },
    "twelveSinsal": {
      "type": "object",
      "properties": {
        "byYear": {
          "type": "object",
          "properties": {
            "year": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "ko": {
                  "type": "string"
                },
                "han": {
                  "type": "string"
                },
                "meaning": {
                  "type": "string"
                }
              },
              "required": [
                "han",
                "id",
                "ko"
              ]
            },
            "month": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "ko": {
                  "type": "string"
                },
                "han": {
                  "type": "string"
                },
                "meaning": {
                  "type": "string"
                }
              },
              "required": [
                "han",
                "id",
                "ko"
              ]
            },
            "day": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "ko": {
                  "type": "string"
                },
                "han": {
                  "type": "string"
                },
                "meaning": {
                  "type": "string"
                }
              },
              "required": [
                "han",
                "id",
                "ko"
              ]
            },
            "hour": {
              "type": [
                "null",
                "object"
              ],
              "properties": {
                "id": {
                  "type": "string"
                },
                "ko": {
                  "type": "string"
                },
                "han": {
                  "type": "string"
                },
                "meaning": {
                  "type": "string"
                }
              },
              "required": []
            }
          },
          "required": [
            "day",
            "hour",
            "month",
            "year"
          ]
        },
        "byDay": {
          "type": "object",
          "properties": {
            "year": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "ko": {
                  "type": "string"
                },
                "han": {
                  "type": "string"
                },
                "meaning": {
                  "type": "string"
                }
              },
              "required": [
                "han",
                "id",
                "ko"
              ]
            },
            "month": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "ko": {
                  "type": "string"
                },
                "han": {
                  "type": "string"
                },
                "meaning": {
                  "type": "string"
                }
              },
              "required": [
                "han",
                "id",
                "ko"
              ]
            },
            "day": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "ko": {
                  "type": "string"
                },
                "han": {
                  "type": "string"
                },
                "meaning": {
                  "type": "string"
                }
              },
              "required": [
                "han",
                "id",
                "ko"
              ]
            },
            "hour": {
              "type": [
                "null",
                "object"
              ],
              "properties": {
                "id": {
                  "type": "string"
                },
                "ko": {
                  "type": "string"
                },
                "han": {
                  "type": "string"
                },
                "meaning": {
                  "type": "string"
                }
              },
              "required": []
            }
          },
          "required": [
            "day",
            "hour",
            "month",
            "year"
          ]
        }
      },
      "required": [
        "byDay",
        "byYear"
      ]
    },
    "gongmang": {
      "type": "object",
      "properties": {
        "xun": {
          "type": "string",
          "examples": [
            "갑자순",
            "갑진순"
          ]
        },
        "xunHan": {
          "type": "string",
          "examples": [
            "甲子旬",
            "甲辰旬"
          ]
        },
        "empties": {
          "type": "array",
          "items": {
            "type": "string",
            "examples": [
              "술",
              "해"
            ]
          }
        },
        "emptiesHan": {
          "type": "array",
          "items": {
            "type": "string",
            "examples": [
              "戌",
              "亥"
            ]
          }
        },
        "positions": {
          "type": "array",
          "items": {
            "type": "string",
            "examples": [
              "month",
              "year"
            ]
          }
        },
        "positionsKo": {
          "type": "array",
          "items": {
            "type": "string",
            "examples": [
              "월주",
              "연주"
            ]
          }
        },
        "meaning": {
          "type": "string"
        }
      },
      "required": [
        "empties",
        "emptiesHan",
        "positions",
        "positionsKo",
        "xun",
        "xunHan"
      ]
    },
    "summary": {
      "type": "object",
      "properties": {
        "auspiciousCount": {
          "type": "integer",
          "examples": [
            1,
            4
          ]
        },
        "inauspiciousCount": {
          "type": "integer",
          "examples": [
            2,
            5
          ]
        }
      },
      "required": [
        "auspiciousCount",
        "inauspiciousCount"
      ]
    },
    "basis": {
      "type": "array",
      "items": {
        "type": "string",
        "examples": [
          "시주 미상이라 시주 기준 신살은 판정하지 않았다."
        ]
      }
    }
  },
  "required": [
    "auspicious",
    "gongmang",
    "inauspicious",
    "summary",
    "twelveSinsal"
  ]
}