# 查询所在城市的预约时间段

> 本文档描述服务器端接收的消息或事件，详细说明参见[消息推送](/miniprogram/dev/framework/server-ability/message-push.md)。

事件英文名：waybill_query_expect_time_range

当用户查询所在城市的预约时间段时，推送此事件。

## 1. 消息参数

### 请求体 `Request Payload`

```json
[
  {
    "参数名": "ToUserName",
    "类型": "string",
    "说明": "快递公司小程序 UserName"
  },
  {
    "参数名": "FromUserName",
    "类型": "string",
    "说明": "微信团队的 OpenID （固定值）"
  },
  {
    "参数名": "CreateTime",
    "类型": "number",
    "说明": "事件时间，Unix时间戳"
  },
  {
    "参数名": "MsgType",
    "类型": "string",
    "说明": "消息类型，固定为 event"
  },
  {
    "参数名": "Event",
    "类型": "string",
    "说明": "事件类型，固定为 waybill_query_expect_time_range，不区分大小写"
  },
  {
    "参数名": "WXAppId",
    "类型": "string",
    "说明": "商户在微信端的appid"
  },
  {
    "参数名": "Province",
    "类型": "string",
    "说明": "省份，比如\"广东省\""
  },
  {
    "参数名": "City",
    "类型": "string",
    "说明": "地区/市，比如\"广州市\""
  },
  {
    "参数名": "Area",
    "类型": "string",
    "说明": "区/县，比如\"海珠区\""
  },
  {
    "参数名": "Street",
    "类型": "string",
    "说明": "街道"
  },
  {
    "参数名": "Address",
    "类型": "string",
    "说明": "详细地址"
  },
  {
    "参数名": "Id",
    "类型": "string",
    "说明": "地址id"
  }
]
```

## 2. 消息返回

### 返回体 `Response Payload`

```json
[
  {
    "参数名": "ToUserName",
    "类型": "string",
    "必填": "是",
    "说明": "原样返回请求中的 FromUserName"
  },
  {
    "参数名": "FromUserName",
    "类型": "string",
    "必填": "是",
    "说明": "快递公司小程序 UserName"
  },
  {
    "参数名": "CreateTime",
    "类型": "number",
    "必填": "是",
    "说明": "事件时间，Unix 时间戳"
  },
  {
    "参数名": "MsgType",
    "类型": "string",
    "必填": "是",
    "说明": "消息类型，固定为 event"
  },
  {
    "参数名": "Event",
    "类型": "string",
    "必填": "是",
    "说明": "事件类型，固定为waybill_query_expect_time_range，不区分大小写"
  },
  {
    "参数名": "ResultCode",
    "类型": "number",
    "必填": "是",
    "说明": "处理结果错误码"
  },
  {
    "参数名": "ResultMsg",
    "类型": "string",
    "必填": "否",
    "说明": "处理结果的详细信息"
  },
  {
    "参数名": "ExpectTimeRange",
    "类型": "number",
    "必填": "是",
    "说明": "预约时间段，比如1或者2，单位小时（此字段废弃不再使用）"
  },
  {
    "参数名": "ValidTimeRange",
    "类型": "objarray",
    "必填": "是",
    "说明": "可预约时间段"
  },
  {
    "参数名": "Asap",
    "类型": "object",
    "必填": "否",
    "说明": "是否可下单后2小时内上门，无此参数返回表示不支持"
  }
]
```

">

### Res.ValidTimeRange(Array) `Object Payload`

可预约时间段

```json
[
  {
    "参数名": "StartTime",
    "类型": "number",
    "必填": "是",
    "说明": "开始时间，小时数（24小时制）"
  },
  {
    "参数名": "EndTime",
    "类型": "number",
    "必填": "是",
    "说明": "结束时间，小时数（24小时制）"
  },
  {
    "参数名": "DayDelta",
    "类型": "number",
    "必填": "否",
    "说明": "天数，0-表示今天 1表示明天 2-表示后天，默认是0"
  },
  {
    "参数名": "Status",
    "类型": "number",
    "必填": "否",
    "说明": "状态 0-可预约 1-约满，默认可预约"
  }
]
```

### Res.Asap `Object Payload`

是否可下单后2小时内上门，无此参数返回表示不支持

```json
[
  {
    "参数名": "StartTime",
    "类型": "number",
    "必填": "是",
    "说明": "开始时间，小时数（24小时制）"
  },
  {
    "参数名": "EndTime",
    "类型": "number",
    "必填": "是",
    "说明": "结束时间，小时数（24小时制）"
  },
  {
    "参数名": "DayDelta",
    "类型": "number",
    "必填": "否",
    "说明": "天数，0-表示今天 1表示明天 2-表示后天，默认是0"
  },
  {
    "参数名": "Status",
    "类型": "number",
    "必填": "否",
    "说明": "状态 0-可预约 1-约满，默认可预约"
  }
]
```

## 3. 注意事项

本事件无特殊注意事项

## 4. 代码示例

本事件无代码示例
