🏙️ 多城市"安居资格"系统设计 v0.3

居住证积分 / 积分落户 / 购房资格 / 房产税 · 数据模型 + API(含积分计算器)
库归属:housing.db 独立 settle_ 域(马哥已拍板) 城市优先级:上海 → 成都 → 重庆 → 北京 → 广州 → 深圳 → 其他
状态:设计稿,待马哥拍板,暂未建表,落地等通知
v0.3 相比上一版补了什么:① 新增积分计算器 + 资格判定器(不只是查规则,能算"我够不够、差几分")② 枚举字段锁字典(不再乱成政策库 31 种取值)③ 政策版本/有效期管理 ④ 区域维度(临港/外环外)⑤ 证件阶梯依赖个人/家庭口径分清 ⑦ 沪渝房产税模型区分 ⑧ settle 与 policies 分工 + 巡检源补人社局/公安。

一、各城制度类型(框架,数字待核官方)

城市制度模式非户籍购房积分/落户房产税
上海①居住证积分120社保年限 / 居住证满5年;临港更松积分→中高考/医保/退税;居转户有·普征型
成都②已取消限购2024-04 取消限购+取消公证摇号学历/居住社保/积分落户(宽松)
重庆③不限购对外地"三无"有特殊政策落户宽松有·高端定向型
北京④连续社保+工作居住证连续5年社保或个税积分落户极严;车牌摇号看资格
广州⑤积分入户+限购放松购房社保年限(已放松)积分入户成熟
深圳⑥核准/积分入户+社保购房非户籍1年社保(2024放松后)核准制(学历/技能)+积分
⚠️ 重庆排第三的价值:它和上海是唯二房产税试点,但模型完全不同(见第六节),做沪渝对照是独家选题。门槛数字一律采集时核官方原文,设计稿不填死。

二、数据模型(5 张表,settle_ 域,housing.db)

字典表 ⓪ settle_dict [v0.3新增·锁枚举]

政策库 policy_type 已乱成 31 种自由文本——settle 表从第一天就用字典约束,杜绝重蹈覆辙。

枚举字段允许取值(固定)
system_type居住证积分 / 积分落户 / 核准落户 / 社保购房资格 / 限购取消
domain住房 / 落户 / 子女教育 / 医疗 / 车牌 / 证照 / 职业
rule_typeadd加分 / minus减分 / veto一票否决 / gate硬门槛
subject个人 / 家庭(v0.3新增,见第五节)
purchase_status限购 / 部分放松 / 全面取消
property_tax_model无 / 沪型普征 / 渝型高端定向(见第六节)

① settle_cities — 各城制度概览(一城市一行)

字段说明
city_code关联 cities,主键
system_type制度类型(字典,可多值)
system_name本地制度名,如"上海市居住证积分管理办法"
threshold_summary一句话核心门槛("标准分值120分")
property_tax_model[v0.3] 无/沪型普征/渝型高端定向
purchase_status限购状态(字典)
authority主管部门
source/source_url/confidence/updated_year

② settle_benefits — "满足资格能享受什么"(核心表)

字段说明
city_code + domain城市 + 领域(字典)
benefit_name / benefit_desc权益名 + 待遇(照抄官方)
requirement门槛:积分120/居住证满3年/社保5年/学历落户
subject[v0.3] 个人 or 家庭(房产税免征按家庭人均60㎡)
scope[v0.3] 适用区域:全市 / 临港新片区 / 外环外…(临港社保1年+人才即可购房)
prerequisite[v0.3] 前置证件阶梯:居住登记→居住证→积分(见第五节)
housing_related1=房产强相关(内容筛选开关)
related_policy_id关联 policies.id(房产税→上海id87、购房资格→id53)
effective_from/to[v0.3] 生效区间(替代单一年份,支持政策变更版本)
source/source_url/confidence/note;UNIQUE(city_code,domain,benefit_name,scope)

③ settle_rules — "怎么达到门槛"(计分规则,分城)

字段说明
city_code + rule_system城市 + 体系(居住证积分/积分落户/落户条件)
category年龄/学历学位/职称技能/社保基数年限/紧缺专业/投资纳税/配偶户籍
item / score / score_max计分项 / 分值 / 上限(官方为准,可空待核)
rule_typeadd加分 / minus减分 / veto一票否决 / gate硬门槛
condition计分条件(社保连续N年、基数倍数)
effective_from/to[v0.3] 版本区间
source/source_url/confidence;UNIQUE(city_code,rule_system,category,item)

④ settle_apply — "怎么办"(材料/流程/续签)

city_code + topic(申请条件/材料/流程/续签/查询渠道) + step_order + content + official_channel(一网通办/人社APP/人才中心/12333) + source。UNIQUE(city_code,topic,step_order)。

三、🔥 新增核心 API:积分计算器 + 资格判定器

v0.2 只能"查城市有什么规则",但用户真正要的是"我这个人够不够、差几分、达标后能解锁啥"。这是问答机器人/引流工具的核心。

# 算分:输入个人条件 → 输出总分/达标/差距/解锁权益 node hdb_settle.js calc --city shanghai \ --age 32 --edu 本科+学士 --skill 中级职称 \ --social-years 6 --social-base 1.0 --紧缺 是 # → 输出:年龄30分 + 学历90分 + 社保… = 总分125 ✅达标 # 超线5分;可解锁:子女中考/购房房产税免征/绿牌… # 资格判定:我想在某城买房/上学/退税,够不够格 node hdb_settle.js check --city shanghai --want 购房退税 \ --居住证年限 2 --积分 0 # → ❌不达标:需居住证满3年(或积分120),当前2年,差1年 # 原查询API overview / benefits / rules / apply / housing / compare / query

calc 逻辑:从 settle_rules 读该城 add/minus 规则按输入累加 → 对标 threshold_summary(120) → 差几分 → 反查 settle_benefits 列出达标可解锁权益。check 逻辑:读 benefits 的 gate/veto 硬门槛逐项判。全部规则驱动、数据来自官方表,不写死。

四、证件阶梯依赖(prerequisite)

1
居住登记(来沪即办,无门槛)
2
居住证(居住登记满6个月 + 合法住所/就业/就读之一)
3
居住证积分(持证 + 积分达标120,由单位申报)
4
解锁权益(子女中高考/医保/房产税退税/绿牌…)

benefits 的 prerequisite 字段标明该权益需要走到哪一级。很多人问"有居住证能不能退税"——答案取决于在阶梯哪一级,系统能直接回答。

五、个人 vs 家庭口径(subject)

事项按谁算说明
居住证积分个人积分落在持证人个人身上
购房资格/套数家庭按家庭(夫妻+未成年子女)认定套数
房产税免征家庭二套及以上、家庭人均≤60㎡免税

六、沪渝房产税:两种完全不同的模型

上海(沪型·普征)重庆(渝型·高端定向)
征收对象新购第二套及以上住房;非沪籍新购首套独栋商品住宅、高档住房;外地"三无"人员购第二套
导向抑制多套投资、覆盖较广定向豪宅/炒房,面窄
积分/居住证优惠:满3年免征/退税、积分120人才免征对"三无"(无户籍无工作无企业)征税,逻辑不同

property_tax_model 不是打勾,要分清沪型/渝型,计算器和内容都依赖这个区分。

七、settle 表 与 policies 表分工

八、数据纪律

九、请马哥拍板

① 城市优先级确认:上海→成都→重庆→北京→广州→深圳→其他(已按你说的排,重庆第三位做沪渝房产税对照)。对吗?
② 积分计算器(calc/check)要不要做:这是 v0.3 最大新增,工作量也最大(要把每城计分规则结构化)。第一版上海先做计算器,还是先做"查询版"(只列规则不算分)?
③ 5 张表 + 字典约束 + 版本区间:表结构是否 OK?有没有我还没想到的字段?
④ 落地等你通知。你确认设计后我再建表 + 逐项核官方细则填数。

— cogniClaw 🦞 · v0.3 设计讨论稿,所有数字以官方原文为准 —