{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api.supasaju.com/schemas/dailyInteraction.json",
  "title": "dailyInteraction 모듈 응답",
  "description": "실제 엔진 출력에서 생성된 스키마입니다.",
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "examples": [
        "2026-09-17"
      ]
    },
    "weekday": {
      "type": "integer",
      "examples": [
        4
      ]
    },
    "weekdayKo": {
      "type": "string",
      "examples": [
        "목요일"
      ]
    },
    "ganji": {
      "type": "string",
      "examples": [
        "갑오"
      ]
    },
    "ganjiHan": {
      "type": "string",
      "examples": [
        "甲午"
      ]
    },
    "ganjiIndex": {
      "type": "integer",
      "examples": [
        30
      ]
    },
    "stem": {
      "type": "object",
      "properties": {
        "index": {
          "type": "integer",
          "examples": [
            0
          ]
        },
        "han": {
          "type": "string",
          "examples": [
            "甲"
          ]
        },
        "ko": {
          "type": "string",
          "examples": [
            "갑"
          ]
        },
        "element": {
          "type": "string",
          "examples": [
            "wood"
          ]
        },
        "elementKo": {
          "type": "string",
          "examples": [
            "목"
          ]
        },
        "elementHan": {
          "type": "string",
          "examples": [
            "木"
          ]
        },
        "polarity": {
          "type": "string",
          "examples": [
            "yang"
          ]
        },
        "polarityKo": {
          "type": "string",
          "examples": [
            "양"
          ]
        },
        "sipseong": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "examples": [
                "pyeongwan",
                "jeongjae"
              ]
            },
            "ko": {
              "type": "string",
              "examples": [
                "편관",
                "정재"
              ]
            },
            "han": {
              "type": "string",
              "examples": [
                "偏官",
                "正財"
              ]
            },
            "group": {
              "type": "string",
              "examples": [
                "gwanseong",
                "jaeseong"
              ]
            },
            "groupKo": {
              "type": "string",
              "examples": [
                "관성",
                "재성"
              ]
            },
            "meaning": {
              "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",
          "examples": [
            6
          ]
        },
        "han": {
          "type": "string",
          "examples": [
            "午"
          ]
        },
        "ko": {
          "type": "string",
          "examples": [
            "오"
          ]
        },
        "element": {
          "type": "string",
          "examples": [
            "fire"
          ]
        },
        "elementKo": {
          "type": "string",
          "examples": [
            "화"
          ]
        },
        "elementHan": {
          "type": "string",
          "examples": [
            "火"
          ]
        },
        "polarity": {
          "type": "string",
          "examples": [
            "yang"
          ]
        },
        "polarityKo": {
          "type": "string",
          "examples": [
            "양"
          ]
        },
        "animalKo": {
          "type": "string",
          "examples": [
            "말"
          ]
        },
        "sipseong": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "examples": [
                "jeongin",
                "pyeongwan"
              ]
            },
            "ko": {
              "type": "string",
              "examples": [
                "정인",
                "편관"
              ]
            },
            "han": {
              "type": "string",
              "examples": [
                "正印",
                "偏官"
              ]
            },
            "group": {
              "type": "string",
              "examples": [
                "inseong",
                "gwanseong"
              ]
            },
            "groupKo": {
              "type": "string",
              "examples": [
                "인성",
                "관성"
              ]
            },
            "meaning": {
              "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",
          "examples": [
            "jewang",
            "byeong"
          ]
        },
        "ko": {
          "type": "string",
          "examples": [
            "제왕",
            "병"
          ]
        },
        "han": {
          "type": "string",
          "examples": [
            "帝旺",
            "病"
          ]
        },
        "order": {
          "type": "integer",
          "examples": [
            5,
            7
          ]
        },
        "keyword": {
          "type": "string",
          "examples": [
            "절정",
            "소진"
          ]
        },
        "phase": {
          "type": "string",
          "examples": [
            "정점",
            "하강"
          ]
        },
        "meaning": {
          "type": "string"
        }
      },
      "required": [
        "han",
        "id",
        "ko",
        "order"
      ]
    },
    "relations": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "examples": [
              "destruction",
              "stemClash"
            ]
          },
          "kindKo": {
            "type": "string",
            "examples": [
              "파",
              "천간충"
            ]
          },
          "withPosition": {
            "type": "string",
            "examples": [
              "month",
              "year"
            ]
          },
          "withPositionKo": {
            "type": "string",
            "examples": [
              "월주",
              "연주"
            ]
          },
          "withPositions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "glyphs": {
            "type": "string",
            "examples": [
              "묘오",
              "경갑"
            ]
          },
          "glyphsHan": {
            "type": "string",
            "examples": [
              "卯午",
              "庚甲"
            ]
          },
          "meaning": {
            "type": "string"
          },
          "reasoning": {
            "type": "string"
          }
        },
        "required": [
          "glyphs",
          "glyphsHan",
          "kind",
          "kindKo",
          "withPosition",
          "withPositionKo",
          "withPositions"
        ]
      }
    },
    "twelveSinsal": {
      "type": "object",
      "properties": {
        "byYear": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "examples": [
                "jaesal",
                "jangseong"
              ]
            },
            "ko": {
              "type": "string",
              "examples": [
                "재살",
                "장성"
              ]
            },
            "han": {
              "type": "string",
              "examples": [
                "災煞",
                "將星"
              ]
            },
            "meaning": {
              "type": "string",
              "examples": [
                "장성은 삼합의 중심 자리로, 주도권과 통솔의 기운이 놓인 신호로 읽는다."
              ]
            }
          },
          "required": [
            "han",
            "id",
            "ko"
          ]
        },
        "byDay": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "examples": [
                "jaesal",
                "yukhae"
              ]
            },
            "ko": {
              "type": "string",
              "examples": [
                "재살",
                "육해"
              ]
            },
            "han": {
              "type": "string",
              "examples": [
                "災煞",
                "六害"
              ]
            },
            "meaning": {
              "type": "string",
              "examples": [
                "장성은 삼합의 중심 자리로, 주도권과 통솔의 기운이 놓인 신호로 읽는다."
              ]
            }
          },
          "required": [
            "han",
            "id",
            "ko"
          ]
        }
      },
      "required": [
        "byDay",
        "byYear"
      ]
    },
    "fortuneSinsal": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "examples": [
              "sangmun",
              "jogaek"
            ]
          },
          "ko": {
            "type": "string",
            "examples": [
              "상문",
              "조객"
            ]
          },
          "han": {
            "type": "string",
            "examples": [
              "喪門",
              "弔客"
            ]
          }
        },
        "required": [
          "han",
          "id",
          "ko"
        ]
      }
    },
    "sinsalOnFortune": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "examples": [
              "yangin",
              "cheoneul"
            ]
          },
          "ko": {
            "type": "string",
            "examples": [
              "양인",
              "천을귀인"
            ]
          },
          "han": {
            "type": "string",
            "examples": [
              "羊刃",
              "天乙貴人"
            ]
          },
          "basis": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "meaning": {
            "type": "string"
          }
        },
        "required": [
          "han",
          "id",
          "ko"
        ]
      }
    },
    "isGongmang": {
      "type": "boolean"
    },
    "meaning": {
      "type": "string"
    },
    "basis": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "branch",
    "date",
    "fortuneSinsal",
    "ganji",
    "ganjiHan",
    "ganjiIndex",
    "isGongmang",
    "relations",
    "sinsalOnFortune",
    "stem",
    "twelveSinsal",
    "twelveStage",
    "weekday",
    "weekdayKo"
  ]
}