Complete the selective V2 checkpoint with its minimal AgentBus, object-storage, replay persistence, and validated-workbench shared dependency closure.
82 lines
3.1 KiB
JSON
82 lines
3.1 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://th-hotel.local/schemas/booking-business-agent-input-v1.schema.json",
|
|
"title": "BookingBusinessAgentInputV1",
|
|
"description": "BookingDecisionInputV2 的业务投影;包含 Current 与有序完整的邮件 History 正文,禁止 History 附件和数据库生命周期上下文。",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"contract_meta",
|
|
"source_input_hash",
|
|
"current_message",
|
|
"email_history",
|
|
"attachments",
|
|
"layer3_result",
|
|
"order_contexts",
|
|
"rooming_list_resolutions",
|
|
"direction_context",
|
|
"input_issues",
|
|
"evidence_registry",
|
|
"evidence_refs"
|
|
],
|
|
"properties": {
|
|
"contract_meta": { "$ref": "booking-decision-input-v2.schema.json#/$defs/contractMeta" },
|
|
"source_input_hash": { "$ref": "booking-decision-input-v2.schema.json#/$defs/sha256" },
|
|
"current_message": { "$ref": "booking-decision-input-v2.schema.json#/$defs/currentMessage" },
|
|
"email_history": {
|
|
"type": "array",
|
|
"items": { "$ref": "booking-decision-input-v2.schema.json#/$defs/historyMessage" }
|
|
},
|
|
"attachments": {
|
|
"type": "array",
|
|
"items": { "$ref": "booking-decision-input-v2.schema.json#/$defs/attachmentMaterial" }
|
|
},
|
|
"layer3_result": { "$ref": "booking-decision-input-v2.schema.json#/$defs/layer3Result" },
|
|
"order_contexts": { "type": "array", "items": { "$ref": "#/$defs/agentOrderContext" } },
|
|
"rooming_list_resolutions": {
|
|
"type": "array",
|
|
"items": { "$ref": "booking-decision-input-v2.schema.json#/$defs/roomingListResolutionV2" }
|
|
},
|
|
"direction_context": { "$ref": "booking-decision-input-v2.schema.json#/$defs/directionContext" },
|
|
"input_issues": {
|
|
"type": "array",
|
|
"items": { "$ref": "booking-decision-input-v2.schema.json#/$defs/contractIssue" }
|
|
},
|
|
"evidence_registry": {
|
|
"type": "array",
|
|
"items": { "$ref": "booking-decision-input-v2.schema.json#/$defs/evidenceRef" }
|
|
},
|
|
"evidence_refs": { "$ref": "booking-decision-input-v2.schema.json#/$defs/evidenceIdList" }
|
|
},
|
|
"$defs": {
|
|
"agentOrderContext": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"order_scope_ref",
|
|
"group_code",
|
|
"source_profile_code",
|
|
"source_units",
|
|
"rate_options",
|
|
"evidence_refs"
|
|
],
|
|
"properties": {
|
|
"order_scope_ref": { "$ref": "booking-decision-input-v2.schema.json#/$defs/nonBlank" },
|
|
"group_code": { "$ref": "booking-decision-input-v2.schema.json#/$defs/nullableNonBlank" },
|
|
"source_profile_code": { "enum": ["QBD", "LIANTAI"] },
|
|
"source_units": {
|
|
"type": "array",
|
|
"items": { "$ref": "booking-decision-input-v2.schema.json#/$defs/sourceStayUnitContextV2" }
|
|
},
|
|
"rate_options": {
|
|
"type": "array",
|
|
"items": { "$ref": "booking-decision-input-v2.schema.json#/$defs/rateOptionV2" },
|
|
"minItems": 1,
|
|
"maxItems": 2
|
|
},
|
|
"evidence_refs": { "$ref": "booking-decision-input-v2.schema.json#/$defs/evidenceIdList" }
|
|
}
|
|
}
|
|
}
|
|
}
|