152 lines
15 KiB
Markdown
152 lines
15 KiB
Markdown
# 独立团下单字段 Schema
|
|
|
|
Source: `https://ltjt.yunzhi.run/system/Business/orders_add.asp?fabudanwei=%E8%80%81%E6%8C%9D%E8%81%94%E6%B3%B0©=0&ddid=0&_=1783414396384`
|
|
Title: `计划下单/修改`
|
|
|
|
## Submit Contract
|
|
- Form: `ListForm`
|
|
- Action: `https://ltjt.yunzhi.run/System/DAT/orders.asp?Act=DoInfoJH`
|
|
- Save endpoint: `/System/DAT/orders.asp`
|
|
- Save action: `DoInfoJH`
|
|
- Payload: `Act=DoInfoJH& + #ListForm.serialize()`
|
|
- Response type: `script`
|
|
|
|
## Counts
|
|
- Total controls: 825
|
|
- basic: 18
|
|
- description: 262
|
|
- receivable: 168
|
|
- other: 12
|
|
- system: 9
|
|
- itinerary: 325
|
|
- transport: 31
|
|
|
|
## Required Fields
|
|
| Field | Section | Type | Label | Pattern |
|
|
|---|---|---|---|---|
|
|
| `chufa_ri` | basic | text | 出发日期 | |
|
|
| `zhuanxianming` | basic | text | 专线名称 | |
|
|
| `TianShu` | description | text | 行程天数 | |
|
|
| `zutuanshe` | basic | text | 预订客户 | |
|
|
| `chanpinming` | basic | text | 产品名称 | |
|
|
| `gendanren` | basic | text | 跟单人 | |
|
|
| `tuanxuhao1` | basic | text | 团号 | `order_number_parts[1..2].tuanxuhao` |
|
|
| `tuanxuhao2` | basic | text | 团号 | `order_number_parts[1..2].tuanxuhao` |
|
|
| `darenshu` | basic | text | 成人数 | |
|
|
| `xiaorenshu` | basic | text | 小(占) | |
|
|
| `ertrenshu` | basic | text | 小(不占) | |
|
|
| `yingrenshu` | basic | text | 婴儿 | |
|
|
| `quanrenshu` | basic | text | 领队 | |
|
|
| `xiaoshouren` | basic | text | 销售人 | |
|
|
|
|
## Field Groups
|
|
| Group | Section | Count | Type | Required | Examples |
|
|
|---|---|---:|---|---|---|
|
|
| `baojia` | basic | 1 | hidden | | `baojia` |
|
|
| `bizhong` | basic | 1 | hidden | | `bizhong` |
|
|
| `chanpinming` | basic | 1 | text | yes | `chanpinming` |
|
|
| `chufa_ri` | basic | 1 | text | yes | `chufa_ri` |
|
|
| `darenshu` | basic | 1 | text | yes | `darenshu` |
|
|
| `ertrenshu` | basic | 1 | text | yes | `ertrenshu` |
|
|
| `gendanren` | basic | 1 | text | yes | `gendanren` |
|
|
| `lianxiren` | basic | 1 | text | | `lianxiren` |
|
|
| `order_number_parts[1..2].tuanxuhao` | basic | 2 | text | yes | `tuanxuhao1`, `tuanxuhao2` |
|
|
| `quanrenshu` | basic | 1 | text | yes | `quanrenshu` |
|
|
| `xiaorenshu` | basic | 1 | text | yes | `xiaorenshu` |
|
|
| `xiaoshouren` | basic | 1 | text | yes | `xiaoshouren` |
|
|
| `yingrenshu` | basic | 1 | text | yes | `yingrenshu` |
|
|
| `zhuanxianming` | basic | 1 | text | yes | `zhuanxianming` |
|
|
| `zutuanshe` | basic | 1 | text | yes | `zutuanshe` |
|
|
| `zutuanshegzr` | basic | 1 | hidden | | `zutuanshegzr` |
|
|
| `zutuansheid` | basic | 1 | hidden | | `zutuansheid` |
|
|
| `description_blocks[0..5].shuoming` | description | 6 | textarea | | `shuoming0`, `shuoming1`, `shuoming2`, `shuoming3`, `shuoming4`, `shuoming5` |
|
|
| `description_text_groups[0..2][0..5].Text` | description | 18 | text | | `Text0_0`, `Text0_1`, `Text0_2`, `Text0_3`, `Text0_4`, `Text0_5`, `Text1_0`, `Text1_1`, `Text1_2`, `Text1_3`, `Text1_4`, `Text1_5`, `Text2_0`, `Text2_1`, `Text2_2`, `Text2_3`, `Text2_4`, `Text2_5` |
|
|
| `itinerary_days[1..15].wan` | description | 15 | text | | `wan1`, `wan2`, `wan3`, `wan4`, `wan5`, `wan6`, `wan7`, `wan8`, `wan9`, `wan10`, `wan11`, `wan12`, `wan13`, `wan14`, `wan15` |
|
|
| `itinerary_days[1..15].wans` | description | 15 | text | | `wans1`, `wans2`, `wans3`, `wans4`, `wans5`, `wans6`, `wans7`, `wans8`, `wans9`, `wans10`, `wans11`, `wans12`, `wans13`, `wans14`, `wans15` |
|
|
| `itinerary_days[1..15].wanss` | description | 15 | text | | `wanss1`, `wanss2`, `wanss3`, `wanss4`, `wanss5`, `wanss6`, `wanss7`, `wanss8`, `wanss9`, `wanss10`, `wanss11`, `wanss12`, `wanss13`, `wanss14`, `wanss15` |
|
|
| `itinerary_days[1..15].wansss` | description | 15 | text | | `wansss1`, `wansss2`, `wansss3`, `wansss4`, `wansss5`, `wansss6`, `wansss7`, `wansss8`, `wansss9`, `wansss10`, `wansss11`, `wansss12`, `wansss13`, `wansss14`, `wansss15` |
|
|
| `itinerary_days[1..15].xingcheng` | description | 15 | text | | `xingcheng1`, `xingcheng2`, `xingcheng3`, `xingcheng4`, `xingcheng5`, `xingcheng6`, `xingcheng7`, `xingcheng8`, `xingcheng9`, `xingcheng10`, `xingcheng11`, `xingcheng12`, `xingcheng13`, `xingcheng14`, `xingcheng15` |
|
|
| `itinerary_days[1..15].zao` | description | 15 | text | | `zao1`, `zao2`, `zao3`, `zao4`, `zao5`, `zao6`, `zao7`, `zao8`, `zao9`, `zao10`, `zao11`, `zao12`, `zao13`, `zao14`, `zao15` |
|
|
| `itinerary_days[1..15].zaos` | description | 15 | text | | `zaos1`, `zaos2`, `zaos3`, `zaos4`, `zaos5`, `zaos6`, `zaos7`, `zaos8`, `zaos9`, `zaos10`, `zaos11`, `zaos12`, `zaos13`, `zaos14`, `zaos15` |
|
|
| `itinerary_days[1..15].zaoss` | description | 15 | text | | `zaoss1`, `zaoss2`, `zaoss3`, `zaoss4`, `zaoss5`, `zaoss6`, `zaoss7`, `zaoss8`, `zaoss9`, `zaoss10`, `zaoss11`, `zaoss12`, `zaoss13`, `zaoss14`, `zaoss15` |
|
|
| `itinerary_days[1..15].zaosss` | description | 15 | text | | `zaosss1`, `zaosss2`, `zaosss3`, `zaosss4`, `zaosss5`, `zaosss6`, `zaosss7`, `zaosss8`, `zaosss9`, `zaosss10`, `zaosss11`, `zaosss12`, `zaosss13`, `zaosss14`, `zaosss15` |
|
|
| `itinerary_days[1..15].zhong` | description | 15 | text | | `zhong1`, `zhong2`, `zhong3`, `zhong4`, `zhong5`, `zhong6`, `zhong7`, `zhong8`, `zhong9`, `zhong10`, `zhong11`, `zhong12`, `zhong13`, `zhong14`, `zhong15` |
|
|
| `itinerary_days[1..15].zhongs` | description | 15 | text | | `zhongs1`, `zhongs2`, `zhongs3`, `zhongs4`, `zhongs5`, `zhongs6`, `zhongs7`, `zhongs8`, `zhongs9`, `zhongs10`, `zhongs11`, `zhongs12`, `zhongs13`, `zhongs14`, `zhongs15` |
|
|
| `itinerary_days[1..15].zhongss` | description | 15 | text | | `zhongss1`, `zhongss2`, `zhongss3`, `zhongss4`, `zhongss5`, `zhongss6`, `zhongss7`, `zhongss8`, `zhongss9`, `zhongss10`, `zhongss11`, `zhongss12`, `zhongss13`, `zhongss14`, `zhongss15` |
|
|
| `itinerary_days[1..15].zhongsss` | description | 15 | text | | `zhongsss1`, `zhongsss2`, `zhongsss3`, `zhongsss4`, `zhongsss5`, `zhongsss6`, `zhongsss7`, `zhongsss8`, `zhongsss9`, `zhongsss10`, `zhongsss11`, `zhongsss12`, `zhongsss13`, `zhongsss14`, `zhongsss15` |
|
|
| `itinerary_days[1..15].zhusu` | description | 15 | text | | `zhusu1`, `zhusu2`, `zhusu3`, `zhusu4`, `zhusu5`, `zhusu6`, `zhusu7`, `zhusu8`, `zhusu9`, `zhusu10`, `zhusu11`, `zhusu12`, `zhusu13`, `zhusu14`, `zhusu15` |
|
|
| `itinerary_days[1..15].zhusus` | description | 15 | text | | `zhusus1`, `zhusus2`, `zhusus3`, `zhusus4`, `zhusus5`, `zhusus6`, `zhusus7`, `zhusus8`, `zhusus9`, `zhusus10`, `zhusus11`, `zhusus12`, `zhusus13`, `zhusus14`, `zhusus15` |
|
|
| `itinerary_days[1..15].zhususs` | description | 15 | text | | `zhususs1`, `zhususs2`, `zhususs3`, `zhususs4`, `zhususs5`, `zhususs6`, `zhususs7`, `zhususs8`, `zhususs9`, `zhususs10`, `zhususs11`, `zhususs12`, `zhususs13`, `zhususs14`, `zhususs15` |
|
|
| `oldxingcheng` | description | 1 | hidden | | `oldxingcheng` |
|
|
| `oldxingchengzd` | description | 1 | hidden | | `oldxingchengzd` |
|
|
| `sj_dianhua` | description | 1 | text | | `sj_dianhua` |
|
|
| `sj_didian` | description | 1 | text | | `sj_didian` |
|
|
| `sj_lianxiren` | description | 1 | text | | `sj_lianxiren` |
|
|
| `TianShu` | description | 1 | text | yes | `TianShu` |
|
|
| `xiadanbeizhu` | description | 1 | text | | `xiadanbeizhu` |
|
|
| `itinerary_days[1..15].attractions[4..10].jingdian` | itinerary | 105 | text | | `jingdian1_4`, `jingdian1_5`, `jingdian1_6`, `jingdian1_7`, `jingdian1_8`, `jingdian1_9`, `jingdian1_10`, `jingdian2_4`, `jingdian2_5`, `jingdian2_6`, `jingdian2_7`, `jingdian2_8`, `jingdian2_9`, `jingdian2_10`, `jingdian3_4`, `jingdian3_5`, `jingdian3_6`, `jingdian3_7`, `jingdian3_8`, `jingdian3_9` |
|
|
| `itinerary_days[1..15].attractions[4..10].jingdians` | itinerary | 105 | text | | `jingdians1_4`, `jingdians1_5`, `jingdians1_6`, `jingdians1_7`, `jingdians1_8`, `jingdians1_9`, `jingdians1_10`, `jingdians2_4`, `jingdians2_5`, `jingdians2_6`, `jingdians2_7`, `jingdians2_8`, `jingdians2_9`, `jingdians2_10`, `jingdians3_4`, `jingdians3_5`, `jingdians3_6`, `jingdians3_7`, `jingdians3_8`, `jingdians3_9` |
|
|
| `itinerary_days[1..15].attractions[4..10].jingdianss` | itinerary | 105 | text | | `jingdianss1_4`, `jingdianss1_5`, `jingdianss1_6`, `jingdianss1_7`, `jingdianss1_8`, `jingdianss1_9`, `jingdianss1_10`, `jingdianss2_4`, `jingdianss2_5`, `jingdianss2_6`, `jingdianss2_7`, `jingdianss2_8`, `jingdianss2_9`, `jingdianss2_10`, `jingdianss3_4`, `jingdianss3_5`, `jingdianss3_6`, `jingdianss3_7`, `jingdianss3_8`, `jingdianss3_9` |
|
|
| `zhusuanpai` | itinerary | 1 | hidden | | `zhusuanpai` |
|
|
| `danzhuangtai` | other | 3 | radio | | `danzhuangtai`, `danzhuangtai`, `danzhuangtai` |
|
|
| `daoyoujiesuan` | other | 1 | hidden | | `daoyoujiesuan` |
|
|
| `keyuandi` | other | 1 | text | | `keyuandi` |
|
|
| `SubmitButton` | other | 1 | button | | `SubmitButton` |
|
|
| `yaobeian` | other | 1 | checkbox | | `yaobeian` |
|
|
| `yingfu_can` | other | 1 | hidden | | `yingfu_can` |
|
|
| `yingfu_jing` | other | 1 | hidden | | `yingfu_jing` |
|
|
| `youkexinxis` | other | 1 | textarea | | `youkexinxis` |
|
|
| `youyingshoukuan` | other | 1 | hidden | | `youyingshoukuan` |
|
|
| `ysys_` | other | 1 | hidden | | `ysys_` |
|
|
| `passenger_breakdown[0..6].frenshu` | receivable | 7 | text | | `frenshu0`, `frenshu1`, `frenshu2`, `frenshu3`, `frenshu4`, `frenshu5`, `frenshu6` |
|
|
| `receivable_rows[0..9].ys_beizhu` | receivable | 10 | text | | `ys_beizhu0`, `ys_beizhu1`, `ys_beizhu2`, `ys_beizhu3`, `ys_beizhu4`, `ys_beizhu5`, `ys_beizhu6`, `ys_beizhu7`, `ys_beizhu8`, `ys_beizhu9` |
|
|
| `receivable_rows[0..9].ys_bizhong` | receivable | 10 | text | | `ys_bizhong0`, `ys_bizhong1`, `ys_bizhong2`, `ys_bizhong3`, `ys_bizhong4`, `ys_bizhong5`, `ys_bizhong6`, `ys_bizhong7`, `ys_bizhong8`, `ys_bizhong9` |
|
|
| `receivable_rows[0..9].ys_caozuoren` | receivable | 10 | text | | `ys_caozuoren0`, `ys_caozuoren1`, `ys_caozuoren2`, `ys_caozuoren3`, `ys_caozuoren4`, `ys_caozuoren5`, `ys_caozuoren6`, `ys_caozuoren7`, `ys_caozuoren8`, `ys_caozuoren9` |
|
|
| `receivable_rows[0..9].ys_danjia` | receivable | 10 | text | | `ys_danjia0`, `ys_danjia1`, `ys_danjia2`, `ys_danjia3`, `ys_danjia4`, `ys_danjia5`, `ys_danjia6`, `ys_danjia7`, `ys_danjia8`, `ys_danjia9` |
|
|
| `receivable_rows[0..9].ys_danwei` | receivable | 10 | text | | `ys_danwei0`, `ys_danwei1`, `ys_danwei2`, `ys_danwei3`, `ys_danwei4`, `ys_danwei5`, `ys_danwei6`, `ys_danwei7`, `ys_danwei8`, `ys_danwei9` |
|
|
| `receivable_rows[0..9].ys_danweiid` | receivable | 10 | hidden | | `ys_danweiid0`, `ys_danweiid1`, `ys_danweiid2`, `ys_danweiid3`, `ys_danweiid4`, `ys_danweiid5`, `ys_danweiid6`, `ys_danweiid7`, `ys_danweiid8`, `ys_danweiid9` |
|
|
| `receivable_rows[0..9].ys_fangshi` | receivable | 10 | hidden | | `ys_fangshi0`, `ys_fangshi1`, `ys_fangshi2`, `ys_fangshi3`, `ys_fangshi4`, `ys_fangshi5`, `ys_fangshi6`, `ys_fangshi7`, `ys_fangshi8`, `ys_fangshi9` |
|
|
| `receivable_rows[0..9].ys_id` | receivable | 10 | hidden | | `ys_id0`, `ys_id1`, `ys_id2`, `ys_id3`, `ys_id4`, `ys_id5`, `ys_id6`, `ys_id7`, `ys_id8`, `ys_id9` |
|
|
| `receivable_rows[0..9].ys_jine` | receivable | 10 | text | | `ys_jine0`, `ys_jine1`, `ys_jine2`, `ys_jine3`, `ys_jine4`, `ys_jine5`, `ys_jine6`, `ys_jine7`, `ys_jine8`, `ys_jine9` |
|
|
| `receivable_rows[0..9].ys_shenhe` | receivable | 1 | hidden | | `ys_shenhe` |
|
|
| `receivable_rows[0..9].ys_shenheren` | receivable | 10 | text | | `ys_shenheren0`, `ys_shenheren1`, `ys_shenheren2`, `ys_shenheren3`, `ys_shenheren4`, `ys_shenheren5`, `ys_shenheren6`, `ys_shenheren7`, `ys_shenheren8`, `ys_shenheren9` |
|
|
| `receivable_rows[0..9].ys_shoufulei` | receivable | 10 | hidden | | `ys_shoufulei0`, `ys_shoufulei1`, `ys_shoufulei2`, `ys_shoufulei3`, `ys_shoufulei4`, `ys_shoufulei5`, `ys_shoufulei6`, `ys_shoufulei7`, `ys_shoufulei8`, `ys_shoufulei9` |
|
|
| `receivable_rows[0..9].ys_shuliang` | receivable | 10 | text | | `ys_shuliang0`, `ys_shuliang1`, `ys_shuliang2`, `ys_shuliang3`, `ys_shuliang4`, `ys_shuliang5`, `ys_shuliang6`, `ys_shuliang7`, `ys_shuliang8`, `ys_shuliang9` |
|
|
| `receivable_rows[0..9].ys_shuoming` | receivable | 10 | text | | `ys_shuoming0`, `ys_shuoming1`, `ys_shuoming2`, `ys_shuoming3`, `ys_shuoming4`, `ys_shuoming5`, `ys_shuoming6`, `ys_shuoming7`, `ys_shuoming8`, `ys_shuoming9` |
|
|
| `receivable_rows[0..9].ys_xiangmu` | receivable | 10 | text | | `ys_xiangmu0`, `ys_xiangmu1`, `ys_xiangmu2`, `ys_xiangmu3`, `ys_xiangmu4`, `ys_xiangmu5`, `ys_xiangmu6`, `ys_xiangmu7`, `ys_xiangmu8`, `ys_xiangmu9` |
|
|
| `receivable_rows[0..9].ys_yishoufu` | receivable | 10 | hidden | | `ys_yishoufu0`, `ys_yishoufu1`, `ys_yishoufu2`, `ys_yishoufu3`, `ys_yishoufu4`, `ys_yishoufu5`, `ys_yishoufu6`, `ys_yishoufu7`, `ys_yishoufu8`, `ys_yishoufu9` |
|
|
| `receivable_rows[0..9].ys_zhanwei` | receivable | 10 | text | | `ys_zhanwei0`, `ys_zhanwei1`, `ys_zhanwei2`, `ys_zhanwei3`, `ys_zhanwei4`, `ys_zhanwei5`, `ys_zhanwei6`, `ys_zhanwei7`, `ys_zhanwei8`, `ys_zhanwei9` |
|
|
| `attachments[0..1].PicFile` | system | 2 | hidden | | `PicFile0`, `PicFile1` |
|
|
| `caozuoren` | system | 1 | hidden | | `caozuoren` |
|
|
| `ddid` | system | 1 | hidden | | `ddid` |
|
|
| `fabudanwei` | system | 1 | hidden | | `fabudanwei` |
|
|
| `oldshuoming` | system | 1 | hidden | | `oldshuoming` |
|
|
| `quanxian` | system | 1 | hidden | | `quanxian` |
|
|
| `session_id` | system | 1 | hidden | | `session_id` |
|
|
| `tdid` | system | 1 | hidden | | `tdid` |
|
|
| `jj_dianhua` | transport | 1 | text | | `jj_dianhua` |
|
|
| `jj_didian` | transport | 1 | text | | `jj_didian` |
|
|
| `jj_lianxiren` | transport | 1 | text | | `jj_lianxiren` |
|
|
| `transport_rows[0..3].bancheng` | transport | 4 | text | | `bancheng0`, `bancheng1`, `bancheng2`, `bancheng3` |
|
|
| `transport_rows[0..3].banchengs` | transport | 4 | text | | `banchengs0`, `banchengs1`, `banchengs2`, `banchengs3` |
|
|
| `transport_rows[0..3].banhao` | transport | 4 | text | | `banhao0`, `banhao1`, `banhao2`, `banhao3` |
|
|
| `transport_rows[0..3].banri` | transport | 4 | text | | `banri0`, `banri1`, `banri2`, `banri3` |
|
|
| `transport_rows[0..3].banshi` | transport | 4 | text | | `banshi0`, `banshi1`, `banshi2`, `banshi3` |
|
|
| `transport_rows[0..3].banshis` | transport | 4 | text | | `banshis0`, `banshis1`, `banshis2`, `banshis3` |
|
|
| `transport_rows[0..3].guankou` | transport | 4 | text | | `guankou0`, `guankou1`, `guankou2`, `guankou3` |
|
|
|
|
## Adapter-Oriented Standard Model Draft
|
|
- `basic`: departure date, route, days, customer, product, salesperson, operator, order number, status, filing flag, remarks.
|
|
- `passengers`: adult/child/infant/leader counts and breakdown rows.
|
|
- `receivables[]`: unit, item, currency, quantity, unit price, amount, remark, hidden ids/payment metadata.
|
|
- `transport[]`: flight/traffic rows and pickup/dropoff fields.
|
|
- `itinerary.days[]`: breakfast/lunch/dinner/accommodation/attraction rows by day.
|
|
- `attachments[]`: uploaded file references for `PicFile0..1`.
|
|
- `system`: existing ids, permission flags, publisher unit, operator, audit flags, session id.
|
|
|
|
## Notes
|
|
- This schema intentionally omits field values and business rows.
|
|
- The final adapter should fill a controlled browser page and inspect `ListForm.serialize()` in dry-run mode before enabling submission.
|
|
- Actual submission to `Act=DoInfoJH` is a write operation and needs explicit approval/test data.
|
|
|