
# 预约会议
#### bookConf
**接口描述**
该接口用于预约会议。
**注意事项**
1. 会议开始时间晚于当前时间。
2. 个人会议或者云会议室的时候要传入vmrId。
3. 携带与会者入会的时候需要传入attendee。
4. 开启自动录制会议时必须开启录制会议。
5. callback中的result返回会议详情信息 （[HWMConfDetail](https://support.huaweicloud.com/sdkreference-meeting/meeting_22_0239.html#ZH-CN_TOPIC_0293109583__table1714474365814)）。
**方法定义**
```
- (void)bookConf:(HWMOrderConfParam *_Nonnull)param callback:(_Nonnull HWMSDKCompleteHandler)callback;
```
**参数描述**
 表1HWMOrderConfParam参数说明 
| 参数                       | 是否必须 | 类型                                                                                                                                       | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| confSubject              | 是    | NSString \*                                                                                                                              | **参数解释：** 会议主题。 **约束限制：** 不涉及。 **取值范围：** 0-128个字符。 **默认取值** **：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                            |
| startTimeStamp           | 是    | NSTimeInterval                                                                                                                           | **参数解释：** 会议开始时间，UTC时间戳，精度秒。 **约束限制：** 时间戳不能早于系统当前时间。 **取值范围：** 不涉及。 **默认取值** **：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                      |
| duration                 | 否    | NSUInteger                                                                                                                               | **参数解释：** 会议持续时长，单位分钟。 **约束限制：** 不涉及。 **取值范围：** 最小值15分钟，最大值1440分钟。 **默认取值：** 不填时由服务端取默认会议时长30分钟。                                                                                                                                                                                                                                                                                                                                                                                                   |
| isAutoRecord             | 否    | BOOL                                                                                                                                     | **参数解释：** 是否开启自动录制会议。 **约束限制：** 仅对云录制生效，客户端本地录制不生效。开启自动录制会议时必须开启录制会议。 **默认取值** **：** NO 关闭。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| isRecordOn               | 否    | BOOL                                                                                                                                     | **参数解释：** 是否开启录制会议。 **约束限制：** 仅对云录制生效，客户端本地录制不生效。 **默认取值** **：** NO 关闭。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| timeZone                 | 是    | NSUInteger                                                                                                                               | **参数解释：** 时区。 **约束限制：** 不涉及。 **取值范围：** 详情参考[时区表](https://support.huaweicloud.com/api-meeting/meeting_21_0110.html)，参数值1-73可用。 **默认取值** **：** 当前时区（中国默认时区56-东八区）。                                                                                                                                                                                                                                                                                                                                 |
| vmrId                    | 否    | NSString \*                                                                                                                              | **参数解释：** 个人会议或者云会议室Id。 **约束限制：** 创建个人会议或云会议室的时候传入，其它时候传入空。 **取值范围：** 0-128个字符。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                    |
| callInRestrictionType    | 否    | [HWMJoinConfRestrictionType]                                                                 | **参数解释：** 允许入会范围限制。 **约束限制：** 不涉及。 **默认取值** **：** HWMJoinConfRestrictionAll 所有用户。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| attendee                 | 否    | NSArray\<[HWMAttendeeInfo] \*\> \*                                                          | **参数解释：** 成员列表，可选。 **约束限制：** 不涉及。 **默认取值** **：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| isSmsOn                  | 否    | BOOL                                                                                                                                     | **参数解释：** 发送短信通知开关。 **约束限制：** 保留字段，暂不提供短信通知能力。 **默认取值：** NO 不发送短信通知。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| isMailOn                 | 否    | BOOL                                                                                                                                     | **参数解释：** 发送邮件通知开关，可选参数。 **约束限制：** 企业配置里面需要开启，否则不生效。 **默认取值：** NO 不发送邮件通知。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| isEmailCalenderOn        | 否    | BOOL                                                                                                                                     | **参数解释：** 发送邮件日历开关。 **约束限制：** 企业配置里面需要开启，否则不生效。 **默认取值：** NO 不发送邮件日历。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| noPassword               | 否    | BOOL                                                                                                                                     | **参数解释：** 会议是否无密码。 **约束限制：** 仅对随机会议ID生效。 **默认取值** **：** NO 有密码。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| guestPwd                 | 否    | NSString                                                                                                                                 | **参数解释：** 来宾密码。 **约束限制：** 如果空则服务器随机生成。仅对随机会议ID生效。 **取值范围：** 0-64个字符。 **默认取值** **：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                             |
| isVideo                  | 否    | BOOL                                                                                                                                     | **参数解释：** 是否预约视频会议。 **约束限制：** 不涉及。 **默认取值** **：** YES 视频会议。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| vmrConfIdType            | 否    | [HWMVmrConfIdType]                                                                           | **参数解释：** 云会议室的会议ID类型。 **约束限制：** 不涉及。 **默认取值** **：** HWMVmrConfIdTypeFixed 固定类型。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| allowGuestStartConf      | 否    | BOOL                                                                                                                                     | **参数解释：** 是否允许来宾提前启动会议。 **约束限制：** - 仅针对随机会议ID的会议生效。  - 固定会议ID的会议，请使用[修改云会议室信息](https://support.huaweicloud.com/sdkreference-meeting/meeting_22_0242.html)接口设置。   **默认取值：** YES 允许来宾提前启动会议。                                                                                                                                                                                                             |
| allowGuestStartConfTime  | 否    | NSUInteger                                                                                                                               | **参数解释：** 允许来宾提前入会时间范围（单位：分钟）。 **约束限制**： - 仅针对随机会议ID的会议生效。  - 固定会议ID的会议，不支持设置提前入会时间。   **取值范围：** - 0 - 随时。  - x - 提前x分钟启动会议。   **默认取值：** 0 随时。 |
| isOpenWaitingRoom        | 否    | BOOL                                                                                                                                     | **参数解释：** 是否开启等候室。 **约束限制：** 需要等候室功能开通后才能生效。 **默认取值** **：** NO 不开启等候室。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| customInfo               | 否    | NSString \*                                                                                                                              | **参数解释：** 自定信息（会议详情、会中消息推送可以查看）。 **约束限制：** 不涉及。 **取值范围：** 0-64个字符。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                      |
| concurrentParticipants   | 否    | NSUInteger                                                                                                                               | **参数解释：** 会议方数，会议最大与会人数限制。 **约束限制**： 不涉及。 **取值范围**： - 0：无限制。  - 大于0：会议最大与会人数。   **默认取值**： 不填则不限制。                                                                                                                                                                                                                   |
| confResType              | 否    | [HWMConfResType](https://support.huaweicloud.com/sdkreference-meeting/meeting_22_0231.html#ZH-CN_TOPIC_0293109575__table183441417169)    | **参数解释：** 会议资源类型。 **约束限制：** 不涉及。 **默认取值：** HWMSDKConfRestypeDefault 默认。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| autoMuteMode             | 否    | [HWMAutoMuteType](https://support.huaweicloud.com/sdkreference-meeting/meeting_22_0231.html#ZH-CN_TOPIC_0293109575__table1228117332499)  | **参数解释：** 来宾入会，软终端是否自动静音。 **约束限制：** 不涉及。 **默认取值：** HWMSDKAutoMuteTypeDefault 与默认配置一致。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| hardTerminalAutoMuteMode | 否    | [HWMAutoMuteType](https://support.huaweicloud.com/sdkreference-meeting/meeting_22_0231.html#ZH-CN_TOPIC_0293109575__table1228117332499)  | **参数解释：** 来宾入会，硬终端是否自动静音。 **约束限制：** 不涉及。 **默认取值：** HWMSDKAutoMuteTypeDefault 与默认配置一致。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| defaultSummaryState      | 否    | [HWMSummaryState](https://support.huaweicloud.com/sdkreference-meeting/meeting_22_0231.html#ZH-CN_TOPIC_0293109575__table65321050152615) | **参数解释：** 会议云录制是否包含纪要，初始值。 **约束限制：** 仅支持会议纪要时生效。 **默认取值：** HWMSDKSummaryStateClose 会议纪要关闭。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| autoPublishSummary       | 否    | BOOL                                                                                                                                     | **参数解释：** 是否自动发布纪要（免人工审核）。 **约束限制**： 不涉及。 **默认取值**： NO 不自动发布纪要。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| attendeesExcludeSelf     | 否    | BOOL                                                                                                                                     | **参数解释：** 预约会议是否去掉预定者。 **约束限制**： 不涉及。 **默认取值**： NO 携带预定者。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   
 表2枚举HWMJoinConfRestrictionType说明 
| 参数                            | 值 | 说明    |
|:---|:--|:---|
| HWMJoinConfRestrictionAll     | 0 | 所有用户  |
| HWMJoinConfRestrictionCompany | 2 | 企业内用户 |
| HWMJoinConfRestrictionInvited | 3 | 被邀请用户 |
   
 表3HWMAttendeeInfo 参数说明 
| 参数          | 是否必传 | 类型                                                                                                                                                                   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| number      | 否    | NSString \*                                                                                                                                                          | **参数解释：** 号码。 **约束限制**： 如果填分配给账号的sip号码（如+99111244216210249）则呼叫该账号的App；如果填PSTN号码（如18700000000），则通过VoIP网关呼叫该号码，前提是该企业已开通PSTN呼叫权限。与thirdUserId二选一，账号密码鉴权时使用。 **取值范围**： 0-128个字符。 **默认取值**： 不涉及。 |
| thirdUserId | 否    | NSString \*                                                                                                                                                          | **参数解释：** 第三方用户ID。 **约束限制**： 与number二选一，App ID鉴权时使用。 **取值范围**： 0-128个字符。 **默认取值**： 不涉及。                                                                                                                       |
| name        | 否    | NSString \*                                                                                                                                                          | **参数解释：** 与会者名称。 **约束限制**： 不涉及。 **取值范围**： 0-256个字符。 **默认取值**： 不涉及。                                                                                                                            |
| email       | 否    | NSString \*                                                                                                                                                          | **参数解释：** 电子邮箱地址，用于发送邮件通知。 **约束限制**： 不涉及。 **取值范围**： 0-256个字符。 **默认取值**： 不涉及。                                                                                                               |
| sms         | 否    | NSString \*                                                                                                                                                          | **参数解释：** 短信通知手机号码，用于发送短信通知。 **约束限制**： 不涉及。 **取值范围**： 0-128个字符。 **默认取值**： 不涉及。                                                                                                       |
| role        | 否    | [HWMConfRoleType]                                                                                                       | **参数解释：** 会议角色。 **约束限制**： 不涉及。 **默认取值**： HWMConfRoleTypeAttendee 普通与会者。                                                                                                                                                                                                |
| accountId   | 否    | NSString \*                                                                                                                                                          | **参数解释：** 用户UUID。 **约束限制**： 不涉及。 **取值范围**： 0-128个字符。 **默认取值：** 不涉及。                                                                                                                    |
| mute        | 否    | BOOL                                                                                                                                                                 | **参数解释：** 是否闭音。 **约束限制**： 不涉及。 **默认取值**： NO 不静音。                                                                                                                                                                                                                        |
| isAnonymous | 否    | BOOL                                                                                                                                                                 | **参数解释：** 是否是匿名入会（仅用于获取与会者列表使用）。                                                                                                                                                                                                                                                                                                                                                                                                            |
| state       | 否    | [HWMAttendeeState](https://support.huaweicloud.com/sdkreference-meeting/toctopics/zh-cn_topic_0000001134910096.html#ZH-CN_TOPIC_0000001134910096__table133538713618) | **参数解释：** 与会者状态（仅用于获取与会者列表使用）。                                                                                                                                                                                                                                                                                                                                                                                                              |
| orgId       | 否    | NSString \*                                                                                                                                                          | **参数解释：** 用于识别是否是本企业账号（仅用于获取与会者列表使用）。                                                                                                                                                                                                                                                                                                                                                                                                       |
   
 表4枚举HWMConfRoleType说明 
| 参数                      | 说明    |
|:---|:---|
| HWMConfRoleTypeAttendee | 普通与会者 |
| HWMConfRoleTypeChairman | 主持人   |
   
 表5枚举HWMVmrConfIdType说明 
| 枚举值                    | 描述                |
|:---|:---|
| HWMVmrConfIdTypeFixed  | 云会议室的会议ID类型是固定类型。 |
| HWMVmrConfIdTypeRandom | 云会议室的会议ID类型是随机类型。 |
   
**示例代码**
```
/// 预约会议
- (void)bookConf {
    HWMOrderConfParam * param = [[HWMOrderConfParam alloc] init];
    param.confSubject = @"会议名称";
    param.startTime = 1598759580;
    param.duration = 15;
    param.isAutoRecord = NO;
    param.timeZone = 56;
    param.vmrId = @"";
    param.attendee = self.attenteeArr;
    param.callInRestrictionType = HWMCallRestrictionAll;
    [[HWMBizSdk getBizOpenApi] bookConf:param callback:^(NSError *_Nullable error, id _Nullable result) {
        if (error) {
            NSLog(@"预约会议失败:%@", error.localizedDescription);
        } else {
            NSLog(@"预约会议成功");
        }
    }];
}
```
