Files
Wyndham-RSVN-0918/docs/project/requirements/schemas/booking-decision-input-v3.schema.json
T
鲨鱼辣椒 31849411a8
verify / booking-verify (push) Has been cancelled
建立5178独立项目基线
2026-09-08 15:03:45 +08:00

1407 lines
31 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://th-hotel.local/schemas/booking-decision-input-v3.schema.json",
"title": "BookingDecisionInputV3",
"type": "object",
"additionalProperties": false,
"required": [
"contract_meta",
"input_hash",
"message_material",
"layer3_result",
"decision_context",
"rooming_list_resolutions",
"evidence_registry",
"evidence_refs"
],
"properties": {
"contract_meta": {
"$ref": "#/$defs/contractMeta"
},
"input_hash": {
"$ref": "#/$defs/sha256"
},
"message_material": {
"$ref": "#/$defs/messageMaterial"
},
"layer3_result": {
"$ref": "#/$defs/layer3Result"
},
"decision_context": {
"$ref": "#/$defs/decisionContext"
},
"rooming_list_resolutions": {
"type": "array",
"items": {
"$ref": "#/$defs/roomingListResolutionV2"
}
},
"evidence_registry": {
"type": "array",
"items": {
"$ref": "#/$defs/evidenceRef"
}
},
"evidence_refs": {
"$ref": "#/$defs/evidenceIdList"
}
},
"$defs": {
"nonBlank": {
"type": "string",
"minLength": 1
},
"nullableNonBlank": {
"type": [
"string",
"null"
],
"minLength": 1
},
"sha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"contractMeta": {
"type": "object",
"additionalProperties": false,
"required": [
"contract_version",
"catalog_version",
"parser_version",
"agent_profile_version",
"processing_run_id",
"source_message_id",
"source_revision"
],
"properties": {
"contract_version": {
"const": "booking-contracts-v3"
},
"catalog_version": {
"$ref": "#/$defs/nonBlank"
},
"parser_version": {
"$ref": "#/$defs/nonBlank"
},
"agent_profile_version": {
"$ref": "#/$defs/nonBlank"
},
"processing_run_id": {
"$ref": "#/$defs/nonBlank"
},
"source_message_id": {
"$ref": "#/$defs/nonBlank"
},
"source_revision": {
"type": "integer",
"minimum": 0
}
}
},
"evidenceIdList": {
"type": "array",
"items": {
"$ref": "#/$defs/nonBlank"
},
"uniqueItems": true
},
"evidenceRef": {
"type": "object",
"additionalProperties": false,
"required": [
"evidence_id",
"kind",
"source_message_id",
"locator",
"content_hash",
"is_current_material"
],
"properties": {
"evidence_id": {
"$ref": "#/$defs/nonBlank"
},
"kind": {
"enum": [
"CURRENT_SUBJECT",
"CURRENT_BODY",
"QUOTED_HISTORY",
"ATTACHMENT",
"WORKBOOK_SHEET",
"WORKBOOK_ROW",
"IMAGE",
"OCR_TEXT",
"CONTEXT_RECORD",
"USER_CORRECTION"
]
},
"source_message_id": {
"$ref": "#/$defs/nonBlank"
},
"locator": {
"$ref": "#/$defs/nonBlank"
},
"content_hash": {
"$ref": "#/$defs/sha256"
},
"is_current_material": {
"type": "boolean"
}
}
},
"messageMaterial": {
"type": "object",
"additionalProperties": false,
"required": [
"current",
"history",
"attachments"
],
"properties": {
"current": {
"$ref": "#/$defs/currentMessage"
},
"history": {
"type": "array",
"items": {
"$ref": "#/$defs/historyMessage"
}
},
"attachments": {
"type": "array",
"items": {
"$ref": "#/$defs/attachmentMaterial"
}
}
}
},
"currentMessage": {
"type": "object",
"additionalProperties": false,
"required": [
"message_id",
"subject",
"body_text",
"subject_evidence_ref",
"body_evidence_ref"
],
"properties": {
"message_id": {
"$ref": "#/$defs/nonBlank"
},
"subject": {
"type": "string"
},
"body_text": {
"type": "string"
},
"subject_evidence_ref": {
"$ref": "#/$defs/nonBlank"
},
"body_evidence_ref": {
"$ref": "#/$defs/nonBlank"
}
}
},
"historyMessage": {
"type": "object",
"additionalProperties": false,
"required": [
"sequence",
"message_id",
"body_text",
"body_is_complete",
"body_evidence_ref"
],
"properties": {
"sequence": {
"type": "integer",
"minimum": 0
},
"message_id": {
"$ref": "#/$defs/nonBlank"
},
"body_text": {
"type": "string"
},
"body_is_complete": {
"const": true
},
"body_evidence_ref": {
"$ref": "#/$defs/nonBlank"
}
}
},
"attachmentMaterial": {
"type": "object",
"additionalProperties": false,
"required": [
"attachment_id",
"file_name",
"media_type",
"size_bytes",
"content_hash",
"material_observations",
"evidence_refs"
],
"properties": {
"attachment_id": {
"$ref": "#/$defs/nonBlank"
},
"file_name": {
"type": "string"
},
"media_type": {
"$ref": "#/$defs/nonBlank"
},
"size_bytes": {
"type": "integer",
"minimum": 0
},
"content_hash": {
"$ref": "#/$defs/sha256"
},
"material_observations": {
"type": "array",
"items": {
"$ref": "#/$defs/materialObservation"
}
},
"evidence_refs": {
"$ref": "#/$defs/evidenceIdList"
}
}
},
"layer3Result": {
"type": "object",
"additionalProperties": false,
"required": [
"parse_status",
"source_facts",
"structured_mentions",
"target_bindings",
"neutral_relationships",
"material_observations",
"display_information",
"material_dispositions",
"parse_issues",
"evidence_refs"
],
"properties": {
"parse_status": {
"enum": [
"READY",
"PARTIAL",
"FAILED",
"NOT_APPLICABLE"
]
},
"source_facts": {
"type": "array",
"items": {
"$ref": "#/$defs/sourceFact"
}
},
"structured_mentions": {
"type": "array",
"items": {
"$ref": "#/$defs/structuredMention"
}
},
"target_bindings": {
"type": "array",
"items": {
"$ref": "#/$defs/targetBinding"
}
},
"neutral_relationships": {
"type": "array",
"items": {
"$ref": "#/$defs/neutralRelationship"
}
},
"material_observations": {
"type": "array",
"items": {
"$ref": "#/$defs/materialObservation"
}
},
"display_information": {
"type": "array",
"items": {
"$ref": "#/$defs/displayInformation"
}
},
"material_dispositions": {
"type": "array",
"items": {
"$ref": "#/$defs/materialDisposition"
}
},
"parse_issues": {
"type": "array",
"items": {
"$ref": "#/$defs/contractIssue"
}
},
"evidence_refs": {
"$ref": "#/$defs/evidenceIdList"
}
}
},
"jsonScalar": {
"type": [
"string",
"number",
"integer",
"boolean",
"null"
]
},
"sourceFact": {
"type": "object",
"additionalProperties": false,
"required": [
"fact_id",
"fact_role",
"target_ref",
"source_unit_ref",
"source_segment_ref",
"room_item_ref",
"source_value",
"normalized_source_value",
"evidence_refs"
],
"properties": {
"fact_id": {
"$ref": "#/$defs/nonBlank"
},
"fact_role": {
"$ref": "#/$defs/nonBlank"
},
"target_ref": {
"$ref": "#/$defs/nullableNonBlank"
},
"source_unit_ref": {
"$ref": "#/$defs/nullableNonBlank"
},
"room_item_ref": {
"$ref": "#/$defs/nullableNonBlank"
},
"source_value": {
"$ref": "#/$defs/jsonScalar"
},
"normalized_source_value": {
"$ref": "#/$defs/jsonScalar"
},
"evidence_refs": {
"$ref": "#/$defs/evidenceIdList"
},
"source_segment_ref": {
"$ref": "#/$defs/nullableNonBlank"
}
}
},
"neutralParameters": {
"type": "object",
"propertyNames": {
"not": {
"enum": [
"business_type",
"action_kind",
"booking_type",
"task_card",
"candidate_decision",
"linked_action",
"derived_action"
]
}
},
"additionalProperties": {
"$ref": "#/$defs/jsonScalar"
}
},
"structuredMention": {
"type": "object",
"additionalProperties": false,
"required": [
"mention_id",
"semantic_code",
"scope",
"target_ref",
"parameters",
"evidence_refs"
],
"properties": {
"mention_id": {
"$ref": "#/$defs/nonBlank"
},
"semantic_code": {
"$ref": "#/$defs/nonBlank"
},
"scope": {
"enum": [
"MESSAGE",
"TARGET",
"MATERIAL"
]
},
"target_ref": {
"$ref": "#/$defs/nullableNonBlank"
},
"parameters": {
"$ref": "#/$defs/neutralParameters"
},
"evidence_refs": {
"$ref": "#/$defs/evidenceIdList"
}
}
},
"targetBinding": {
"type": "object",
"additionalProperties": false,
"required": [
"binding_id",
"material_ref",
"target_ref",
"binding_status",
"evidence_refs"
],
"properties": {
"binding_id": {
"$ref": "#/$defs/nonBlank"
},
"material_ref": {
"$ref": "#/$defs/nonBlank"
},
"target_ref": {
"$ref": "#/$defs/nullableNonBlank"
},
"binding_status": {
"enum": [
"BOUND",
"UNRESOLVED",
"AMBIGUOUS",
"CONFLICT"
]
},
"evidence_refs": {
"$ref": "#/$defs/evidenceIdList"
}
}
},
"neutralRelationship": {
"type": "object",
"additionalProperties": false,
"required": [
"relationship_id",
"relationship_type",
"from_target_ref",
"to_target_ref",
"evidence_refs"
],
"properties": {
"relationship_id": {
"$ref": "#/$defs/nonBlank"
},
"relationship_type": {
"enum": [
"ALLOTMENT_SOURCE_TO_ACTUAL",
"GROUP_CODE_REPLACEMENT",
"SOURCE_TO_TARGET",
"OTHER_NEUTRAL"
]
},
"from_target_ref": {
"$ref": "#/$defs/nonBlank"
},
"to_target_ref": {
"$ref": "#/$defs/nonBlank"
},
"evidence_refs": {
"$ref": "#/$defs/evidenceIdList"
}
}
},
"materialObservation": {
"type": "object",
"additionalProperties": false,
"required": [
"observation_id",
"material_ref",
"observation_kind",
"target_ref",
"attributes",
"evidence_refs"
],
"properties": {
"observation_id": {
"$ref": "#/$defs/nonBlank"
},
"material_ref": {
"$ref": "#/$defs/nonBlank"
},
"observation_kind": {
"enum": [
"POSSIBLE_GUEST_LIST_SPREADSHEET",
"IMAGE_ATTACHMENT",
"PAYMENT_RELATED_TEXT",
"RAW_ATTACHMENT",
"WORKBOOK_STRUCTURE",
"OTHER_NEUTRAL"
]
},
"target_ref": {
"$ref": "#/$defs/nullableNonBlank"
},
"attributes": {
"$ref": "#/$defs/neutralParameters"
},
"evidence_refs": {
"$ref": "#/$defs/evidenceIdList"
}
}
},
"displayInformation": {
"type": "object",
"additionalProperties": false,
"required": [
"display_id",
"scope",
"target_ref",
"source_label",
"sequence",
"evidence_refs"
],
"properties": {
"display_id": {
"$ref": "#/$defs/nonBlank"
},
"scope": {
"enum": [
"MESSAGE",
"TARGET"
]
},
"target_ref": {
"$ref": "#/$defs/nullableNonBlank"
},
"source_label": {
"$ref": "#/$defs/nonBlank"
},
"sequence": {
"type": "integer",
"minimum": 0
},
"evidence_refs": {
"$ref": "#/$defs/evidenceIdList"
}
}
},
"materialDisposition": {
"type": "object",
"additionalProperties": false,
"required": [
"material_ref",
"disposition",
"evidence_refs"
],
"properties": {
"material_ref": {
"$ref": "#/$defs/nonBlank"
},
"disposition": {
"enum": [
"FACT",
"MENTION",
"DISPLAY",
"REVIEW",
"IGNORED_AS_TEMPLATE"
]
},
"evidence_refs": {
"$ref": "#/$defs/evidenceIdList"
}
}
},
"decisionContext": {
"type": "object",
"additionalProperties": false,
"required": [
"context_scope",
"target_candidates",
"catalog_resolutions",
"order_contexts",
"direction_context",
"issues",
"evidence_refs"
],
"properties": {
"context_scope": {
"enum": [
"MESSAGE",
"TARGETS"
]
},
"target_candidates": {
"type": "array",
"items": {
"$ref": "#/$defs/targetCandidate"
}
},
"catalog_resolutions": {
"type": "array",
"items": {
"$ref": "#/$defs/catalogResolution"
}
},
"order_contexts": {
"type": "array",
"items": {
"$ref": "#/$defs/orderContextV2"
}
},
"direction_context": {
"$ref": "#/$defs/directionContext"
},
"issues": {
"type": "array",
"items": {
"$ref": "#/$defs/contractIssue"
}
},
"evidence_refs": {
"$ref": "#/$defs/evidenceIdList"
}
}
},
"targetCandidate": {
"type": "object",
"additionalProperties": false,
"required": [
"target_ref",
"resolution_status",
"group_code",
"order_candidate_ids",
"evidence_refs"
],
"properties": {
"target_ref": {
"$ref": "#/$defs/nonBlank"
},
"resolution_status": {
"enum": [
"RESOLVED",
"UNRESOLVED",
"AMBIGUOUS",
"CONFLICT"
]
},
"group_code": {
"$ref": "#/$defs/nullableNonBlank"
},
"order_candidate_ids": {
"type": "array",
"items": {
"$ref": "#/$defs/nonBlank"
},
"uniqueItems": true
},
"evidence_refs": {
"$ref": "#/$defs/evidenceIdList"
}
}
},
"catalogResolution": {
"type": "object",
"additionalProperties": false,
"required": [
"resolution_id",
"target_ref",
"resolution_kind",
"catalog_scope",
"status",
"candidate_codes",
"evidence_refs"
],
"properties": {
"resolution_id": {
"$ref": "#/$defs/nonBlank"
},
"target_ref": {
"$ref": "#/$defs/nonBlank"
},
"resolution_kind": {
"enum": [
"ROOM_TYPE",
"RATE_CODE",
"ACCOUNT",
"MARKET",
"SOURCE"
]
},
"catalog_scope": {
"enum": [
"FIT",
"GROUP",
"NOT_APPLICABLE"
]
},
"status": {
"enum": [
"ZERO_CANDIDATES",
"ONE_CANDIDATE",
"MULTIPLE_CANDIDATES",
"NOT_APPLICABLE"
]
},
"candidate_codes": {
"type": "array",
"items": {
"$ref": "#/$defs/nonBlank"
},
"uniqueItems": true
},
"evidence_refs": {
"$ref": "#/$defs/evidenceIdList"
}
}
},
"layer4ResolutionStatus": {
"enum": [
"RESOLVED",
"UNRESOLVED",
"NOT_APPLICABLE"
]
},
"roomtypeResolutionV2": {
"type": "object",
"additionalProperties": false,
"required": [
"value",
"candidates",
"status",
"reason_code",
"evidence_refs"
],
"properties": {
"value": {
"$ref": "#/$defs/nullableNonBlank"
},
"candidates": {
"type": "array",
"items": {
"$ref": "#/$defs/nonBlank"
},
"uniqueItems": true
},
"status": {
"$ref": "#/$defs/layer4ResolutionStatus"
},
"reason_code": {
"$ref": "#/$defs/nonBlank"
},
"evidence_refs": {
"$ref": "#/$defs/evidenceIdList"
}
},
"allOf": [
{
"if": {
"properties": {
"status": {
"const": "RESOLVED"
}
}
},
"then": {
"properties": {
"value": {
"$ref": "#/$defs/nonBlank"
},
"candidates": {
"minItems": 1,
"maxItems": 1
}
}
},
"else": {
"properties": {
"value": {
"type": "null"
}
}
}
}
]
},
"rateRuleSetResolutionV2": {
"type": "object",
"additionalProperties": false,
"required": [
"value",
"status",
"reason_code",
"evidence_refs"
],
"properties": {
"value": {
"type": [
"string",
"null"
],
"enum": [
"FIT",
"GROUP",
"GROUP_AND_FIT",
null
]
},
"status": {
"$ref": "#/$defs/layer4ResolutionStatus"
},
"reason_code": {
"$ref": "#/$defs/nonBlank"
},
"evidence_refs": {
"$ref": "#/$defs/evidenceIdList"
}
},
"allOf": [
{
"if": {
"properties": {
"status": {
"const": "RESOLVED"
}
}
},
"then": {
"properties": {
"value": {
"enum": [
"FIT",
"GROUP",
"GROUP_AND_FIT"
]
}
}
},
"else": {
"properties": {
"value": {
"type": "null"
}
}
}
}
]
},
"ratePackageV2": {
"type": "object",
"additionalProperties": false,
"required": [
"rate_code",
"breakfast_included",
"breakfast_restaurant_code"
],
"properties": {
"rate_code": {
"$ref": "#/$defs/nonBlank"
},
"breakfast_included": {
"type": "boolean"
},
"breakfast_restaurant_code": {
"type": [
"string",
"null"
],
"enum": [
"LEELA",
"BUALUANG",
null
]
}
},
"oneOf": [
{
"properties": {
"breakfast_included": {
"const": false
},
"breakfast_restaurant_code": {
"type": "null"
}
}
},
{
"properties": {
"breakfast_included": {
"const": true
},
"breakfast_restaurant_code": {
"enum": [
"LEELA",
"BUALUANG"
]
}
}
}
]
},
"ratePackageResolutionV2": {
"type": "object",
"additionalProperties": false,
"required": [
"value",
"candidates",
"status",
"reason_code",
"evidence_refs"
],
"properties": {
"value": {
"anyOf": [
{
"$ref": "#/$defs/ratePackageV2"
},
{
"type": "null"
}
]
},
"candidates": {
"type": "array",
"items": {
"$ref": "#/$defs/ratePackageV2"
},
"uniqueItems": true
},
"status": {
"$ref": "#/$defs/layer4ResolutionStatus"
},
"reason_code": {
"$ref": "#/$defs/nonBlank"
},
"evidence_refs": {
"$ref": "#/$defs/evidenceIdList"
}
},
"allOf": [
{
"if": {
"properties": {
"status": {
"const": "RESOLVED"
}
}
},
"then": {
"properties": {
"value": {
"$ref": "#/$defs/ratePackageV2"
},
"candidates": {
"minItems": 1,
"maxItems": 1
}
}
},
"else": {
"properties": {
"value": {
"type": "null"
}
}
}
}
]
},
"sourceRoomRateResolutionV2": {
"type": "object",
"additionalProperties": false,
"required": [
"room_item_ref",
"resolution"
],
"properties": {
"room_item_ref": {
"$ref": "#/$defs/nonBlank"
},
"resolution": {
"$ref": "#/$defs/ratePackageResolutionV2"
}
}
},
"rateOptionV2": {
"type": "object",
"additionalProperties": false,
"required": [
"applicable_booking_types",
"directory_company",
"directory_rule_set",
"source_room_rate_resolutions",
"rate_package",
"evidence_refs"
],
"properties": {
"applicable_booking_types": {
"type": "array",
"items": {
"enum": [
"FIT",
"GROUP"
]
},
"minItems": 1,
"maxItems": 2,
"uniqueItems": true
},
"directory_company": {
"$ref": "#/$defs/nonBlank"
},
"directory_rule_set": {
"enum": [
"FIT",
"GROUP",
"GROUP_AND_FIT"
]
},
"source_room_rate_resolutions": {
"type": "array",
"items": {
"$ref": "#/$defs/sourceRoomRateResolutionV2"
}
},
"rate_package": {
"$ref": "#/$defs/ratePackageResolutionV2"
},
"evidence_refs": {
"$ref": "#/$defs/evidenceIdList"
}
}
},
"sourceRoomContextV2": {
"type": "object",
"additionalProperties": false,
"required": [
"room_item_ref",
"source_room_raw",
"source_room_name",
"quantity",
"source_price_raw",
"source_price",
"source_breakfast_included",
"source_breakfast_restaurant_code",
"roomtype_resolution",
"evidence_refs"
],
"properties": {
"room_item_ref": {
"$ref": "#/$defs/nonBlank"
},
"source_room_raw": {
"$ref": "#/$defs/nullableNonBlank"
},
"source_room_name": {
"$ref": "#/$defs/nullableNonBlank"
},
"quantity": {
"type": [
"integer",
"null"
],
"minimum": 1
},
"source_price_raw": {
"$ref": "#/$defs/nullableNonBlank"
},
"source_price": {
"type": [
"number",
"null"
],
"exclusiveMinimum": 0
},
"source_breakfast_included": {
"type": [
"boolean",
"null"
]
},
"source_breakfast_restaurant_code": {
"$ref": "#/$defs/nullableNonBlank"
},
"roomtype_resolution": {
"$ref": "#/$defs/roomtypeResolutionV2"
},
"evidence_refs": {
"$ref": "#/$defs/evidenceIdList"
}
}
},
"sourceStayUnitContextV2": {
"type": "object",
"additionalProperties": false,
"required": [
"source_unit_ref",
"stay_segments",
"evidence_refs"
],
"properties": {
"source_unit_ref": {
"$ref": "#/$defs/nonBlank"
},
"stay_segments": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/$defs/sourceStaySegmentContextV3"
}
},
"evidence_refs": {
"$ref": "#/$defs/evidenceIdList"
}
}
},
"catalogAuditV2": {
"type": "object",
"additionalProperties": false,
"required": [
"directory_version",
"effective_mapping_version",
"directory_manifest_sha256",
"effective_mapping_manifest_sha256",
"roomtype_projection_sha256",
"rate_projection_sha256"
],
"properties": {
"directory_version": {
"$ref": "#/$defs/nonBlank"
},
"effective_mapping_version": {
"$ref": "#/$defs/nonBlank"
},
"directory_manifest_sha256": {
"$ref": "#/$defs/sha256"
},
"effective_mapping_manifest_sha256": {
"$ref": "#/$defs/sha256"
},
"roomtype_projection_sha256": {
"$ref": "#/$defs/sha256"
},
"rate_projection_sha256": {
"$ref": "#/$defs/sha256"
}
}
},
"orderContextV2": {
"type": "object",
"additionalProperties": false,
"required": [
"order_scope_ref",
"group_code",
"source_profile_code",
"source_units",
"rate_options",
"catalog_audit",
"evidence_refs"
],
"properties": {
"order_scope_ref": {
"$ref": "#/$defs/nonBlank"
},
"group_code": {
"$ref": "#/$defs/nullableNonBlank"
},
"source_profile_code": {
"enum": [
"QBD",
"LIANTAI"
]
},
"source_units": {
"type": "array",
"items": {
"$ref": "#/$defs/sourceStayUnitContextV2"
}
},
"rate_options": {
"type": "array",
"items": {
"$ref": "#/$defs/rateOptionV2"
},
"minItems": 1,
"maxItems": 2
},
"catalog_audit": {
"$ref": "#/$defs/catalogAuditV2"
},
"evidence_refs": {
"$ref": "#/$defs/evidenceIdList"
}
}
},
"directionContext": {
"type": "object",
"additionalProperties": false,
"required": [
"source_direction",
"confidence",
"evidence_refs"
],
"properties": {
"source_direction": {
"enum": [
"INBOUND",
"OUTBOUND",
"INTERNAL",
"UNKNOWN"
]
},
"confidence": {
"enum": [
"EXACT",
"UNRESOLVED",
"CONFLICT"
]
},
"evidence_refs": {
"$ref": "#/$defs/evidenceIdList"
}
}
},
"roomingListResolutionV2": {
"type": "object",
"additionalProperties": false,
"required": [
"material_ref",
"attachment_id",
"current_excel",
"rooming_list_label",
"tour_code",
"tour_code_candidates",
"target_status",
"reason_code",
"evidence_refs"
],
"properties": {
"material_ref": {
"$ref": "#/$defs/nonBlank"
},
"attachment_id": {
"$ref": "#/$defs/nonBlank"
},
"current_excel": {
"type": "boolean"
},
"rooming_list_label": {
"type": "boolean"
},
"tour_code": {
"$ref": "#/$defs/nullableNonBlank"
},
"tour_code_candidates": {
"type": "array",
"items": {
"$ref": "#/$defs/nonBlank"
},
"uniqueItems": true
},
"target_status": {
"$ref": "#/$defs/layer4ResolutionStatus"
},
"reason_code": {
"$ref": "#/$defs/nonBlank"
},
"evidence_refs": {
"$ref": "#/$defs/evidenceIdList"
}
}
},
"contractIssue": {
"type": "object",
"additionalProperties": false,
"required": [
"issue_id",
"code",
"severity",
"scope",
"target_ref",
"message_key",
"evidence_refs"
],
"properties": {
"issue_id": {
"$ref": "#/$defs/nonBlank"
},
"code": {
"$ref": "#/$defs/nonBlank"
},
"severity": {
"enum": [
"INFO",
"WARNING",
"ERROR",
"BLOCKER"
]
},
"scope": {
"enum": [
"MESSAGE",
"MATERIAL",
"TARGET",
"FIELD",
"RELATIONSHIP"
]
},
"target_ref": {
"$ref": "#/$defs/nullableNonBlank"
},
"message_key": {
"$ref": "#/$defs/nonBlank"
},
"evidence_refs": {
"$ref": "#/$defs/evidenceIdList"
},
"retryable": {
"type": "boolean"
}
}
},
"sourceStaySegmentContextV3": {
"type": "object",
"additionalProperties": false,
"required": [
"segment_ref",
"arrival_date",
"departure_date",
"source_rooms",
"evidence_refs"
],
"properties": {
"segment_ref": {
"$ref": "#/$defs/nonBlank"
},
"arrival_date": {
"$ref": "#/$defs/nullableNonBlank"
},
"departure_date": {
"$ref": "#/$defs/nullableNonBlank"
},
"source_rooms": {
"type": "array",
"items": {
"$ref": "#/$defs/sourceRoomContextV2"
}
},
"evidence_refs": {
"$ref": "#/$defs/evidenceIdList"
}
}
}
}
}