Files
bxh/schema搭建/travel_agency_business/travel_agency_itinerary_planning_schema.json

498 lines
13 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"namespace": "travel_agency_itinerary_planning",
"version": "0.3",
"display_name": "旅行社行程规划知识图谱 Schema",
"purpose": "支持客服基于游客动态需求,快速从产品、景点、酒店、餐厅、交通、报价、规则和话术中组合行程单。",
"entity_types": {
"TravelDemand": {
"cn": "游客动态需求",
"purpose": "承接客服从自然语言里识别出的出行意向,是后续自动组合行程的输入对象。",
"fields": [
"demand_id",
"lead_source",
"travel_month",
"start_date",
"duration_days",
"party_size",
"adult_count",
"child_count",
"senior_count",
"hotel_preference",
"vehicle_preference",
"budget_level",
"must_visit",
"avoid_notes",
"special_care",
"demand_summary"
]
},
"ItineraryPlan": {
"cn": "推荐行程方案",
"purpose": "由图谱中的产品、报价、酒店、餐厅、交通组合出的可交付行程方案。",
"fields": [
"plan_id",
"plan_name",
"duration_days",
"fit_score",
"budget_estimate",
"route_summary",
"quote_summary",
"risk_notes",
"answer_hint"
]
},
"TourProduct": {
"cn": "旅游产品",
"purpose": "旅行社已经沉淀的线路产品,是行程组合的主要模块。",
"fields": [
"product_id",
"name",
"product_family",
"product_type",
"duration_days",
"group_mode",
"capacity_min",
"capacity_max",
"vehicle_layout",
"hotel_grade",
"meal_standard",
"service_promise",
"selling_points",
"included_summary",
"excluded_summary",
"optional_items",
"fee_summary",
"booking_notes",
"risk_notes",
"season_tags",
"source_files"
]
},
"TourVariant": {
"cn": "产品报价变体",
"purpose": "同一产品在不同团期、房型、人数和车型下的报价。",
"fields": [
"variant_id",
"variant_name",
"season",
"date_range",
"group_size_band",
"room_type",
"hotel_grade",
"vehicle_type",
"adult_price",
"child_price",
"single_room_supplement",
"inner_transport_fee",
"refund_policy",
"source_file"
]
},
"ItineraryDay": {
"cn": "每日行程",
"purpose": "拆解产品每天游览、交通、用餐、住宿,便于后续按需求重排。",
"fields": [
"day_id",
"day_index",
"title",
"route_path",
"route_summary",
"transport_summary",
"meals",
"accommodation",
"time_arrangement",
"tips",
"source_file"
]
},
"ScenicAttraction": {
"cn": "旅游景点",
"purpose": "客户需求和线路推荐最常见的锚点。",
"fields": [
"attraction_id",
"name",
"aliases",
"city",
"attraction_type",
"selling_points",
"ticket_policy",
"inner_transport_fee",
"walking_profile",
"visit_duration_hint"
]
},
"HotelResource": {
"cn": "酒店资源",
"purpose": "客服按酒店等级、区域、产品适用性组合住宿。",
"fields": [
"hotel_id",
"name",
"hotel_grade",
"region",
"address",
"features",
"off_season_price_text",
"peak_season_price_text",
"applicable_products",
"contact_name"
]
},
"RestaurantResource": {
"cn": "餐厅资源",
"purpose": "客服按区域、餐标、特色餐给行程补餐饮方案。",
"fields": [
"restaurant_id",
"name",
"region",
"address",
"per_capita_price_text",
"signature_dishes",
"meal_scene",
"contact_name"
]
},
"VehicleService": {
"cn": "车辆服务",
"purpose": "小团、接送、独立成团的交通能力。",
"fields": [
"vehicle_service_id",
"vehicle_type",
"seat_count",
"comfort_level",
"seat_layout",
"service_scope",
"notes"
]
},
"TransferQuote": {
"cn": "接送报价",
"purpose": "补充到达/离开日接送预算。",
"fields": [
"transfer_quote_id",
"origin_text",
"destination_text",
"vehicle_type",
"price_per_trip",
"quote_unit",
"quote_notes"
]
},
"DayVisit": {
"cn": "每日景点游览安排",
"purpose": "把某一天去哪个景点、游览多久、是否真实行程点、步行/排队风险和费用证据拆开,避免把自费说明误当成路线。",
"fields": [
"visit_id",
"day_index",
"visit_order",
"attraction_name",
"duration_text",
"evidence_text",
"fee_notes",
"walking_notes",
"walk_intensity",
"risk_notes",
"included_flag",
"source_file"
]
},
"MealArrangement": {
"cn": "每日用餐安排",
"purpose": "记录每天早中晚是否包含、餐标、特色餐和自理说明,避免 6 天行程只显示两家餐厅造成误解。",
"fields": [
"meal_id",
"day_index",
"breakfast",
"lunch",
"dinner",
"meal_text",
"meal_standard",
"special_meal",
"self_pay_notes",
"source_file"
]
},
"AccommodationOption": {
"cn": "住宿组选项",
"purpose": "承载产品中的住宿城市、等级、参考酒店组和同级替换规则;和酒店资源库中的单体酒店可以继续关联。",
"fields": [
"accommodation_id",
"city_or_area",
"hotel_grade",
"option_type",
"reference_hotels",
"stay_nights",
"notes",
"source_file"
]
},
"TransportSegment": {
"cn": "行程交通段",
"purpose": "记录每天从哪到哪、用什么车、车程和调度提醒,支持后续核算车费和判断赶路强度。",
"fields": [
"segment_id",
"day_index",
"origin_text",
"destination_text",
"vehicle_type",
"duration_text",
"distance_text",
"dispatch_notes",
"source_file"
]
},
"FeeItem": {
"cn": "费用项目",
"purpose": "把门票、小交通、保险、扶梯、餐标、赔付、退改损失等费用拆成可追溯证据。",
"fields": [
"fee_item_id",
"fee_type",
"item_name",
"amount_text",
"amount_value",
"unit",
"inclusion_status",
"applies_to",
"rule_text",
"source_file"
]
},
"GiftService": {
"cn": "赠送/包含服务",
"purpose": "记录长桌宴、旅拍券、矿泉水、打糍粑等赠送或服务承诺,并保留未使用不退等规则。",
"fields": [
"service_id",
"service_type",
"name",
"value_text",
"usage_rule",
"refundable",
"source_file"
]
},
"PolicyRule": {
"cn": "业务规则",
"purpose": "限制、退费、风险和合规提醒。",
"fields": [
"rule_id",
"rule_type",
"applies_to",
"rule_text",
"evidence_text",
"severity",
"source_file"
]
},
"SalesScript": {
"cn": "销售话术",
"purpose": "客服回复、追单、留资和解释费用包含。",
"fields": [
"script_id",
"channel",
"funnel_stage",
"trigger_scenario",
"message_template",
"intent_tags",
"required_customer_fields"
]
},
"Area": {
"cn": "区域",
"purpose": "连接酒店、餐厅、接送报价和景点。",
"fields": [
"area_id",
"name",
"area_type"
]
},
"SalesChannel": {
"cn": "销售渠道",
"purpose": "小红书、微信等线索来源。",
"fields": [
"channel_id",
"name",
"channel_type"
]
}
},
"relation_types": {
"HAS_DEMAND": [
"CustomerLead|SalesChannel",
"TravelDemand",
"线索产生游客需求"
],
"WANTS_TO_VISIT": [
"TravelDemand",
"ScenicAttraction",
"需求指定想去景点"
],
"PREFERS_HOTEL": [
"TravelDemand",
"HotelResource",
"需求偏好酒店资源或等级"
],
"PREFERS_VEHICLE": [
"TravelDemand",
"VehicleService",
"需求偏好车型"
],
"GENERATES_PLAN": [
"TravelDemand",
"ItineraryPlan",
"需求生成推荐方案"
],
"SATISFIES_DEMAND": [
"ItineraryPlan",
"TravelDemand",
"方案满足需求"
],
"PLAN_USES_PRODUCT": [
"ItineraryPlan",
"TourProduct",
"方案使用已有产品"
],
"PLAN_USES_VARIANT": [
"ItineraryPlan",
"TourVariant",
"方案使用报价变体"
],
"PLAN_HAS_DAY": [
"ItineraryPlan",
"ItineraryDay",
"方案包含每日行程"
],
"PLAN_STAYS_AT": [
"ItineraryPlan",
"HotelResource",
"方案建议入住酒店"
],
"PLAN_MEALS_AT": [
"ItineraryPlan",
"RestaurantResource",
"方案建议餐厅"
],
"PLAN_USES_VEHICLE": [
"ItineraryPlan",
"VehicleService",
"方案建议车辆"
],
"HAS_VARIANT": [
"TourProduct",
"TourVariant",
"产品拥有报价变体"
],
"HAS_DAY": [
"TourProduct",
"ItineraryDay",
"产品包含每日行程"
],
"VISITS": [
"TourProduct|ItineraryDay",
"ScenicAttraction",
"游览景点"
],
"DAY_HAS_VISIT": [
"ItineraryDay",
"DayVisit",
"每日行程包含具体游览安排"
],
"VISIT_AT_ATTRACTION": [
"DayVisit",
"ScenicAttraction",
"游览安排对应景点"
],
"DAY_HAS_MEAL": [
"ItineraryDay",
"MealArrangement",
"每日行程包含用餐安排"
],
"DAY_HAS_ACCOMMODATION": [
"ItineraryDay",
"AccommodationOption",
"每日行程包含住宿安排"
],
"DAY_USES_TRANSPORT": [
"ItineraryDay",
"TransportSegment",
"每日行程包含交通段"
],
"PRODUCT_HAS_ACCOMMODATION_OPTION": [
"TourProduct",
"AccommodationOption",
"产品可用住宿组选项"
],
"PRODUCT_HAS_FEE": [
"TourProduct|ItineraryDay|DayVisit",
"FeeItem",
"产品或每日行程涉及费用项目"
],
"DAY_HAS_FEE": [
"ItineraryDay|DayVisit",
"FeeItem",
"每日行程涉及费用项目"
],
"PRODUCT_INCLUDES_SERVICE": [
"TourProduct",
"GiftService",
"产品包含或赠送服务"
],
"STAYS_AT": [
"ItineraryDay",
"HotelResource",
"每日行程入住酒店"
],
"MEALS_AT": [
"ItineraryDay",
"RestaurantResource",
"每日行程用餐"
],
"USES_VEHICLE": [
"TourProduct|TourVariant|TransferQuote",
"VehicleService",
"使用车辆"
],
"CAN_UPGRADE_TO": [
"VehicleService",
"VehicleService",
"车辆可升级"
],
"HAS_POLICY": [
"TourProduct|TourVariant|TravelDemand",
"PolicyRule",
"适用规则"
],
"HAS_SCRIPT": [
"TourProduct|TravelDemand",
"SalesScript",
"适用话术"
],
"FROM_SOURCE": [
"TravelDemand|SalesScript",
"SalesChannel",
"来自渠道"
],
"LOCATED_IN": [
"ScenicAttraction|HotelResource|RestaurantResource",
"Area",
"位于区域"
],
"FROM_AREA": [
"TransferQuote",
"Area",
"接送出发区域"
],
"TO_AREA": [
"TransferQuote",
"Area",
"接送到达区域"
]
},
"quality_rules": [
"报价、人数、日期、景区小交通、自费项必须进入属性,不升级成无证据关系。",
"产品 VISITS 只允许来自简易行程/详细行程的真实游览日程;费用、自理、政策段落中出现的景点只能进入 FeeItem 或 PolicyRule。",
"每日行程必须尽量拆出 DayVisit、MealArrangement、AccommodationOption、TransportSegment 和 FeeItem以便客服解释住哪、吃什么、怎么走、费用看哪里。",
"产品与推荐方案分离TourProduct 保存已有资料库ItineraryPlan 保存按用户需求组合后的方案。",
"TravelDemand 是后期自然语言客资抽取的核心输入,必须连接 must_visit、vehicle/hotel preference 和生成方案。",
"同一产品不同房型、团期、车型必须拆成 TourVariant避免报价覆盖。",
"城市图谱与旅行社图谱使用不同 project_id 和 graph_name不共享默认查询上下文。"
]
}