ex
Fork of mbed-os-example-mbed5-blinky by
Diff: dumi_doc-master/doc/bot/taxi_order.md
- Revision:
- 44:c1d8923072ba
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/dumi_doc-master/doc/bot/taxi_order.md Tue Jul 18 16:27:22 2017 +0800
@@ -0,0 +1,602 @@
+# 打车bot多轮状态转移过程
+## 状态机
+
+
+## Book
+### askTime
+#### 进入条件
+满足如下条件之一:
+
+* 有约车意图
+* 时间槽位有值,但是时间不明确或者非法
+
+#### 澄清逻辑
+时间澄清策略与提醒时间澄清逻辑一致(非重复提醒),但有如下区别:
+
++ 有效时间范围:今天、明天、后天,三天之内,超过报非法
++ 最近的可约时间:20分钟后的最近的十分点(10,20,30,40,50,00)
++ 若约车时间小于最近可约时间,自动去最近可约时间,不会报非法
++ 没有凌晨澄清逻辑
+
+说明:时间澄清策略wiki:http://wiki.baidu.com/pages/viewpage.action?pageId=218313803
+
+### askPosition
+#### 进入条件
+满足如下条件之一:
+
++ 没有打车目的地
++ 无定位信息且没有出发地址(默认出发地为当期位置)
++ 地址非法
+
+#### 地址处理
+异常包括:
+
++ 出发地城市无法确定
++ 在出发地城市,没有定位到目的地
+
+参考:http://agroup.baidu.com/duer/md/edit/237312
+
+### askCarType
+#### 进入条件
+满足如下条件之一:
+
++ 没有car_type
++ car_type指定的车辆类型无法满足(附近没有对应的车辆)
+
+#### 车类型合法性验证
+通过车辆数量费用接口,如果车辆数量为0,即为非法。
+
+### askResubmitOrder
+#### 进入条件
+订单创建过程可能出现如下异常状况:
+
++ 价格倍数突然变化,比如:临时调价1.5倍
++ 下单失败
+
+上述状况会进入resubmitOrder状态
+
+### 车辆状态Polling
+#### 进入条件
+如下两种条件会启动订单状态轮询:
+
++ 即时打车订单创建成功后
++ 约车订单,约定上车时间前30分钟开始
+
+#### 轮询过程
+
+
+上述过程,列出了4中轮询过程中的server push
+
++ 等待司机接单超过1min,这种情况经常出现在用车高峰期。会询问用户是继续等待还是取消订单。
++ 司机接单。如果是约车订单,停止轮询,否则轮询周期改为60s一次。
++ 司机到达。
++ 订单完成。
+
+## CancelOrder
+### 生效条件
+满足下列条件之一:
+
++ 当前有订单进行中,且没有上车
++ 有约车订单
+
+说明:
+
++ 从订单创建成功到上车之前,都可以取消订单
++ 即时的订单取消,不会有confirm;
+
+## WaitOrder
+对应订单创建过程中,长时间没有司机接单的情况。
+
+### 生效条件
+满足如下条件:
+
++ 订单创建成功到司机接单期间
+
+说明:
+
++ 用户肯定答复,仅仅回复话术
+
+## CallDriver
+### 进入条件
+满足如下条件:
+
++ 订单状态为司机已接单,以及以后的状态(约车订单也可以呼叫)
+
+## QueryStatus
+满足如下条件:
+
++ 当前有即时打车订单
++ 订单状态为司机已接单,以及以后的状态
+
+# 打车订单创建多轮
+## 完整的叫车例子:
+```javascript
+//query = 帮我叫个出租车去西二旗地铁站
+{
+ "result": {
+ "bot_id": "rent_car",
+ "bot_meta": {
+ "version": "1.0.0",
+ "type": "其他",
+ "description": "desc"
+ },
+ "views": [
+ {
+ "type": "txt",
+ "content": "下单确认起始地:什刹海街道米粮库社区西北116米\n目的地:西二旗\n车辆类型:出租车"
+ },
+ {
+ "type": "txt",
+ "content": "请确认下单"
+ }
+ ],
+ "nlu": {
+ "domain": "rent_car",
+ "intent": "rent_car.book",
+ "slots": {
+ "car_type": "出租车",
+ "end_point": "西二旗地铁站",
+ "loc_fragment": "西",
+ "to_loc": "西二旗地铁站"
+ }
+ },
+ "speech": {
+ "type": "Text",
+ "content": "下单确认起始地:什刹海街道米粮库社区西北116米\n目的地:西二旗\n车辆类型:出租车。请确认下单"
+ }
+ },
+ "id": "1490598241_8768w33x8",
+ "logid": "14905982406254",
+ "user_id": null,
+ "time": 1490598241,
+ "cuid": "test",
+ "se_query": "帮我叫个出租车去西二旗地铁站",
+ "msg": "ok",
+ "client_msg_id": "58512fc9-d688-4e4e-9263-14495de3a60a",
+ "status": 0
+}
+```
+### nlu部分的说明
+intent:rent_car.book 打车意图
+### slots 说明
+|slot_name|解释|slot_value|说明|
+|----|----|--------|--------|
+|end_point|目的地|地址,比如西二旗|string|
+|car_type|用车类型|比如快车、专车、出租车|string|
+
+## 完整的约车例子
+//query = 帮我约个明天上午8点的出租车去西二旗地铁站
+```javascript
+{
+ "result": {
+ "bot_id": "rent_car",
+ "bot_meta": {
+ "version": "1.0.0",
+ "type": "其他",
+ "description": "desc"
+ },
+ "views": [
+ {
+ "type": "txt",
+ "content": "抱歉,目前只有专车支持预约。"
+ },
+ {
+ "type": "txt",
+ "content": "下单确认起始地:什刹海街道米粮库社区西北116米\n目的地:西二旗\n车辆类型:专车\n预估价格:88元\n用车时间:03月28日 08时00分"
+ },
+ {
+ "type": "txt",
+ "content": "请确认下单"
+ }
+ ],
+ "nlu": {
+ "domain": "rent_car",
+ "intent": "rent_car.book",
+ "slots": {
+ "car_type": "专车",
+ "end_point": "西二旗地铁站",
+ "loc_fragment": "西",
+ "reserve_order": "1",
+ "service_time": "{\"apm\":\"am\",\"day\":\"next\",\"hour\":\"8\",\"raw\":{\"apm\":\"明天上午\",\"day\":\"明天上午\",\"hour\":\"8点\"}}\n",
+ "to_loc": "西二旗地铁站"
+ }
+ },
+ "speech": {
+ "type": "Text",
+ "content": "抱歉,目前只有专车支持预约。。下单确认起始地:什刹海街道米粮库社区西北116米\n目的地:西二旗\n车辆类型:专车\n预估价格:88元\n用车时间:03月28日 08时00分。请确认下单"
+ }
+ },
+ "id": "1490598770_851ayoo1r",
+ "logid": "14905987688475",
+ "user_id": null,
+ "time": 1490598770,
+ "cuid": "test",
+ "se_query": "帮我约个明天上午8点的出租车去西二旗地铁站",
+ "msg": "ok",
+ "client_msg_id": "58512fc9-d688-4e4e-9263-14495de3a60a",
+ "status": 0
+}
+```
+### slots 说明
+|slot_name|解释|slot_value|说明|
+|----|----|--------|--------|
+|reserve_order|是否约车|0或者1|string|
+|service_time|用车时间|json格式,wiki:todo|string|
+
+
+## 下单所需槽位搜集完整,确认下单
+```javascript
+//query = 确认下单
+{
+ "result": {
+ "bot_id": "rent_car",
+ "bot_meta": {
+ "version": "1.0.0",
+ "type": "其他",
+ "description": "desc"
+ },
+ "views": [
+ {
+ "type": "txt",
+ "content": "正在为你叫车,请耐心等待....."
+ }
+ ],
+ "nlu": {
+ "domain": "rent_car",
+ "intent": "rent_car.book",
+ "slots": {
+ "car_type": "出租车",
+ "end_point": "西二旗地铁站",
+ "loc_fragment": "西",
+ "to_loc": "西二旗地铁站",
+ "confirm_intent": "1"
+ }
+ },
+ "speech": {
+ "type": "Text",
+ "content": "正在为你叫车,请耐心等待....."
+ }
+ },
+ "id": "1490598579_192ffpxeh",
+ "logid": "14905985779877",
+ "user_id": null,
+ "time": 1490598579,
+ "cuid": "test",
+ "se_query": "确认",
+ "msg": "ok",
+ "client_msg_id": "58512fc9-d688-4e4e-9263-14495de3a60a",
+ "status": 0
+}
+```
+
+## 槽位不完整询问例子
+### 问end_point
+```javascript
+{
+...
+ "views": [
+ {
+ "type": "txt",
+ "content": "请问你打车去哪?"
+ }
+ ],
+ "nlu": {
+ "domain": "rent_car",
+ "intent": "rent_car.book",
+ "slots": {}
+ },
+ "speech": {
+ "type": "Text",
+ "content": "请问你打车去哪?"
+ }
+...
+}
+```
+
+### 问约车时间
+```javascript
+{
+...
+ "views": [
+ {
+ "type": "txt",
+ "content": "请问预约什么时候的车呢?"
+ }
+ ],
+ "nlu": {
+ "domain": "rent_car",
+ "intent": "rent_car.book",
+ "slots": {
+ "car_type": "专车",
+ "reserve_order": "1"
+ }
+ },
+ "speech": {
+ "type": "Text",
+ "content": "请问预约什么时候的车呢?"
+ }
+...
+}
+```
+
+### 问车辆类型
+```javascript
+{
+...
+ "views": [
+ {
+ "type": "txt",
+ "content": "什刹海街道米粮库社区西北116米到西二旗出租车:最近司机约1分钟抵达,附近10辆车。\n\n快车:。\n\n专车:首汽约车,最近司机约3分钟抵达,附近10辆车,预估96元。\n\n请选择车型"
+ }
+ ],
+ "nlu": {
+ "domain": "rent_car",
+ "intent": "rent_car.book",
+ "slots": {
+ "end_point": "西二旗"
+ }
+ },
+ "speech": {
+ "type": "Text",
+ "content": "什刹海街道米粮库社区西北116米到西二旗出租车:最近司机约1分钟抵达,附近10辆车。\n\n快车:。\n\n专车:首汽约车,最近司机约3分钟抵达,附近10辆车,预估96元。\n\n请选择车型"
+ }
+...
+}
+```
+
+### slots 说明
+|slot_name|解释|slot_value|说明|
+|----|----|--------|--------|
+|confirm_intent|确认意图|0或者1|string|
+
+
+# 打车订单取消intent
+//取消打车订单
+```javascript
+{
+ "result": {
+ "bot_id": "rent_car",
+ "bot_meta": {
+ "version": "1.0.0",
+ "type": "其他",
+ "description": "desc"
+ },
+ "views": [
+ {
+ "type": "txt",
+ "content": "订单取消成功"
+ }
+ ],
+ "nlu": {
+ "domain": "rent_car",
+ "intent": "rent_car.cancel_order",
+ "slots": {
+ "enum": "取消打车订单"
+ }
+ },
+ "speech": {
+ "type": "Text",
+ "content": "订单取消成功"
+ }
+ },
+ "id": "1490600187_806d0pb9v",
+ "logid": "14906001876248",
+ "user_id": null,
+ "time": 1490600187,
+ "cuid": "test",
+ "se_query": "取消打车订单",
+ "msg": "ok",
+ "client_msg_id": "58512fc9-d688-4e4e-9263-14495de3a60a",
+ "status": 0
+}
+```
+### nlu部分的说明
++ intent:rent_car.cancel_order 打车取消意图
++ slots 可不关注
+
+# 查询司机位置intent
+```javascript
+//query = 司机到哪儿了
+{
+ "result": {
+ "bot_id": "rent_car",
+ "bot_meta": {
+ "version": "1.0.0",
+ "type": "其他",
+ "description": "desc"
+ },
+ "views": [
+ {
+ "type": "txt",
+ "content": "距你2.2公里,预计5分钟后到达"
+ }
+ ],
+ "nlu": {
+ "domain": "rent_car",
+ "intent": "rent_car.query_status",
+ "slots": {
+ "enum": "司机到哪儿了"
+ }
+ },
+ "speech": {
+ "type": "Text",
+ "content": "距你2.2公里,预计5分钟后到达"
+ }
+ },
+ "id": "1490600411_0474khogv",
+ "logid": "14906004108530",
+ "user_id": null,
+ "time": 1490600411,
+ "cuid": "test",
+ "se_query": "司机到哪儿了",
+ "msg": "ok",
+ "client_msg_id": "58512fc9-d688-4e4e-9263-14495de3a60a",
+ "status": 0
+}
+```
+### nlu部分的说明
++ intent:rent_car.query_status 查询司机位置intent
++ slots 可不关注
+
+# 继续等待司机接单intent
+```javascript
+//query = 司机到哪儿了
+{
+ "result": {
+ "bot_id": "rent_car",
+ "bot_meta": {
+ "version": "1.0.0",
+ "type": "其他",
+ "description": "desc"
+ },
+ "views": [
+ {
+ "type": "txt",
+ "content": "度秘将为你持续叫车"
+ }
+ ],
+ "nlu": {
+ "domain": "rent_car",
+ "intent": "rent_car.wait_order",
+ "slots": {
+ "enum": "继续等待"
+ }
+ },
+ "speech": {
+ "type": "Text",
+ "content": "度秘将为你持续叫车"
+ }
+ },
+ "id": "1490600411_0474khogv",
+ "logid": "14906004108530",
+ "user_id": null,
+ "time": 1490600411,
+ "cuid": "test",
+ "se_query": "继续等待",
+ "msg": "ok",
+ "client_msg_id": "58512fc9-d688-4e4e-9263-14495de3a60a",
+ "status": 0
+}
+```
+### nlu部分的说明
++ intent:rent_car.wait_order 继续等待intent
++ slots 可不关注
+
+# UI交互卡片
+## 登录
+```
+{
+ "result": {
+ "bot_id": "rent_car",
+ "bot_meta": {
+ "version": "1.0.0",
+ "type": "其他",
+ "description": "desc"
+ },
+ "views": [
+ {
+ "type": "txt",
+ "content": "去登录度秘很愿意帮你,但需要您先登录账号后度秘才能操作哦,快去登录吧",
+ "url": "http://xiaodu.baidu.com/saiya/uber/login"
+ }
+ ],
+ "nlu": {
+ "domain": "rent_car",
+ "intent": "rent_car.book",
+ "slots": {}
+ },
+ "speech": {
+ "type": "Text",
+ "content": "度秘很愿意帮你,但需要您先登录账号后度秘才能操作哦,快去登录吧"
+ }
+ },
+ "id": "1490603466_603cfb901",
+ "logid": "14906034663181",
+ "user_id": null,
+ "time": 1490603466,
+ "cuid": "test",
+ "se_query": "我要打车",
+ //需要调用百度passport登录
+ "need_passport_login": true,
+ "msg": "ok",
+ "client_msg_id": "58512fc9-d688-4e4e-9263-14495de3a60a",
+ "status": 0
+}
+```
+
+## 绑定银行卡
+
+```javascript
+{
+ "result": {
+ "bot_id": "rent_car",
+ "bot_meta": {
+ "version": "1.0.0",
+ "type": "其他",
+ "description": "desc"
+ },
+ "views": [
+ {
+ "type": "txt",
+ "content": "开通授权支付抱歉,你还没有绑定银行卡,请先绑定后,度秘才能再为你叫车",
+ "url": "https://www.baifubao.com/wap/0/contract_sign/0?service_code=1&sp_no=3300000109&order_create_time=20170328174302&order_no=17032894182256508059&goods_name=%B0%D9%B6%C8%D7%A8%B3%B5%CA%DA%C8%A8%C7%A9%D4%BC&unit_amount=0&unit_count=1&transport_amount=0&total_amount=0¤cy=1&return_url=http%3A%2F%2Falliance.carpo.baidu.com%2Fpay%2Fcontract%2Fsigncallback&pay_type=2&input_charset=1&version=2&sign_method=1&sp_user_name=175441974&contract_type=1&pure_sign=1&sign=b715f6b12d54c178bdf8b9e0446a7471"
+ }
+ ],
+ "nlu": {
+ "domain": "rent_car",
+ "intent": "rent_car.book",
+ "slots": {}
+ },
+ "speech": {
+ "type": "Text",
+ "content": "开通授权支付,抱歉,你还没有绑定银行卡,请先绑定后,度秘才能再为你叫车"
+ }
+ },
+ "id": "1490694182_3537qxbb5",
+ "logid": "14906941819388",
+ "user_id": "4541",
+ "time": 1490694182,
+ "cuid": null,
+ "se_query": "我要打车",
+ "msg": "ok",
+ "status": 0
+}
+```
+## 打电话
+```javascript
+{
+ "result": {
+ "bot_id": "rent_car",
+ "bot_meta": {
+ "version": "1.0.0",
+ "type": "其他",
+ "description": "desc"
+ },
+ "views": [
+ {
+ "type": "txt",
+ "content": "正在打电话给司机,请稍等",
+ "url": "xiaoduapp://phone?number=123242134134"
+ }
+ ],
+ "nlu": {
+ "domain": "rent_car",
+ "intent": "rent_car.call_driver",
+ "slots": {
+ "driver_phone_number" : "1234123123"
+ }
+ },
+ "speech": {
+ "type": "Text",
+ "content": "正在打电话给司机,请稍等"
+ }
+ },
+ "id": "1490694182_3537qxbb5",
+ "logid": "14906941819388",
+ "user_id": "4541",
+ "time": 1490694182,
+ "cuid": null,
+ "se_query": "我要打车",
+ "msg": "ok",
+ "status": 0
+}
