petstore-docs/contracts/booking-intent-v1.schema.json
2026-08-02 15:23:55 +08:00

139 lines
2.7 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://petstore.internal/schemas/booking-intent-v1.schema.json",
"title": "BookingIntentV1",
"description": "智能预约 M0 模型输出。所有字段仅是非权威意图提示,业务 ID、服务事实和号源事实由 Petstore 后端重新解析。",
"type": "object",
"additionalProperties": false,
"required": [
"schemaVersion",
"intent",
"petQuery",
"serviceQuery",
"dateExpression",
"timeWindow",
"remark",
"clearFields",
"ambiguities",
"nextAction"
],
"properties": {
"schemaVersion": {
"const": "booking-intent-v1"
},
"intent": {
"type": "string",
"enum": [
"book",
"modify",
"end",
"fallback"
]
},
"petQuery": {
"type": [
"string",
"null"
],
"minLength": 1,
"maxLength": 64
},
"serviceQuery": {
"type": [
"string",
"null"
],
"minLength": 1,
"maxLength": 64
},
"dateExpression": {
"type": [
"string",
"null"
],
"minLength": 1,
"maxLength": 32
},
"timeWindow": {
"oneOf": [
{
"type": "null"
},
{
"type": "object",
"additionalProperties": false,
"required": [
"start",
"end"
],
"properties": {
"start": {
"type": [
"string",
"null"
],
"pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
},
"end": {
"type": [
"string",
"null"
],
"pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
}
}
}
]
},
"remark": {
"type": [
"string",
"null"
],
"minLength": 1,
"maxLength": 200
},
"clearFields": {
"type": "array",
"uniqueItems": true,
"maxItems": 5,
"items": {
"type": "string",
"enum": [
"petQuery",
"serviceQuery",
"dateExpression",
"timeWindow",
"remark"
]
}
},
"ambiguities": {
"type": "array",
"uniqueItems": true,
"maxItems": 5,
"items": {
"type": "string",
"enum": [
"pet",
"service",
"date",
"time",
"remark"
]
}
},
"nextAction": {
"type": "string",
"enum": [
"ask",
"resolve_context",
"search_slots",
"show_draft",
"fallback",
"end"
]
}
}
}