# 预约单创建

# 接口地址

/macan/reservation/create

# 变更历史

# 2024-11-07 改动说明

  • 由于需要支持多项目同时预约,因此废弃了 idContent contentType,新增了 contentList idOrder 参数。
    • 如果根据订单整单预约,之前传参方式是 contentType 传 999,idContent 传订单 id,改造之后只需要传 idOrder 参数。
    • 如果预约业务分类,之前传参方式是 contentType 传 17,idContent 传业务分类 id,改造之后contentList 中只能传一个 ReservationContentInfo 对象。
    • 如果是预约项目,之前传参方式是 contentType 传 0,idContent 传门店级的项目 id,改造之后 contentList 中可以传多个 ReservationContentInfo 对象。
  • 新增支持传入 idCar,会校验 idCar 对应车辆是否归属 idCustomer,会校验 idCar 对应的车牌是否和传入的一致
  • 新增错误码和错误提示,之前接口报错的时候统一在最外层的 mesage 输出错误信息,本次改造后会在第二层的 code 输出错误码,第二层的 message 输出错误信息。注意:如果是参数校验类型的错误,还是会在第一层的 message 进行输出校验异常信息。

# 入参

# 字段说明

名称 类型 必填 示例 描述
idCustomer Number 11936696944233046090 预约客户的唯一标识。
idOwnOrg Number 11936696944233044211 预约门店的唯一标识。
idEmployee Number 11936696944233044232 预约的服务顾问唯一标识。
idCategoryGroup Number 0 预约分组唯一标识。当预约设置为整体预约时,可以不传;否则必传预约设置中的分组唯一标识。
reserveDate String "2024-06-15" 预约的日期。
reserveStart String "2024-06-15 13:00:00" 预约的开始时间。
reserveEnd String "2024-06-15 14:00:00" 预约的结束时间。
idCar Number 11936696944233044239 预约客户的唯一标识。会校验车辆是否归属于预约客户。
fullCarNo String "苏A12345" 预约车辆的完整车牌。
carModel String "标致 4008 1.6T AMT 2017 4008" 预约车辆的车型。
idContent Number 123456 预约内容的唯一标识。例如:订单的唯一标识,门店级项目的唯一标识,业务分类的唯一标识。即将废弃,2024-11-21之前能够兼容,2024-11-21 后不再使用。
contentType Number 999 预约内容的类型。0-项目,17-业务分类,999-订单。即将废弃,2024-11-21之前能够兼容,2024-11-21 后不再使用。
idOrder Number 8501245 根据订单预约时,订单的唯一标识。如果传了该字段,即代表根据订单整单预约,contentList字段不起作用。等价于之前contentType=999时,对应idContent的值。2024-11-08 后生效。
contentList ReservationContentInfo[] 预约内容列表,可以支持的预约内容包含:业务分类、项目。不支持同时预约业务分类和项目。不支持预约多个业务分类。最多可同时预约10个项目。2024-11-08 后生效。
reserveMemo String "下午两点到店" 预约备注信息。

# ReservationContentInfo

名称 类型 必填 示例 描述
contentType Number 0 预约内容类型。0-项目,17-业务分类。
idContent Number 1193669 预约内容的唯一标识。例如:订单的唯一标识,门店级项目的唯一标识,业务分类的唯一标识。

# JSON示例

{
    "paramValues": [
        {
            "idCustomer": 11936696944233046090,
            "idOwnOrg": 11936696944233044211,
            "idEmployee": 11936696944233044232,
            "idCategoryGroup": 0,
            "reserveDate": "2024-06-15",
            "reserveStart": "2024-06-15 13:00:00",
            "reserveEnd": "2024-06-15 14:00:00",
            "fullCarNo": "苏A12345",
            "carModel": "标致 4008 1.6T AMT 2017 4008",
            "idCar": 1193669694423307867,
            "contentList": [
                {
                    "contentType": 0,
                    "idContent": 414153
                },
                {
                    "contentType": 0,
                    "idContent": 414154
                }
            ],
            "reserveMemo": "预约备注信息"
        }
    ]
}

# 出参

# 字段说明

名称 类型 示例 描述
code Number 200 200-业务成功
400-业务异常
500-接口内部异常
data GatewayResponse
message String "SUCCESS" SUCCESS-正常返回
其他则是异常响应的错误提示

# GatewayResponse

名称 类型 示例 描述
data Number 123456 预约单的唯一标识。
message String "OK" OK-业务接口请求成功

# JSON示例

# 正常响应

{
    "code": 200,
    "data": {
        "data": 123456,
        "message": "OK"
    },
    "message": "SUCCESS"
}

# 异常响应

{
    "code": 200,
    "data": {
        "code": "60021003",
        "message": "预约车辆不存在"
    },
    "message": "SUCCESS"
}

# 错误码

错误码 错误码提示 解决方案
0 OK
60021001 门店预约配置异常 开启门店预约配置并设置预约库存。
60021002 门店预约配置未启用 开启门店预约配置。
60021003 预约车辆不存在 idCar 在系统中不存在,检查是否传错或车辆已被删除。
60021004 预约客户不存在 idCustomer 在系统中不存在。检车是否传错或客户已被删除。
60021005 预约客户手机号为空 系统中的建档客户未维护手机号,需要先维护好客户的手机号码。
60021006 预约的订单信息不存在 idOrder 在系统中不存在。
60021007 预约客户非预约订单的下单人 订单对应的下单人和 idCustomer 不一致。
60021008 订单当前状态不支持预约 只有待服务的订单支持预约。
60021009 订单退款中无法预约 订单正在退款中,无法进行预约。
60021010 预约项目不存在或已停用 检查预约项目是否是当前门店的,以及系统中是否有此项目。
60021011 预约业务分类不存在或已停用 检查业务分类是否存在。
60021012 预约车辆不属于预约客户 idCar 对应的车主和传入的 idCustomer 不一致,车辆可能发生了过户操作。
60021013 预约分组不存在或已删除 检查门店预约设置是否被修改过,或检查传入的 idCategoryGroup 是否正确
60021014 预约车辆车牌号码与系统中的不匹配 idCar 对应的车牌号码与传入的 fullCarNo 不一致,车辆可能修改过车牌。