{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api.supasaju.com/schemas/decadeFortune.json",
  "title": "decadeFortune 모듈 응답",
  "description": "실제 엔진 출력에서 생성된 스키마입니다.",
  "type": "object",
  "properties": {
    "direction": {
      "type": "string",
      "examples": [
        "forward",
        "backward"
      ]
    },
    "directionKo": {
      "type": "string",
      "examples": [
        "순행",
        "역행"
      ]
    },
    "startAge": {
      "type": "integer",
      "examples": [
        7,
        8
      ]
    },
    "startAgeExact": {
      "type": "number",
      "examples": [
        7.18,
        8.26
      ]
    },
    "firstStartsOn": {
      "type": "string",
      "examples": [
        "1995-05-21",
        "1999-02-04"
      ]
    },
    "countedTo": {
      "type": "object",
      "properties": {
        "nameKo": {
          "type": "string",
          "examples": [
            "청명",
            "한로"
          ]
        },
        "atKst": {
          "type": "string",
          "examples": [
            "1988-04-04 22:39",
            "1990-10-08 22:14"
          ]
        },
        "days": {
          "type": "number",
          "examples": [
            21.55,
            24.77
          ]
        }
      },
      "required": [
        "atKst",
        "days",
        "nameKo"
      ]
    },
    "entries": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "order": {
            "type": "integer",
            "examples": [
              1,
              2
            ]
          },
          "ganji": {
            "type": "string",
            "examples": [
              "병진",
              "정사"
            ]
          },
          "ganjiHan": {
            "type": "string",
            "examples": [
              "丙辰",
              "丁巳"
            ]
          },
          "ganjiIndex": {
            "type": "integer",
            "examples": [
              52,
              53
            ]
          },
          "stem": {
            "type": "object",
            "properties": {
              "index": {
                "type": "integer"
              },
              "han": {
                "type": "string"
              },
              "ko": {
                "type": "string"
              },
              "element": {
                "type": "string"
              },
              "elementKo": {
                "type": "string"
              },
              "elementHan": {
                "type": "string"
              },
              "polarity": {
                "type": "string"
              },
              "polarityKo": {
                "type": "string"
              },
              "sipseong": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "ko": {
                    "type": "string"
                  },
                  "han": {
                    "type": "string"
                  },
                  "group": {
                    "type": "string"
                  },
                  "groupKo": {
                    "type": "string"
                  }
                },
                "required": [
                  "group",
                  "groupKo",
                  "han",
                  "id",
                  "ko"
                ]
              }
            },
            "required": [
              "element",
              "elementHan",
              "elementKo",
              "han",
              "index",
              "ko",
              "polarity",
              "polarityKo",
              "sipseong"
            ]
          },
          "branch": {
            "type": "object",
            "properties": {
              "index": {
                "type": "integer"
              },
              "han": {
                "type": "string"
              },
              "ko": {
                "type": "string"
              },
              "element": {
                "type": "string"
              },
              "elementKo": {
                "type": "string"
              },
              "elementHan": {
                "type": "string"
              },
              "polarity": {
                "type": "string"
              },
              "polarityKo": {
                "type": "string"
              },
              "animalKo": {
                "type": "string"
              },
              "sipseong": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "ko": {
                    "type": "string"
                  },
                  "han": {
                    "type": "string"
                  },
                  "group": {
                    "type": "string"
                  },
                  "groupKo": {
                    "type": "string"
                  }
                },
                "required": [
                  "group",
                  "groupKo",
                  "han",
                  "id",
                  "ko"
                ]
              },
              "hiddenStems": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "stem": {
                      "type": "object",
                      "properties": {
                        "index": {
                          "type": "integer"
                        },
                        "han": {
                          "type": "string"
                        },
                        "ko": {
                          "type": "string"
                        },
                        "element": {
                          "type": "string"
                        },
                        "elementKo": {
                          "type": "string"
                        },
                        "elementHan": {
                          "type": "string"
                        },
                        "polarity": {
                          "type": "string"
                        },
                        "polarityKo": {
                          "type": "string"
                        },
                        "sipseong": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "ko": {
                              "type": "string"
                            },
                            "han": {
                              "type": "string"
                            },
                            "group": {
                              "type": "string"
                            },
                            "groupKo": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "group",
                            "groupKo",
                            "han",
                            "id",
                            "ko"
                          ]
                        }
                      },
                      "required": [
                        "element",
                        "elementHan",
                        "elementKo",
                        "han",
                        "index",
                        "ko",
                        "polarity",
                        "polarityKo",
                        "sipseong"
                      ]
                    },
                    "role": {
                      "type": "string"
                    },
                    "roleKo": {
                      "type": "string"
                    },
                    "roleHan": {
                      "type": "string"
                    },
                    "days": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "days",
                    "role",
                    "roleHan",
                    "roleKo",
                    "stem"
                  ]
                }
              }
            },
            "required": [
              "animalKo",
              "element",
              "elementHan",
              "elementKo",
              "han",
              "hiddenStems",
              "index",
              "ko",
              "polarity",
              "polarityKo",
              "sipseong"
            ]
          },
          "twelveStage": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "ko": {
                "type": "string"
              },
              "han": {
                "type": "string"
              },
              "order": {
                "type": "integer"
              }
            },
            "required": [
              "han",
              "id",
              "ko",
              "order"
            ]
          },
          "startAge": {
            "type": "integer",
            "examples": [
              7,
              17
            ]
          },
          "endAge": {
            "type": "integer",
            "examples": [
              16,
              26
            ]
          },
          "ageAtStart": {
            "type": "object",
            "properties": {
              "international": {
                "type": "integer"
              },
              "korean": {
                "type": "integer"
              }
            },
            "required": [
              "international",
              "korean"
            ]
          },
          "startsOn": {
            "type": "string",
            "examples": [
              "1995-05-21",
              "2005-05-21"
            ]
          },
          "endsOn": {
            "type": "string",
            "examples": [
              "2005-05-21",
              "2015-05-21"
            ]
          },
          "isCurrent": {
            "type": "boolean"
          },
          "meaning": {
            "type": "string"
          },
          "relations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string"
                },
                "kindKo": {
                  "type": "string"
                },
                "withPosition": {
                  "type": "string"
                },
                "withPositionKo": {
                  "type": "string"
                },
                "withPositions": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "glyphs": {
                  "type": "string"
                },
                "glyphsHan": {
                  "type": "string"
                },
                "reasoning": {
                  "type": "string"
                }
              },
              "required": [
                "glyphs",
                "glyphsHan",
                "kind",
                "kindKo",
                "reasoning",
                "withPosition",
                "withPositionKo",
                "withPositions"
              ]
            }
          },
          "twelveSinsal": {
            "type": "object",
            "properties": {
              "byYear": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "ko": {
                    "type": "string"
                  },
                  "han": {
                    "type": "string"
                  }
                },
                "required": [
                  "han",
                  "id",
                  "ko"
                ]
              },
              "byDay": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "ko": {
                    "type": "string"
                  },
                  "han": {
                    "type": "string"
                  }
                },
                "required": [
                  "han",
                  "id",
                  "ko"
                ]
              }
            },
            "required": [
              "byDay",
              "byYear"
            ]
          },
          "isGongmang": {
            "type": "boolean"
          }
        },
        "required": [
          "ageAtStart",
          "branch",
          "endAge",
          "endsOn",
          "ganji",
          "ganjiHan",
          "ganjiIndex",
          "isCurrent",
          "order",
          "startAge",
          "startsOn",
          "stem",
          "twelveStage"
        ]
      }
    },
    "selection": {
      "type": "object",
      "properties": {
        "mode": {
          "type": "string",
          "examples": [
            "count"
          ]
        },
        "value": {
          "type": "integer",
          "examples": [
            13
          ]
        },
        "firstOrder": {
          "type": "integer",
          "examples": [
            1
          ]
        },
        "lastOrder": {
          "type": "integer",
          "examples": [
            13
          ]
        }
      },
      "required": [
        "firstOrder",
        "lastOrder",
        "mode",
        "value"
      ]
    },
    "current": {
      "type": "object",
      "properties": {
        "order": {
          "type": [
            "integer",
            "null"
          ],
          "examples": [
            4,
            3
          ]
        },
        "phase": {
          "type": "string",
          "examples": [
            "within",
            "before"
          ]
        },
        "reasoning": {
          "type": "string"
        }
      },
      "required": [
        "order",
        "phase"
      ]
    },
    "basis": {
      "type": "array",
      "items": {
        "type": "string",
        "examples": [
          "연간 양간 · 남성이라 순행(양남음녀)한다 (三命通會 論大運).",
          "연간 양간 · 여성이라 역행(음남양녀)한다 (三命通會 論大運)."
        ]
      }
    }
  },
  "required": [
    "countedTo",
    "current",
    "direction",
    "directionKo",
    "entries",
    "firstStartsOn",
    "selection",
    "startAge",
    "startAgeExact"
  ]
}