接入M002V4订单任务多卡前端

This commit is contained in:
andy
2026-07-19 13:48:07 +07:00
parent 13364e7edf
commit cae169cefd
19 changed files with 4084 additions and 343 deletions

View File

@@ -147,6 +147,228 @@ export interface ReservationTaskListResult {
page: ReservationPageResult
}
export type ReservationV4WorkbenchItemType = 'ORDER_TASK' | 'SOURCE_NOTIFICATION'
export type ReservationV4OrderTaskStatus = 'OPEN' | 'COMPLETED'
export type ReservationV4CardStatus =
| 'READONLY'
| 'PENDING_CONFIRM'
| 'REVIEW_REQUIRED'
| 'CONFIRMED'
| 'ACK_REQUIRED'
| 'ACKED'
export type ReservationV4CardType =
| 'SOURCE_MESSAGE_DISPLAY'
| 'SOURCE_MESSAGE_NOTIFICATION'
| 'BASIC_INFORMATION'
| 'ROOM_INFORMATION'
| 'TRACE_RESERVATION_NOTES'
| 'ROOMING_LIST'
| 'PAYMENT'
| string
export interface ReservationV4WorkbenchFilters {
hotel_id?: string
item_type?: ReservationV4WorkbenchItemType | ''
keyword?: string
page_num?: number
page_size?: number
}
export interface ReservationV4OrderTaskListFilters {
hotel_id?: string
order_id?: string
order_task_status?: ReservationV4OrderTaskStatus | ''
card_status?: ReservationV4CardStatus | ''
keyword?: string
page_num?: number
page_size?: number
}
export interface ReservationV4SourceMessageSummary {
source_message_id: string
hotel_id: string
external_message_id: string | null
external_conversation_id: string | null
subject: string | null
sender_summary: string | null
received_at: string | null
source_sent_at: string | null
conversation_message_count: number | null
}
export interface ReservationV4CardCounts {
total_count: number
readonly_count: number
pending_confirm_count: number
review_required_count: number
confirmed_count: number
}
export interface ReservationV4ActionAvailability {
blocked: boolean
read_only: boolean
editable: boolean
confirmable: boolean
reviewable: boolean
ackable: boolean
readonly_reason_code: string | null
readonly_reason_message?: string | null
blocked_by_order_task_id: string | null
blocked_by_card_id: string | null
blocked_reason: string | null
}
export interface ReservationV4WorkbenchItem {
item_type: ReservationV4WorkbenchItemType | string
target_id: string
hotel_id: string
source_message_id: string | null
source_message_summary: ReservationV4SourceMessageSummary | null
source_received_at: string | null
display_order_key: string | null
card_counts: ReservationV4CardCounts | null
next_action_card_id: string | null
notification_status: ReservationV4CardStatus | string | null
order_task_status: ReservationV4OrderTaskStatus | string | null
display_status: string | null
readonly_reason_code: string | null
created_at: string | null
updated_at: string | null
}
export interface ReservationV4WorkbenchListResult {
items: ReservationV4WorkbenchItem[]
page: ReservationPageResult
}
export interface ReservationV4OrderTaskSummary {
order_task_id: string
hotel_id: string
source_message_id: string
ai_batch_id: string
order_ref: string | null
order_context_index: number | null
order_id: string | null
target_booking_type: string | null
target_locator_type: string | null
target_locator_value: string | null
target_resolution_status: string | null
order_task_status: ReservationV4OrderTaskStatus | string
display_order_key: string | null
source_received_at: string | null
version: number
created_at: string | null
updated_at: string | null
}
export interface ReservationV4OrderTaskListItem {
order_task: ReservationV4OrderTaskSummary
source_message_summary: ReservationV4SourceMessageSummary | null
card_counts: ReservationV4CardCounts
next_action_card_id: string | null
display_status: string | null
availability: ReservationV4ActionAvailability
}
export interface ReservationV4OrderTaskListResult {
items: ReservationV4OrderTaskListItem[]
page: ReservationPageResult
}
export interface ReservationV4TaskCardFieldResult {
field_path: string
field_pointer: string
display_name: string
value: unknown
editable: boolean | null
required: boolean | null
control_type: string | null
edit_scope: string | null
write_target: string | null
options_source: string | null
raw_readonly: boolean | null
validation_errors: string[]
control_hint: string | null
}
export interface ReservationV4TaskCardResult {
card_id: string
card_type: ReservationV4CardType
event_type: string | null
source_event_index: number | null
card_sort_order: number | null
card_status: ReservationV4CardStatus | string
review_status: string | null
display_payload: ReservationRecord | null
confirmed_payload: ReservationRecord | null
review_resolution: ReservationRecord | null
validation_errors: unknown
fields: ReservationV4TaskCardFieldResult[]
confirmed_by: string | null
confirmed_at: string | null
version: number
created_at: string | null
updated_at: string | null
availability: ReservationV4ActionAvailability
}
export interface ReservationV4OrderTaskDetailResult {
order_task: ReservationV4OrderTaskSummary
source_message_summary: ReservationV4SourceMessageSummary | null
bound_order: ReservationOrderSummaryResult | null
source_message_card: ReservationV4TaskCardResult | null
basic_information_card: ReservationV4TaskCardResult | null
business_cards: ReservationV4TaskCardResult[]
card_counts: ReservationV4CardCounts
adapter_contract_errors: ReservationAiTransitionDisplayResult[]
availability: ReservationV4ActionAvailability
}
export interface ReservationV4SourceNotificationSummary {
notification_id: string
hotel_id: string
source_message_id: string
ai_batch_id: string
ai_transition_id: string | null
route_code: string
notification_status: ReservationV4CardStatus | string
source_received_at: string | null
ack_by: string | null
ack_at: string | null
version: number
created_at: string | null
updated_at: string | null
}
export interface ReservationV4SourceNotificationDetailResult {
notification: ReservationV4SourceNotificationSummary
source_message_card: ReservationV4TaskCardResult | null
conversation_summary: ReservationV4SourceMessageSummary | null
availability: ReservationV4ActionAvailability
}
export interface ReservationV4CardConfirmRequest {
version: number
confirmed_payload?: ReservationRecord
}
export interface ReservationV4ReviewFieldOverrideRequest {
field_pointer: string
value: unknown
}
export interface ReservationV4ReviewResolutionRequest {
version: number
field_overrides: ReservationV4ReviewFieldOverrideRequest[]
reason?: string
confirmed_order_id?: string
}
export interface ReservationV4SourceNotificationAckRequest {
version: number
reason?: string
}
export interface ReservationOrderSummaryResult {
order_id: string
hotel_id: string