← Files 補助金検索AIARCHIVED FILE

skills/subsidy-search/references/application-handoff.schema.json

28.1 KB · Oct 4, 2026 · 12:34 UTC

↓ Download file

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Private subsidy application handoff v1",
  "type": "object",
  "properties": {
    "schema": {
      "type": "string",
      "enum": [
        "subsidy-application-handoff"
      ],
      "description": "引継ぎ形式"
    },
    "schema_version": {
      "type": "integer",
      "enum": [
        1
      ]
    },
    "created_at": {
      "type": "string",
      "description": "引継ぎ作成日時。公式資料の確認日時とは別",
      "minLength": 1,
      "maxLength": 50
    },
    "origin": {
      "type": "string",
      "enum": [
        "subsidy-search"
      ],
      "description": "作成元"
    },
    "profile": {
      "type": "object",
      "properties": {
        "prefecture": {
          "type": "string",
          "enum": [
            "北海道",
            "青森県",
            "岩手県",
            "宮城県",
            "秋田県",
            "山形県",
            "福島県",
            "茨城県",
            "栃木県",
            "群馬県",
            "埼玉県",
            "千葉県",
            "東京都",
            "神奈川県",
            "新潟県",
            "富山県",
            "石川県",
            "福井県",
            "山梨県",
            "長野県",
            "岐阜県",
            "静岡県",
            "愛知県",
            "三重県",
            "滋賀県",
            "京都府",
            "大阪府",
            "兵庫県",
            "奈良県",
            "和歌山県",
            "鳥取県",
            "島根県",
            "岡山県",
            "広島県",
            "山口県",
            "徳島県",
            "香川県",
            "愛媛県",
            "高知県",
            "福岡県",
            "佐賀県",
            "長崎県",
            "熊本県",
            "大分県",
            "宮崎県",
            "鹿児島県",
            "沖縄県"
          ],
          "description": "事業を実施する都道府県。登記地等との違いが条件になる場合は複雑条件として要確認"
        },
        "municipality": {
          "type": "string",
          "description": "事業を実施する市区町村の公式表記だけ。地域の別名・包含関係を推測しない",
          "minLength": 1,
          "maxLength": 80
        },
        "industry": {
          "type": "string",
          "enum": [
            "農業、林業",
            "漁業",
            "鉱業、採石業、砂利採取業",
            "建設業",
            "製造業",
            "電気・ガス・熱供給・水道業",
            "情報通信業",
            "運輸業、郵便業",
            "卸売業、小売業",
            "金融業、保険業",
            "不動産業、物品賃貸業",
            "学術研究、専門・技術サービス業",
            "宿泊業、飲食サービス業",
            "生活関連サービス業、娯楽業",
            "教育、学習支援業",
            "医療、福祉",
            "複合サービス事業",
            "サービス業(他に分類されないもの)",
            "公務(他に分類されるものを除く)",
            "分類不能の産業"
          ],
          "description": "確認した事業の業種。兼業・業種別例外は複雑条件として要確認"
        },
        "employees": {
          "type": "integer",
          "minimum": 0,
          "maximum": 1000000000000000,
          "description": "要領に記載された定義で数えた従業員数。不明なら省略"
        },
        "capital_yen": {
          "type": "integer",
          "minimum": 0,
          "maximum": 1000000000000000,
          "description": "資本金(円)。個人事業主や不明なら省略"
        },
        "entity_type": {
          "type": "string",
          "enum": [
            "corporation",
            "sole_proprietor",
            "other"
          ],
          "description": "法人/個人事業主/その他"
        },
        "order_placed": {
          "type": "boolean",
          "description": "対象経費について既に契約・発注したか。不明なら省略"
        },
        "planned_order_date": {
          "type": "string",
          "description": "発注予定日YYYY-MM-DD。不明なら省略",
          "minLength": 1,
          "maxLength": 10
        },
        "expense_types": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "equipment",
              "software",
              "renovation",
              "advertising",
              "consulting",
              "training",
              "research",
              "other"
            ],
            "description": "対象にしたい経費分類"
          },
          "minItems": 1,
          "maxItems": 8
        },
        "project_budget_yen": {
          "type": "integer",
          "minimum": 0,
          "maximum": 1000000000000000,
          "description": "対象にしたい事業費の概算(円)"
        },
        "prerequisite_completed": {
          "type": "boolean",
          "description": "この照合で対象とする、同一の必須事前手続きを完了したか。手続きが複数/制度間で異なるならunsupportedで要確認"
        },
        "prerequisite_completed_at": {
          "type": "string",
          "description": "同一の必須事前手続きの完了日YYYY-MM-DD。異なる手続きを混同しない",
          "minLength": 1,
          "maxLength": 10
        },
        "prerequisite_id": {
          "type": "string",
          "description": "確認する事前手続きの公開識別子。rules.context_idと完全一致が必要。個社名等不可",
          "minLength": 1,
          "maxLength": 100
        }
      },
      "required": [],
      "additionalProperties": false
    },
    "project": {
      "type": "object",
      "properties": {
        "purpose": {
          "type": "string",
          "description": "本人が今回実現したいこと。既知だけを短く引継ぐ",
          "minLength": 1,
          "maxLength": 2000
        },
        "budget_yen": {
          "type": "integer",
          "minimum": 0,
          "maximum": 1000000000000000,
          "description": "本人が示した事業費の概算(円)。不明なら省略。確定値にはしない"
        },
        "timing": {
          "type": "string",
          "description": "本人が示した導入・実施予定。未定を確定日に変えない",
          "minLength": 1,
          "maxLength": 300
        }
      },
      "required": [],
      "additionalProperties": false
    },
    "selected_candidate": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "呼出内で一意の候補ID",
          "minLength": 1,
          "maxLength": 80
        },
        "title": {
          "type": "string",
          "description": "公式の制度名・枠・公募回",
          "minLength": 1,
          "maxLength": 300
        },
        "scope": {
          "type": "object",
          "properties": {
            "program_id": {
              "type": "string",
              "description": "公式の制度ID。API対象外は公式の制度URL等、確認済みの識別子",
              "minLength": 1,
              "maxLength": 2048
            },
            "fiscal_year": {
              "type": "string",
              "description": "公式に確認した西暦の年度4桁。不明ならunknown",
              "minLength": 1,
              "maxLength": 20
            },
            "variant": {
              "type": "string",
              "description": "公式の枠・類型。存在しないと確認できた場合のみ区分なし",
              "minLength": 1,
              "maxLength": 150
            },
            "round": {
              "type": "string",
              "description": "公式の公募回。存在しないと確認できた場合のみ区分なし",
              "minLength": 1,
              "maxLength": 150
            }
          },
          "required": [
            "program_id",
            "fiscal_year",
            "variant",
            "round"
          ],
          "additionalProperties": false
        },
        "application": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "open",
                "closed",
                "upcoming",
                "unknown"
              ],
              "description": "最新の公式告知で確認した受付状態。早期終了/中止はclosed"
            },
            "start_at": {
              "type": "string",
              "description": "この公募回の受付開始。公式のタイムゾーン付きISO日時、または日付のみ公表の場合YYYY-MM-DD。日付開始の当日は保留。不明ならunknown",
              "minLength": 1,
              "maxLength": 50
            },
            "end_at": {
              "type": "string",
              "description": "この公募回の締切。公式のタイムゾーン付きISO日時、または日付のみ公表の場合YYYY-MM-DD。日付締切の当日は保留。時刻を推定せず不明ならunknown",
              "minLength": 1,
              "maxLength": 50
            },
            "source": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string",
                  "description": "実際に確認した公式の公開HTTPS URL。認証情報・個社情報不可",
                  "minLength": 1,
                  "maxLength": 2048
                },
                "checked_at": {
                  "type": "string",
                  "description": "実際に公式資料を確認したタイムゾーン付きISO日時。不明ならunknown",
                  "minLength": 1,
                  "maxLength": 50
                },
                "scope": {
                  "type": "object",
                  "properties": {
                    "program_id": {
                      "type": "string",
                      "description": "公式の制度ID。API対象外は公式の制度URL等、確認済みの識別子",
                      "minLength": 1,
                      "maxLength": 2048
                    },
                    "fiscal_year": {
                      "type": "string",
                      "description": "公式に確認した西暦の年度4桁。不明ならunknown",
                      "minLength": 1,
                      "maxLength": 20
                    },
                    "variant": {
                      "type": "string",
                      "description": "公式の枠・類型。存在しないと確認できた場合のみ区分なし",
                      "minLength": 1,
                      "maxLength": 150
                    },
                    "round": {
                      "type": "string",
                      "description": "公式の公募回。存在しないと確認できた場合のみ区分なし",
                      "minLength": 1,
                      "maxLength": 150
                    }
                  },
                  "required": [
                    "program_id",
                    "fiscal_year",
                    "variant",
                    "round"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "url",
                "checked_at",
                "scope"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "status",
            "start_at",
            "end_at",
            "source"
          ],
          "additionalProperties": false
        },
        "criteria": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "候補内で一意の条件グループID",
                "minLength": 1,
                "maxLength": 80
              },
              "label": {
                "type": "string",
                "description": "判定対象。例:中小企業の規模要件。ユーザー情報を含めない",
                "minLength": 1,
                "maxLength": 300
              },
              "mode": {
                "type": "string",
                "enum": [
                  "all",
                  "any"
                ],
                "description": "公式条件のAND/OR。資本金または従業員ならany。複雑な入れ子条件はunsupported"
              },
              "category": {
                "type": "string",
                "enum": [
                  "location",
                  "industry",
                  "business_size",
                  "entity_type",
                  "expenses",
                  "order_timing",
                  "prerequisites"
                ],
                "description": "主要条件のカテゴリ。7カテゴリを根拠付きで確認し、抽出漏れを抑える"
              },
              "source": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "description": "実際に確認した公式の公開HTTPS URL。認証情報・個社情報不可",
                    "minLength": 1,
                    "maxLength": 2048
                  },
                  "checked_at": {
                    "type": "string",
                    "description": "実際に公式資料を確認したタイムゾーン付きISO日時。不明ならunknown",
                    "minLength": 1,
                    "maxLength": 50
                  },
                  "scope": {
                    "type": "object",
                    "properties": {
                      "program_id": {
                        "type": "string",
                        "description": "公式の制度ID。API対象外は公式の制度URL等、確認済みの識別子",
                        "minLength": 1,
                        "maxLength": 2048
                      },
                      "fiscal_year": {
                        "type": "string",
                        "description": "公式に確認した西暦の年度4桁。不明ならunknown",
                        "minLength": 1,
                        "maxLength": 20
                      },
                      "variant": {
                        "type": "string",
                        "description": "公式の枠・類型。存在しないと確認できた場合のみ区分なし",
                        "minLength": 1,
                        "maxLength": 150
                      },
                      "round": {
                        "type": "string",
                        "description": "公式の公募回。存在しないと確認できた場合のみ区分なし",
                        "minLength": 1,
                        "maxLength": 150
                      }
                    },
                    "required": [
                      "program_id",
                      "fiscal_year",
                      "variant",
                      "round"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "url",
                  "checked_at",
                  "scope"
                ],
                "additionalProperties": false
              },
              "rules": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "候補内で一意の条件ID",
                      "minLength": 1,
                      "maxLength": 80
                    },
                    "label": {
                      "type": "string",
                      "description": "公式要領に基づく条件の短い説明。ユーザー情報を含めない",
                      "minLength": 1,
                      "maxLength": 300
                    },
                    "field": {
                      "type": "string",
                      "enum": [
                        "prefecture",
                        "municipality",
                        "industry",
                        "employees",
                        "capital_yen",
                        "entity_type",
                        "order_placed",
                        "planned_order_date",
                        "expense_types",
                        "project_budget_yen",
                        "prerequisite_completed",
                        "prerequisite_completed_at",
                        "prerequisite_id",
                        "unstructured"
                      ],
                      "description": "照合対象。不正確な単純化になる条件はunstructured"
                    },
                    "operator": {
                      "type": "string",
                      "enum": [
                        "equals",
                        "in",
                        "not_in",
                        "lte",
                        "gte",
                        "date_on_or_before",
                        "date_on_or_after",
                        "contains_any",
                        "contains_all",
                        "unsupported"
                      ],
                      "description": "等値・集合は完全一致。数値は円/人数の整数。地域推測不可。複雑な例外はunsupported"
                    },
                    "values": {
                      "type": "array",
                      "items": {
                        "type": [
                          "string",
                          "integer",
                          "boolean"
                        ],
                        "maxLength": 200,
                        "minimum": 0,
                        "maximum": 1000000000000000
                      },
                      "maxItems": 40
                    },
                    "context_id": {
                      "type": "string",
                      "description": "事前手続き条件では必須。profile.prerequisite_idと一致する公開手続き識別子",
                      "minLength": 1,
                      "maxLength": 100
                    }
                  },
                  "required": [
                    "id",
                    "label",
                    "field",
                    "operator",
                    "values"
                  ],
                  "additionalProperties": false
                },
                "minItems": 1,
                "maxItems": 8
              }
            },
            "required": [
              "id",
              "label",
              "mode",
              "category",
              "source",
              "rules"
            ],
            "additionalProperties": false
          },
          "maxItems": 16,
          "description": "必要条件グループ全体はAND。把握していない条件はunsupportedグループを追加。空配列は未確認"
        },
        "not_applicable": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "category": {
                "type": "string",
                "enum": [
                  "location",
                  "industry",
                  "business_size",
                  "entity_type",
                  "expenses",
                  "order_timing",
                  "prerequisites"
                ],
                "description": "要領で条件が課されないと確認できたカテゴリ"
              },
              "source": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "description": "実際に確認した公式の公開HTTPS URL。認証情報・個社情報不可",
                    "minLength": 1,
                    "maxLength": 2048
                  },
                  "checked_at": {
                    "type": "string",
                    "description": "実際に公式資料を確認したタイムゾーン付きISO日時。不明ならunknown",
                    "minLength": 1,
                    "maxLength": 50
                  },
                  "scope": {
                    "type": "object",
                    "properties": {
                      "program_id": {
                        "type": "string",
                        "description": "公式の制度ID。API対象外は公式の制度URL等、確認済みの識別子",
                        "minLength": 1,
                        "maxLength": 2048
                      },
                      "fiscal_year": {
                        "type": "string",
                        "description": "公式に確認した西暦の年度4桁。不明ならunknown",
                        "minLength": 1,
                        "maxLength": 20
                      },
                      "variant": {
                        "type": "string",
                        "description": "公式の枠・類型。存在しないと確認できた場合のみ区分なし",
                        "minLength": 1,
                        "maxLength": 150
                      },
                      "round": {
                        "type": "string",
                        "description": "公式の公募回。存在しないと確認できた場合のみ区分なし",
                        "minLength": 1,
                        "maxLength": 150
                      }
                    },
                    "required": [
                      "program_id",
                      "fiscal_year",
                      "variant",
                      "round"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "url",
                  "checked_at",
                  "scope"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "category",
              "source"
            ],
            "additionalProperties": false
          },
          "maxItems": 7,
          "description": "条件がないと公式資料で確認できた場合だけ。単なる未確認は含めない"
        }
      },
      "required": [
        "id",
        "title",
        "scope",
        "application",
        "criteria"
      ],
      "additionalProperties": false
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "実際に確認した公式の公開HTTPS URL。認証情報・個社情報不可",
            "minLength": 1,
            "maxLength": 2048
          },
          "checked_at": {
            "type": "string",
            "description": "実際に公式資料を確認したタイムゾーン付きISO日時。不明ならunknown",
            "minLength": 1,
            "maxLength": 50
          },
          "scope": {
            "type": "object",
            "properties": {
              "program_id": {
                "type": "string",
                "description": "公式の制度ID。API対象外は公式の制度URL等、確認済みの識別子",
                "minLength": 1,
                "maxLength": 2048
              },
              "fiscal_year": {
                "type": "string",
                "description": "公式に確認した西暦の年度4桁。不明ならunknown",
                "minLength": 1,
                "maxLength": 20
              },
              "variant": {
                "type": "string",
                "description": "公式の枠・類型。存在しないと確認できた場合のみ区分なし",
                "minLength": 1,
                "maxLength": 150
              },
              "round": {
                "type": "string",
                "description": "公式の公募回。存在しないと確認できた場合のみ区分なし",
                "minLength": 1,
                "maxLength": 150
              }
            },
            "required": [
              "program_id",
              "fiscal_year",
              "variant",
              "round"
            ],
            "additionalProperties": false
          },
          "title": {
            "type": "string",
            "description": "確認した公式資料名。不明ならunknown",
            "minLength": 1,
            "maxLength": 300
          },
          "locator": {
            "type": "string",
            "description": "確認箇所のページ・節。不明ならunknown",
            "minLength": 1,
            "maxLength": 200
          }
        },
        "required": [
          "url",
          "checked_at",
          "scope"
        ],
        "additionalProperties": false
      },
      "maxItems": 30
    },
    "known_facts": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "会話内で確認した事実の識別名。同じ意味の項目を重複させない",
            "minLength": 1,
            "maxLength": 100
          },
          "value": {
            "type": [
              "string",
              "integer",
              "boolean",
              "null"
            ],
            "maxLength": 2000,
            "minimum": -1000000000000000,
            "maximum": 1000000000000000
          },
          "status": {
            "type": "string",
            "enum": [
              "confirmed",
              "estimate",
              "unknown"
            ],
            "description": "本人が確定した事実/概算/不明。unknownのvalueはnull"
          },
          "source": {
            "type": "string",
            "description": "本人の回答・本人資料の出典。資料全文を入れない。不明ならunknown",
            "minLength": 1,
            "maxLength": 500
          }
        },
        "required": [
          "key",
          "value",
          "status",
          "source"
        ],
        "additionalProperties": false
      },
      "maxItems": 80
    },
    "open_questions": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "まだ確認できていない事項。回答済みを再質問しない",
        "minLength": 1,
        "maxLength": 500
      },
      "maxItems": 40
    },
    "requires_current_official_recheck": {
      "type": "boolean",
      "const": true
    }
  },
  "required": [
    "schema",
    "schema_version",
    "created_at",
    "origin",
    "profile",
    "project",
    "selected_candidate",
    "sources",
    "known_facts",
    "open_questions",
    "requires_current_official_recheck"
  ],
  "additionalProperties": false
}

SHA-256: 1f2f4f097c095ed41d3253df59f0c9a5b2fc6e78a1bfffe1e93026ae89b4c4b9