139 lines
2.7 KiB
JSON
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"
|
|
]
|
|
}
|
|
}
|
|
}
|