"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
    var ownKeys = function(o) {
        ownKeys = Object.getOwnPropertyNames || function (o) {
            var ar = [];
            for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
            return ar;
        };
        return ownKeys(o);
    };
    return function (mod) {
        if (mod && mod.__esModule) return mod;
        var result = {};
        if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
        __setModuleDefault(result, mod);
        return result;
    };
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.BillSettementBtripTrainResponseBodyModule = exports.BillSettementBtripTrainResponseBodyModuleDataList = exports.SyncExceedApplyResponse = exports.SyncExceedApplyResponseBody = exports.SyncExceedApplyRequest = exports.SyncExceedApplyHeaders = exports.QueryUnionOrderResponse = exports.QueryUnionOrderResponseBody = exports.QueryUnionOrderRequest = exports.QueryUnionOrderHeaders = exports.QueryCityCarApplyResponse = exports.QueryCityCarApplyResponseBody = exports.QueryCityCarApplyRequest = exports.QueryCityCarApplyHeaders = exports.GetTrainExceedApplyResponse = exports.GetTrainExceedApplyResponseBody = exports.GetTrainExceedApplyRequest = exports.GetTrainExceedApplyHeaders = exports.GetHotelExceedApplyResponse = exports.GetHotelExceedApplyResponseBody = exports.GetHotelExceedApplyRequest = exports.GetHotelExceedApplyHeaders = exports.GetFlightExceedApplyResponse = exports.GetFlightExceedApplyResponseBody = exports.GetFlightExceedApplyRequest = exports.GetFlightExceedApplyHeaders = exports.BillSettementHotelResponse = exports.BillSettementHotelResponseBody = exports.BillSettementHotelRequest = exports.BillSettementHotelHeaders = exports.BillSettementFlightResponse = exports.BillSettementFlightResponseBody = exports.BillSettementFlightRequest = exports.BillSettementFlightHeaders = exports.BillSettementCarResponse = exports.BillSettementCarResponseBody = exports.BillSettementCarRequest = exports.BillSettementCarHeaders = exports.BillSettementBtripTrainResponse = exports.BillSettementBtripTrainResponseBody = exports.BillSettementBtripTrainRequest = exports.BillSettementBtripTrainHeaders = exports.ApproveCityCarApplyResponse = exports.ApproveCityCarApplyResponseBody = exports.ApproveCityCarApplyRequest = exports.ApproveCityCarApplyHeaders = exports.AddCityCarApplyResponse = exports.AddCityCarApplyResponseBody = exports.AddCityCarApplyRequest = exports.AddCityCarApplyHeaders = void 0;
exports.QueryUnionOrderResponseBodyVehicleList = exports.QueryUnionOrderResponseBodyTrainList = exports.QueryUnionOrderResponseBodyHotelList = exports.QueryUnionOrderResponseBodyFlightList = exports.QueryCityCarApplyResponseBodyApplyList = exports.QueryCityCarApplyResponseBodyApplyListItineraryList = exports.QueryCityCarApplyResponseBodyApplyListApproverList = exports.GetTrainExceedApplyResponseBodyApplyIntentionInfoDO = exports.GetHotelExceedApplyResponseBodyApplyIntentionInfoDO = exports.GetFlightExceedApplyResponseBodyApplyIntentionInfoDO = exports.BillSettementHotelResponseBodyModule = exports.BillSettementHotelResponseBodyModuleDataList = exports.BillSettementFlightResponseBodyModule = exports.BillSettementFlightResponseBodyModuleDataList = exports.BillSettementCarResponseBodyModule = exports.BillSettementCarResponseBodyModuleDataList = void 0;
// This file is auto-generated, don't edit it
/**
 */
const tea_util_1 = __importStar(require("@alicloud/tea-util")), $Util = tea_util_1;
const gateway_dingtalk_1 = __importDefault(require("@alicloud/gateway-dingtalk"));
const openapi_client_1 = __importStar(require("@alicloud/openapi-client")), $OpenApi = openapi_client_1;
const openapi_util_1 = __importDefault(require("@alicloud/openapi-util"));
const $tea = __importStar(require("@alicloud/tea-typescript"));
class AddCityCarApplyHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddCityCarApplyHeaders = AddCityCarApplyHeaders;
class AddCityCarApplyRequest extends $tea.Model {
    static names() {
        return {
            cause: 'cause',
            city: 'city',
            corpId: 'corpId',
            date: 'date',
            finishedDate: 'finishedDate',
            projectCode: 'projectCode',
            projectName: 'projectName',
            status: 'status',
            thirdPartApplyId: 'thirdPartApplyId',
            thirdPartCostCenterId: 'thirdPartCostCenterId',
            thirdPartInvoiceId: 'thirdPartInvoiceId',
            timesTotal: 'timesTotal',
            timesType: 'timesType',
            timesUsed: 'timesUsed',
            title: 'title',
            userId: 'userId',
        };
    }
    static types() {
        return {
            cause: 'string',
            city: 'string',
            corpId: 'string',
            date: 'string',
            finishedDate: 'string',
            projectCode: 'string',
            projectName: 'string',
            status: 'number',
            thirdPartApplyId: 'string',
            thirdPartCostCenterId: 'string',
            thirdPartInvoiceId: 'string',
            timesTotal: 'number',
            timesType: 'number',
            timesUsed: 'number',
            title: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddCityCarApplyRequest = AddCityCarApplyRequest;
class AddCityCarApplyResponseBody extends $tea.Model {
    static names() {
        return {
            applyId: 'applyId',
        };
    }
    static types() {
        return {
            applyId: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddCityCarApplyResponseBody = AddCityCarApplyResponseBody;
class AddCityCarApplyResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: AddCityCarApplyResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddCityCarApplyResponse = AddCityCarApplyResponse;
class ApproveCityCarApplyHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ApproveCityCarApplyHeaders = ApproveCityCarApplyHeaders;
class ApproveCityCarApplyRequest extends $tea.Model {
    static names() {
        return {
            corpId: 'corpId',
            operateTime: 'operateTime',
            remark: 'remark',
            status: 'status',
            thirdPartApplyId: 'thirdPartApplyId',
            userId: 'userId',
        };
    }
    static types() {
        return {
            corpId: 'string',
            operateTime: 'string',
            remark: 'string',
            status: 'number',
            thirdPartApplyId: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ApproveCityCarApplyRequest = ApproveCityCarApplyRequest;
class ApproveCityCarApplyResponseBody extends $tea.Model {
    static names() {
        return {
            approveResult: 'approveResult',
        };
    }
    static types() {
        return {
            approveResult: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ApproveCityCarApplyResponseBody = ApproveCityCarApplyResponseBody;
class ApproveCityCarApplyResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: ApproveCityCarApplyResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ApproveCityCarApplyResponse = ApproveCityCarApplyResponse;
class BillSettementBtripTrainHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BillSettementBtripTrainHeaders = BillSettementBtripTrainHeaders;
class BillSettementBtripTrainRequest extends $tea.Model {
    static names() {
        return {
            category: 'category',
            corpId: 'corpId',
            pageNumber: 'pageNumber',
            pageSize: 'pageSize',
            periodEnd: 'periodEnd',
            periodStart: 'periodStart',
        };
    }
    static types() {
        return {
            category: 'number',
            corpId: 'string',
            pageNumber: 'number',
            pageSize: 'number',
            periodEnd: 'string',
            periodStart: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BillSettementBtripTrainRequest = BillSettementBtripTrainRequest;
class BillSettementBtripTrainResponseBody extends $tea.Model {
    static names() {
        return {
            module: 'module',
            resultCode: 'resultCode',
            resultMsg: 'resultMsg',
            success: 'success',
        };
    }
    static types() {
        return {
            module: BillSettementBtripTrainResponseBodyModule,
            resultCode: 'number',
            resultMsg: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BillSettementBtripTrainResponseBody = BillSettementBtripTrainResponseBody;
class BillSettementBtripTrainResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: BillSettementBtripTrainResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BillSettementBtripTrainResponse = BillSettementBtripTrainResponse;
class BillSettementCarHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BillSettementCarHeaders = BillSettementCarHeaders;
class BillSettementCarRequest extends $tea.Model {
    static names() {
        return {
            category: 'category',
            corpId: 'corpId',
            pageNumber: 'pageNumber',
            pageSize: 'pageSize',
            periodEnd: 'periodEnd',
            periodStart: 'periodStart',
        };
    }
    static types() {
        return {
            category: 'number',
            corpId: 'string',
            pageNumber: 'number',
            pageSize: 'number',
            periodEnd: 'string',
            periodStart: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BillSettementCarRequest = BillSettementCarRequest;
class BillSettementCarResponseBody extends $tea.Model {
    static names() {
        return {
            module: 'module',
            resultCode: 'resultCode',
            resultMsg: 'resultMsg',
            success: 'success',
        };
    }
    static types() {
        return {
            module: BillSettementCarResponseBodyModule,
            resultCode: 'number',
            resultMsg: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BillSettementCarResponseBody = BillSettementCarResponseBody;
class BillSettementCarResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: BillSettementCarResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BillSettementCarResponse = BillSettementCarResponse;
class BillSettementFlightHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BillSettementFlightHeaders = BillSettementFlightHeaders;
class BillSettementFlightRequest extends $tea.Model {
    static names() {
        return {
            category: 'category',
            corpId: 'corpId',
            pageNumber: 'pageNumber',
            pageSize: 'pageSize',
            periodEnd: 'periodEnd',
            periodStart: 'periodStart',
        };
    }
    static types() {
        return {
            category: 'number',
            corpId: 'string',
            pageNumber: 'number',
            pageSize: 'number',
            periodEnd: 'string',
            periodStart: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BillSettementFlightRequest = BillSettementFlightRequest;
class BillSettementFlightResponseBody extends $tea.Model {
    static names() {
        return {
            module: 'module',
            resultCode: 'resultCode',
            resultMsg: 'resultMsg',
            success: 'success',
        };
    }
    static types() {
        return {
            module: BillSettementFlightResponseBodyModule,
            resultCode: 'number',
            resultMsg: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BillSettementFlightResponseBody = BillSettementFlightResponseBody;
class BillSettementFlightResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: BillSettementFlightResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BillSettementFlightResponse = BillSettementFlightResponse;
class BillSettementHotelHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BillSettementHotelHeaders = BillSettementHotelHeaders;
class BillSettementHotelRequest extends $tea.Model {
    static names() {
        return {
            category: 'category',
            corpId: 'corpId',
            pageNumber: 'pageNumber',
            pageSize: 'pageSize',
            periodEnd: 'periodEnd',
            periodStart: 'periodStart',
        };
    }
    static types() {
        return {
            category: 'number',
            corpId: 'string',
            pageNumber: 'number',
            pageSize: 'number',
            periodEnd: 'string',
            periodStart: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BillSettementHotelRequest = BillSettementHotelRequest;
class BillSettementHotelResponseBody extends $tea.Model {
    static names() {
        return {
            module: 'module',
            resultCode: 'resultCode',
            resultMsg: 'resultMsg',
            success: 'success',
        };
    }
    static types() {
        return {
            module: BillSettementHotelResponseBodyModule,
            resultCode: 'number',
            resultMsg: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BillSettementHotelResponseBody = BillSettementHotelResponseBody;
class BillSettementHotelResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: BillSettementHotelResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BillSettementHotelResponse = BillSettementHotelResponse;
class GetFlightExceedApplyHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetFlightExceedApplyHeaders = GetFlightExceedApplyHeaders;
class GetFlightExceedApplyRequest extends $tea.Model {
    static names() {
        return {
            applyId: 'applyId',
            corpId: 'corpId',
        };
    }
    static types() {
        return {
            applyId: 'string',
            corpId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetFlightExceedApplyRequest = GetFlightExceedApplyRequest;
class GetFlightExceedApplyResponseBody extends $tea.Model {
    static names() {
        return {
            applyId: 'applyId',
            applyIntentionInfoDO: 'applyIntentionInfoDO',
            btripCause: 'btripCause',
            corpId: 'corpId',
            exceedReason: 'exceedReason',
            exceedType: 'exceedType',
            originStandard: 'originStandard',
            status: 'status',
            submitTime: 'submitTime',
            thirdpartApplyId: 'thirdpartApplyId',
            userId: 'userId',
        };
    }
    static types() {
        return {
            applyId: 'number',
            applyIntentionInfoDO: GetFlightExceedApplyResponseBodyApplyIntentionInfoDO,
            btripCause: 'string',
            corpId: 'string',
            exceedReason: 'string',
            exceedType: 'number',
            originStandard: 'string',
            status: 'number',
            submitTime: 'string',
            thirdpartApplyId: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetFlightExceedApplyResponseBody = GetFlightExceedApplyResponseBody;
class GetFlightExceedApplyResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: GetFlightExceedApplyResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetFlightExceedApplyResponse = GetFlightExceedApplyResponse;
class GetHotelExceedApplyHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetHotelExceedApplyHeaders = GetHotelExceedApplyHeaders;
class GetHotelExceedApplyRequest extends $tea.Model {
    static names() {
        return {
            applyId: 'applyId',
            corpId: 'corpId',
        };
    }
    static types() {
        return {
            applyId: 'string',
            corpId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetHotelExceedApplyRequest = GetHotelExceedApplyRequest;
class GetHotelExceedApplyResponseBody extends $tea.Model {
    static names() {
        return {
            applyId: 'applyId',
            applyIntentionInfoDO: 'applyIntentionInfoDO',
            btripCause: 'btripCause',
            corpId: 'corpId',
            exceedReason: 'exceedReason',
            exceedType: 'exceedType',
            originStandard: 'originStandard',
            status: 'status',
            submitTime: 'submitTime',
            thirdpartApplyId: 'thirdpartApplyId',
            userId: 'userId',
        };
    }
    static types() {
        return {
            applyId: 'number',
            applyIntentionInfoDO: GetHotelExceedApplyResponseBodyApplyIntentionInfoDO,
            btripCause: 'string',
            corpId: 'string',
            exceedReason: 'string',
            exceedType: 'number',
            originStandard: 'string',
            status: 'number',
            submitTime: 'string',
            thirdpartApplyId: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetHotelExceedApplyResponseBody = GetHotelExceedApplyResponseBody;
class GetHotelExceedApplyResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: GetHotelExceedApplyResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetHotelExceedApplyResponse = GetHotelExceedApplyResponse;
class GetTrainExceedApplyHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetTrainExceedApplyHeaders = GetTrainExceedApplyHeaders;
class GetTrainExceedApplyRequest extends $tea.Model {
    static names() {
        return {
            applyId: 'applyId',
            corpId: 'corpId',
        };
    }
    static types() {
        return {
            applyId: 'string',
            corpId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetTrainExceedApplyRequest = GetTrainExceedApplyRequest;
class GetTrainExceedApplyResponseBody extends $tea.Model {
    static names() {
        return {
            applyId: 'applyId',
            applyIntentionInfoDO: 'applyIntentionInfoDO',
            btripCause: 'btripCause',
            corpId: 'corpId',
            exceedReason: 'exceedReason',
            exceedType: 'exceedType',
            originStandard: 'originStandard',
            status: 'status',
            submitTime: 'submitTime',
            thirdpartApplyId: 'thirdpartApplyId',
            userId: 'userId',
        };
    }
    static types() {
        return {
            applyId: 'number',
            applyIntentionInfoDO: GetTrainExceedApplyResponseBodyApplyIntentionInfoDO,
            btripCause: 'string',
            corpId: 'string',
            exceedReason: 'string',
            exceedType: 'number',
            originStandard: 'string',
            status: 'number',
            submitTime: 'string',
            thirdpartApplyId: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetTrainExceedApplyResponseBody = GetTrainExceedApplyResponseBody;
class GetTrainExceedApplyResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: GetTrainExceedApplyResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetTrainExceedApplyResponse = GetTrainExceedApplyResponse;
class QueryCityCarApplyHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryCityCarApplyHeaders = QueryCityCarApplyHeaders;
class QueryCityCarApplyRequest extends $tea.Model {
    static names() {
        return {
            corpId: 'corpId',
            createdEndAt: 'createdEndAt',
            createdStartAt: 'createdStartAt',
            pageNumber: 'pageNumber',
            pageSize: 'pageSize',
            thirdPartApplyId: 'thirdPartApplyId',
            userId: 'userId',
        };
    }
    static types() {
        return {
            corpId: 'string',
            createdEndAt: 'string',
            createdStartAt: 'string',
            pageNumber: 'number',
            pageSize: 'number',
            thirdPartApplyId: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryCityCarApplyRequest = QueryCityCarApplyRequest;
class QueryCityCarApplyResponseBody extends $tea.Model {
    static names() {
        return {
            applyList: 'applyList',
            total: 'total',
        };
    }
    static types() {
        return {
            applyList: { 'type': 'array', 'itemType': QueryCityCarApplyResponseBodyApplyList },
            total: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryCityCarApplyResponseBody = QueryCityCarApplyResponseBody;
class QueryCityCarApplyResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: QueryCityCarApplyResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryCityCarApplyResponse = QueryCityCarApplyResponse;
class QueryUnionOrderHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryUnionOrderHeaders = QueryUnionOrderHeaders;
class QueryUnionOrderRequest extends $tea.Model {
    static names() {
        return {
            corpId: 'corpId',
            thirdPartApplyId: 'thirdPartApplyId',
            unionNo: 'unionNo',
        };
    }
    static types() {
        return {
            corpId: 'string',
            thirdPartApplyId: 'string',
            unionNo: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryUnionOrderRequest = QueryUnionOrderRequest;
class QueryUnionOrderResponseBody extends $tea.Model {
    static names() {
        return {
            corpId: 'corpId',
            flightList: 'flightList',
            hotelList: 'hotelList',
            trainList: 'trainList',
            vehicleList: 'vehicleList',
        };
    }
    static types() {
        return {
            corpId: 'string',
            flightList: { 'type': 'array', 'itemType': QueryUnionOrderResponseBodyFlightList },
            hotelList: { 'type': 'array', 'itemType': QueryUnionOrderResponseBodyHotelList },
            trainList: { 'type': 'array', 'itemType': QueryUnionOrderResponseBodyTrainList },
            vehicleList: { 'type': 'array', 'itemType': QueryUnionOrderResponseBodyVehicleList },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryUnionOrderResponseBody = QueryUnionOrderResponseBody;
class QueryUnionOrderResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: QueryUnionOrderResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryUnionOrderResponse = QueryUnionOrderResponse;
class SyncExceedApplyHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncExceedApplyHeaders = SyncExceedApplyHeaders;
class SyncExceedApplyRequest extends $tea.Model {
    static names() {
        return {
            applyId: 'applyId',
            corpId: 'corpId',
            remark: 'remark',
            status: 'status',
            thirdpartyFlowId: 'thirdpartyFlowId',
            userId: 'userId',
        };
    }
    static types() {
        return {
            applyId: 'string',
            corpId: 'string',
            remark: 'string',
            status: 'number',
            thirdpartyFlowId: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncExceedApplyRequest = SyncExceedApplyRequest;
class SyncExceedApplyResponseBody extends $tea.Model {
    static names() {
        return {
            module: 'module',
        };
    }
    static types() {
        return {
            module: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncExceedApplyResponseBody = SyncExceedApplyResponseBody;
class SyncExceedApplyResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: SyncExceedApplyResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncExceedApplyResponse = SyncExceedApplyResponse;
class BillSettementBtripTrainResponseBodyModuleDataList extends $tea.Model {
    static names() {
        return {
            alipayTradeNo: 'alipayTradeNo',
            applyId: 'applyId',
            arrDate: 'arrDate',
            arrStation: 'arrStation',
            arrTime: 'arrTime',
            billRecordTime: 'billRecordTime',
            bookTime: 'bookTime',
            bookerId: 'bookerId',
            bookerJobNo: 'bookerJobNo',
            bookerName: 'bookerName',
            capitalDirection: 'capitalDirection',
            cascadeDepartment: 'cascadeDepartment',
            changeFee: 'changeFee',
            coachNo: 'coachNo',
            costCenter: 'costCenter',
            costCenterNumber: 'costCenterNumber',
            coupon: 'coupon',
            department: 'department',
            departmentId: 'departmentId',
            deptDate: 'deptDate',
            deptStation: 'deptStation',
            deptTime: 'deptTime',
            feeType: 'feeType',
            index: 'index',
            invoiceTitle: 'invoiceTitle',
            orderId: 'orderId',
            orderPrice: 'orderPrice',
            overApplyId: 'overApplyId',
            primaryId: 'primaryId',
            projectCode: 'projectCode',
            projectName: 'projectName',
            refundFee: 'refundFee',
            remark: 'remark',
            runTime: 'runTime',
            seatNo: 'seatNo',
            seatType: 'seatType',
            serviceFee: 'serviceFee',
            settlementFee: 'settlementFee',
            settlementGrantFee: 'settlementGrantFee',
            settlementTime: 'settlementTime',
            settlementType: 'settlementType',
            shortTicketNo: 'shortTicketNo',
            status: 'status',
            ticketNo: 'ticketNo',
            ticketPrice: 'ticketPrice',
            trainNo: 'trainNo',
            trainType: 'trainType',
            travelerId: 'travelerId',
            travelerJobNo: 'travelerJobNo',
            travelerName: 'travelerName',
            voucherType: 'voucherType',
        };
    }
    static types() {
        return {
            alipayTradeNo: 'string',
            applyId: 'string',
            arrDate: 'string',
            arrStation: 'string',
            arrTime: 'string',
            billRecordTime: 'string',
            bookTime: 'string',
            bookerId: 'string',
            bookerJobNo: 'string',
            bookerName: 'string',
            capitalDirection: 'string',
            cascadeDepartment: 'string',
            changeFee: 'number',
            coachNo: 'string',
            costCenter: 'string',
            costCenterNumber: 'string',
            coupon: 'number',
            department: 'string',
            departmentId: 'string',
            deptDate: 'string',
            deptStation: 'string',
            deptTime: 'string',
            feeType: 'string',
            index: 'string',
            invoiceTitle: 'string',
            orderId: 'string',
            orderPrice: 'number',
            overApplyId: 'string',
            primaryId: 'number',
            projectCode: 'string',
            projectName: 'string',
            refundFee: 'number',
            remark: 'string',
            runTime: 'string',
            seatNo: 'string',
            seatType: 'string',
            serviceFee: 'number',
            settlementFee: 'number',
            settlementGrantFee: 'number',
            settlementTime: 'string',
            settlementType: 'string',
            shortTicketNo: 'string',
            status: 'number',
            ticketNo: 'string',
            ticketPrice: 'number',
            trainNo: 'string',
            trainType: 'string',
            travelerId: 'string',
            travelerJobNo: 'string',
            travelerName: 'string',
            voucherType: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BillSettementBtripTrainResponseBodyModuleDataList = BillSettementBtripTrainResponseBodyModuleDataList;
class BillSettementBtripTrainResponseBodyModule extends $tea.Model {
    static names() {
        return {
            category: 'category',
            corpId: 'corpId',
            dataList: 'dataList',
            periodEnd: 'periodEnd',
            periodStart: 'periodStart',
            totalNum: 'totalNum',
        };
    }
    static types() {
        return {
            category: 'number',
            corpId: 'string',
            dataList: { 'type': 'array', 'itemType': BillSettementBtripTrainResponseBodyModuleDataList },
            periodEnd: 'string',
            periodStart: 'string',
            totalNum: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BillSettementBtripTrainResponseBodyModule = BillSettementBtripTrainResponseBodyModule;
class BillSettementCarResponseBodyModuleDataList extends $tea.Model {
    static names() {
        return {
            alipayTradeNo: 'alipayTradeNo',
            applyId: 'applyId',
            arrCity: 'arrCity',
            arrDate: 'arrDate',
            arrLocation: 'arrLocation',
            arrTime: 'arrTime',
            billRecordTime: 'billRecordTime',
            bookTime: 'bookTime',
            bookerId: 'bookerId',
            bookerJobNo: 'bookerJobNo',
            bookerName: 'bookerName',
            businessCategory: 'businessCategory',
            capitalDirection: 'capitalDirection',
            carLevel: 'carLevel',
            cascadeDepartment: 'cascadeDepartment',
            costCenter: 'costCenter',
            costCenterNumber: 'costCenterNumber',
            coupon: 'coupon',
            couponPrice: 'couponPrice',
            department: 'department',
            departmentId: 'departmentId',
            deptCity: 'deptCity',
            deptDate: 'deptDate',
            deptLocation: 'deptLocation',
            deptTime: 'deptTime',
            estimateDriveDistance: 'estimateDriveDistance',
            estimatePrice: 'estimatePrice',
            feeType: 'feeType',
            index: 'index',
            invoiceTitle: 'invoiceTitle',
            memo: 'memo',
            orderId: 'orderId',
            orderPrice: 'orderPrice',
            overApplyId: 'overApplyId',
            personSettleFee: 'personSettleFee',
            primaryId: 'primaryId',
            projectCode: 'projectCode',
            projectName: 'projectName',
            providerName: 'providerName',
            realDriveDistance: 'realDriveDistance',
            realFromAddr: 'realFromAddr',
            realToAddr: 'realToAddr',
            remark: 'remark',
            serviceFee: 'serviceFee',
            settlementFee: 'settlementFee',
            settlementGrantFee: 'settlementGrantFee',
            settlementTime: 'settlementTime',
            settlementType: 'settlementType',
            specialOrder: 'specialOrder',
            specialReason: 'specialReason',
            status: 'status',
            subOrderId: 'subOrderId',
            travelerId: 'travelerId',
            travelerJobNo: 'travelerJobNo',
            travelerName: 'travelerName',
            userConfirmDesc: 'userConfirmDesc',
            voucherType: 'voucherType',
        };
    }
    static types() {
        return {
            alipayTradeNo: 'string',
            applyId: 'string',
            arrCity: 'string',
            arrDate: 'string',
            arrLocation: 'string',
            arrTime: 'string',
            billRecordTime: 'string',
            bookTime: 'string',
            bookerId: 'string',
            bookerJobNo: 'string',
            bookerName: 'string',
            businessCategory: 'string',
            capitalDirection: 'string',
            carLevel: 'string',
            cascadeDepartment: 'string',
            costCenter: 'string',
            costCenterNumber: 'string',
            coupon: 'number',
            couponPrice: 'number',
            department: 'string',
            departmentId: 'string',
            deptCity: 'string',
            deptDate: 'string',
            deptLocation: 'string',
            deptTime: 'string',
            estimateDriveDistance: 'string',
            estimatePrice: 'number',
            feeType: 'string',
            index: 'string',
            invoiceTitle: 'string',
            memo: 'string',
            orderId: 'string',
            orderPrice: 'number',
            overApplyId: 'string',
            personSettleFee: 'number',
            primaryId: 'string',
            projectCode: 'string',
            projectName: 'string',
            providerName: 'string',
            realDriveDistance: 'string',
            realFromAddr: 'string',
            realToAddr: 'string',
            remark: 'string',
            serviceFee: 'string',
            settlementFee: 'number',
            settlementGrantFee: 'number',
            settlementTime: 'string',
            settlementType: 'string',
            specialOrder: 'string',
            specialReason: 'string',
            status: 'number',
            subOrderId: 'string',
            travelerId: 'string',
            travelerJobNo: 'string',
            travelerName: 'string',
            userConfirmDesc: 'string',
            voucherType: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BillSettementCarResponseBodyModuleDataList = BillSettementCarResponseBodyModuleDataList;
class BillSettementCarResponseBodyModule extends $tea.Model {
    static names() {
        return {
            category: 'category',
            corpId: 'corpId',
            dataList: 'dataList',
            periodEnd: 'periodEnd',
            periodStart: 'periodStart',
            totalNum: 'totalNum',
        };
    }
    static types() {
        return {
            category: 'number',
            corpId: 'string',
            dataList: { 'type': 'array', 'itemType': BillSettementCarResponseBodyModuleDataList },
            periodEnd: 'string',
            periodStart: 'string',
            totalNum: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BillSettementCarResponseBodyModule = BillSettementCarResponseBodyModule;
class BillSettementFlightResponseBodyModuleDataList extends $tea.Model {
    static names() {
        return {
            advanceDay: 'advanceDay',
            airlineCorpCode: 'airlineCorpCode',
            airlineCorpName: 'airlineCorpName',
            alipayTradeNo: 'alipayTradeNo',
            applyId: 'applyId',
            arrAirportCode: 'arrAirportCode',
            arrCity: 'arrCity',
            arrDate: 'arrDate',
            arrStation: 'arrStation',
            arrTime: 'arrTime',
            billRecordTime: 'billRecordTime',
            bookTime: 'bookTime',
            bookerId: 'bookerId',
            bookerJobNo: 'bookerJobNo',
            bookerName: 'bookerName',
            btripCouponFee: 'btripCouponFee',
            buildFee: 'buildFee',
            cabin: 'cabin',
            cabinClass: 'cabinClass',
            capitalDirection: 'capitalDirection',
            cascadeDepartment: 'cascadeDepartment',
            changeFee: 'changeFee',
            corpPayOrderFee: 'corpPayOrderFee',
            costCenter: 'costCenter',
            costCenterNumber: 'costCenterNumber',
            coupon: 'coupon',
            depAirportCode: 'depAirportCode',
            department: 'department',
            departmentId: 'departmentId',
            deptCity: 'deptCity',
            deptDate: 'deptDate',
            deptStation: 'deptStation',
            deptTime: 'deptTime',
            discount: 'discount',
            feeType: 'feeType',
            flightNo: 'flightNo',
            index: 'index',
            insuranceFee: 'insuranceFee',
            invoiceTitle: 'invoiceTitle',
            itineraryNum: 'itineraryNum',
            itineraryPrice: 'itineraryPrice',
            mostDifferenceDeptTime: 'mostDifferenceDeptTime',
            mostDifferenceDiscount: 'mostDifferenceDiscount',
            mostDifferenceFlightNo: 'mostDifferenceFlightNo',
            mostDifferencePrice: 'mostDifferencePrice',
            mostDifferenceReason: 'mostDifferenceReason',
            mostPrice: 'mostPrice',
            negotiationCouponFee: 'negotiationCouponFee',
            oilFee: 'oilFee',
            orderId: 'orderId',
            overApplyId: 'overApplyId',
            primaryId: 'primaryId',
            projectCode: 'projectCode',
            projectName: 'projectName',
            refundFee: 'refundFee',
            refundUpgradeCost: 'refundUpgradeCost',
            remark: 'remark',
            repeatRefund: 'repeatRefund',
            sealPrice: 'sealPrice',
            serviceFee: 'serviceFee',
            settlementFee: 'settlementFee',
            settlementGrantFee: 'settlementGrantFee',
            settlementTime: 'settlementTime',
            settlementType: 'settlementType',
            status: 'status',
            ticketId: 'ticketId',
            travelerId: 'travelerId',
            travelerJobNo: 'travelerJobNo',
            travelerName: 'travelerName',
            upgradeCost: 'upgradeCost',
            voucherType: 'voucherType',
        };
    }
    static types() {
        return {
            advanceDay: 'number',
            airlineCorpCode: 'string',
            airlineCorpName: 'string',
            alipayTradeNo: 'string',
            applyId: 'string',
            arrAirportCode: 'string',
            arrCity: 'string',
            arrDate: 'string',
            arrStation: 'string',
            arrTime: 'string',
            billRecordTime: 'string',
            bookTime: 'string',
            bookerId: 'string',
            bookerJobNo: 'string',
            bookerName: 'string',
            btripCouponFee: 'number',
            buildFee: 'number',
            cabin: 'string',
            cabinClass: 'string',
            capitalDirection: 'string',
            cascadeDepartment: 'string',
            changeFee: 'number',
            corpPayOrderFee: 'number',
            costCenter: 'string',
            costCenterNumber: 'string',
            coupon: 'number',
            depAirportCode: 'string',
            department: 'string',
            departmentId: 'string',
            deptCity: 'string',
            deptDate: 'string',
            deptStation: 'string',
            deptTime: 'string',
            discount: 'string',
            feeType: 'string',
            flightNo: 'string',
            index: 'string',
            insuranceFee: 'number',
            invoiceTitle: 'string',
            itineraryNum: 'string',
            itineraryPrice: 'number',
            mostDifferenceDeptTime: 'string',
            mostDifferenceDiscount: 'string',
            mostDifferenceFlightNo: 'string',
            mostDifferencePrice: 'number',
            mostDifferenceReason: 'string',
            mostPrice: 'number',
            negotiationCouponFee: 'number',
            oilFee: 'number',
            orderId: 'string',
            overApplyId: 'string',
            primaryId: 'number',
            projectCode: 'string',
            projectName: 'string',
            refundFee: 'number',
            refundUpgradeCost: 'number',
            remark: 'string',
            repeatRefund: 'string',
            sealPrice: 'number',
            serviceFee: 'number',
            settlementFee: 'number',
            settlementGrantFee: 'number',
            settlementTime: 'string',
            settlementType: 'string',
            status: 'number',
            ticketId: 'string',
            travelerId: 'string',
            travelerJobNo: 'string',
            travelerName: 'string',
            upgradeCost: 'number',
            voucherType: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BillSettementFlightResponseBodyModuleDataList = BillSettementFlightResponseBodyModuleDataList;
class BillSettementFlightResponseBodyModule extends $tea.Model {
    static names() {
        return {
            category: 'category',
            corpId: 'corpId',
            dataList: 'dataList',
            periodEnd: 'periodEnd',
            periodStart: 'periodStart',
            totalNum: 'totalNum',
        };
    }
    static types() {
        return {
            category: 'number',
            corpId: 'string',
            dataList: { 'type': 'array', 'itemType': BillSettementFlightResponseBodyModuleDataList },
            periodEnd: 'string',
            periodStart: 'string',
            totalNum: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BillSettementFlightResponseBodyModule = BillSettementFlightResponseBodyModule;
class BillSettementHotelResponseBodyModuleDataList extends $tea.Model {
    static names() {
        return {
            alipayTradeNo: 'alipayTradeNo',
            applyId: 'applyId',
            billRecordTime: 'billRecordTime',
            bookTime: 'bookTime',
            bookerId: 'bookerId',
            bookerJobNo: 'bookerJobNo',
            bookerName: 'bookerName',
            capitalDirection: 'capitalDirection',
            cascadeDepartment: 'cascadeDepartment',
            checkInDate: 'checkInDate',
            checkoutDate: 'checkoutDate',
            city: 'city',
            cityCode: 'cityCode',
            corpRefundFee: 'corpRefundFee',
            corpTotalFee: 'corpTotalFee',
            costCenter: 'costCenter',
            costCenterNumber: 'costCenterNumber',
            department: 'department',
            departmentId: 'departmentId',
            feeType: 'feeType',
            fees: 'fees',
            fuPointFee: 'fuPointFee',
            hotelName: 'hotelName',
            index: 'index',
            invoiceTitle: 'invoiceTitle',
            isNegotiation: 'isNegotiation',
            isShareStr: 'isShareStr',
            nights: 'nights',
            orderId: 'orderId',
            orderPrice: 'orderPrice',
            orderType: 'orderType',
            overApplyId: 'overApplyId',
            personRefundFee: 'personRefundFee',
            personSettlePrice: 'personSettlePrice',
            primaryId: 'primaryId',
            projectCode: 'projectCode',
            projectName: 'projectName',
            promotionFee: 'promotionFee',
            remark: 'remark',
            roomNumber: 'roomNumber',
            roomPrice: 'roomPrice',
            roomType: 'roomType',
            serviceFee: 'serviceFee',
            settlementFee: 'settlementFee',
            settlementGrantFee: 'settlementGrantFee',
            settlementTime: 'settlementTime',
            settlementType: 'settlementType',
            status: 'status',
            totalNights: 'totalNights',
            travelerId: 'travelerId',
            travelerJobNo: 'travelerJobNo',
            travelerName: 'travelerName',
            voucherType: 'voucherType',
        };
    }
    static types() {
        return {
            alipayTradeNo: 'string',
            applyId: 'string',
            billRecordTime: 'string',
            bookTime: 'string',
            bookerId: 'string',
            bookerJobNo: 'string',
            bookerName: 'string',
            capitalDirection: 'string',
            cascadeDepartment: 'string',
            checkInDate: 'string',
            checkoutDate: 'string',
            city: 'string',
            cityCode: 'string',
            corpRefundFee: 'number',
            corpTotalFee: 'number',
            costCenter: 'string',
            costCenterNumber: 'string',
            department: 'string',
            departmentId: 'string',
            feeType: 'string',
            fees: 'number',
            fuPointFee: 'number',
            hotelName: 'string',
            index: 'string',
            invoiceTitle: 'string',
            isNegotiation: 'boolean',
            isShareStr: 'string',
            nights: 'number',
            orderId: 'string',
            orderPrice: 'number',
            orderType: 'string',
            overApplyId: 'string',
            personRefundFee: 'number',
            personSettlePrice: 'number',
            primaryId: 'number',
            projectCode: 'string',
            projectName: 'string',
            promotionFee: 'number',
            remark: 'string',
            roomNumber: 'number',
            roomPrice: 'number',
            roomType: 'string',
            serviceFee: 'number',
            settlementFee: 'number',
            settlementGrantFee: 'number',
            settlementTime: 'string',
            settlementType: 'string',
            status: 'number',
            totalNights: 'number',
            travelerId: 'string',
            travelerJobNo: 'string',
            travelerName: 'string',
            voucherType: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BillSettementHotelResponseBodyModuleDataList = BillSettementHotelResponseBodyModuleDataList;
class BillSettementHotelResponseBodyModule extends $tea.Model {
    static names() {
        return {
            category: 'category',
            corpId: 'corpId',
            dataList: 'dataList',
            periodEnd: 'periodEnd',
            periodStart: 'periodStart',
            totalNum: 'totalNum',
        };
    }
    static types() {
        return {
            category: 'number',
            corpId: 'string',
            dataList: { 'type': 'array', 'itemType': BillSettementHotelResponseBodyModuleDataList },
            periodEnd: 'string',
            periodStart: 'string',
            totalNum: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BillSettementHotelResponseBodyModule = BillSettementHotelResponseBodyModule;
class GetFlightExceedApplyResponseBodyApplyIntentionInfoDO extends $tea.Model {
    static names() {
        return {
            arrCity: 'arrCity',
            arrCityName: 'arrCityName',
            arrTime: 'arrTime',
            cabin: 'cabin',
            cabinClass: 'cabinClass',
            cabinClassStr: 'cabinClassStr',
            depCity: 'depCity',
            depCityName: 'depCityName',
            depTime: 'depTime',
            discount: 'discount',
            flightNo: 'flightNo',
            price: 'price',
            type: 'type',
        };
    }
    static types() {
        return {
            arrCity: 'string',
            arrCityName: 'string',
            arrTime: 'string',
            cabin: 'string',
            cabinClass: 'number',
            cabinClassStr: 'string',
            depCity: 'string',
            depCityName: 'string',
            depTime: 'string',
            discount: 'number',
            flightNo: 'string',
            price: 'number',
            type: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetFlightExceedApplyResponseBodyApplyIntentionInfoDO = GetFlightExceedApplyResponseBodyApplyIntentionInfoDO;
class GetHotelExceedApplyResponseBodyApplyIntentionInfoDO extends $tea.Model {
    static names() {
        return {
            checkIn: 'checkIn',
            checkOut: 'checkOut',
            cityCode: 'cityCode',
            cityName: 'cityName',
            price: 'price',
            together: 'together',
            type: 'type',
        };
    }
    static types() {
        return {
            checkIn: 'string',
            checkOut: 'string',
            cityCode: 'string',
            cityName: 'string',
            price: 'number',
            together: 'boolean',
            type: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetHotelExceedApplyResponseBodyApplyIntentionInfoDO = GetHotelExceedApplyResponseBodyApplyIntentionInfoDO;
class GetTrainExceedApplyResponseBodyApplyIntentionInfoDO extends $tea.Model {
    static names() {
        return {
            arrCity: 'arrCity',
            arrCityName: 'arrCityName',
            arrStation: 'arrStation',
            arrTime: 'arrTime',
            depCity: 'depCity',
            depCityName: 'depCityName',
            depStation: 'depStation',
            depTime: 'depTime',
            price: 'price',
            seatName: 'seatName',
            trainNo: 'trainNo',
            trainTypeDesc: 'trainTypeDesc',
        };
    }
    static types() {
        return {
            arrCity: 'string',
            arrCityName: 'string',
            arrStation: 'string',
            arrTime: 'string',
            depCity: 'string',
            depCityName: 'string',
            depStation: 'string',
            depTime: 'string',
            price: 'number',
            seatName: 'string',
            trainNo: 'string',
            trainTypeDesc: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetTrainExceedApplyResponseBodyApplyIntentionInfoDO = GetTrainExceedApplyResponseBodyApplyIntentionInfoDO;
class QueryCityCarApplyResponseBodyApplyListApproverList extends $tea.Model {
    static names() {
        return {
            note: 'note',
            operateTime: 'operateTime',
            order: 'order',
            status: 'status',
            statusDesc: 'statusDesc',
            userId: 'userId',
            userName: 'userName',
        };
    }
    static types() {
        return {
            note: 'string',
            operateTime: 'string',
            order: 'number',
            status: 'number',
            statusDesc: 'string',
            userId: 'string',
            userName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryCityCarApplyResponseBodyApplyListApproverList = QueryCityCarApplyResponseBodyApplyListApproverList;
class QueryCityCarApplyResponseBodyApplyListItineraryList extends $tea.Model {
    static names() {
        return {
            arrCity: 'arrCity',
            arrCityCode: 'arrCityCode',
            arrDate: 'arrDate',
            costCenterId: 'costCenterId',
            costCenterName: 'costCenterName',
            depCity: 'depCity',
            depCityCode: 'depCityCode',
            depDate: 'depDate',
            invoiceId: 'invoiceId',
            invoiceName: 'invoiceName',
            itineraryId: 'itineraryId',
            projectCode: 'projectCode',
            projectTitle: 'projectTitle',
            trafficType: 'trafficType',
        };
    }
    static types() {
        return {
            arrCity: 'string',
            arrCityCode: 'string',
            arrDate: 'string',
            costCenterId: 'number',
            costCenterName: 'string',
            depCity: 'string',
            depCityCode: 'string',
            depDate: 'string',
            invoiceId: 'number',
            invoiceName: 'string',
            itineraryId: 'string',
            projectCode: 'string',
            projectTitle: 'string',
            trafficType: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryCityCarApplyResponseBodyApplyListItineraryList = QueryCityCarApplyResponseBodyApplyListItineraryList;
class QueryCityCarApplyResponseBodyApplyList extends $tea.Model {
    static names() {
        return {
            approverList: 'approverList',
            departId: 'departId',
            departName: 'departName',
            gmtCreate: 'gmtCreate',
            gmtModified: 'gmtModified',
            itineraryList: 'itineraryList',
            status: 'status',
            statusDesc: 'statusDesc',
            thirdPartApplyId: 'thirdPartApplyId',
            tripCause: 'tripCause',
            tripTitle: 'tripTitle',
            userId: 'userId',
            userName: 'userName',
        };
    }
    static types() {
        return {
            approverList: { 'type': 'array', 'itemType': QueryCityCarApplyResponseBodyApplyListApproverList },
            departId: 'string',
            departName: 'string',
            gmtCreate: 'string',
            gmtModified: 'string',
            itineraryList: { 'type': 'array', 'itemType': QueryCityCarApplyResponseBodyApplyListItineraryList },
            status: 'number',
            statusDesc: 'string',
            thirdPartApplyId: 'string',
            tripCause: 'string',
            tripTitle: 'string',
            userId: 'string',
            userName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryCityCarApplyResponseBodyApplyList = QueryCityCarApplyResponseBodyApplyList;
class QueryUnionOrderResponseBodyFlightList extends $tea.Model {
    static names() {
        return {
            flightOrderId: 'flightOrderId',
            flightOrderStatus: 'flightOrderStatus',
        };
    }
    static types() {
        return {
            flightOrderId: 'number',
            flightOrderStatus: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryUnionOrderResponseBodyFlightList = QueryUnionOrderResponseBodyFlightList;
class QueryUnionOrderResponseBodyHotelList extends $tea.Model {
    static names() {
        return {
            hotelOrderId: 'hotelOrderId',
            hotelOrderStatus: 'hotelOrderStatus',
        };
    }
    static types() {
        return {
            hotelOrderId: 'number',
            hotelOrderStatus: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryUnionOrderResponseBodyHotelList = QueryUnionOrderResponseBodyHotelList;
class QueryUnionOrderResponseBodyTrainList extends $tea.Model {
    static names() {
        return {
            trainOrderId: 'trainOrderId',
            trainOrderstatus: 'trainOrderstatus',
        };
    }
    static types() {
        return {
            trainOrderId: 'number',
            trainOrderstatus: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryUnionOrderResponseBodyTrainList = QueryUnionOrderResponseBodyTrainList;
class QueryUnionOrderResponseBodyVehicleList extends $tea.Model {
    static names() {
        return {
            vehicleOrderId: 'vehicleOrderId',
            vehicleOrderStatus: 'vehicleOrderStatus',
        };
    }
    static types() {
        return {
            vehicleOrderId: 'number',
            vehicleOrderStatus: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryUnionOrderResponseBodyVehicleList = QueryUnionOrderResponseBodyVehicleList;
class Client extends openapi_client_1.default {
    constructor(config) {
        super(config);
        let gatewayClient = new gateway_dingtalk_1.default();
        this._spi = gatewayClient;
        this._endpointRule = "";
        if (tea_util_1.default.empty(this._endpoint)) {
            this._endpoint = "api.dingtalk.com";
        }
    }
    /**
     * 同步第三方市内用车申请单
     *
     * @param request - AddCityCarApplyRequest
     * @param headers - AddCityCarApplyHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns AddCityCarApplyResponse
     */
    async addCityCarApplyWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.cause)) {
            body["cause"] = request.cause;
        }
        if (!tea_util_1.default.isUnset(request.city)) {
            body["city"] = request.city;
        }
        if (!tea_util_1.default.isUnset(request.corpId)) {
            body["corpId"] = request.corpId;
        }
        if (!tea_util_1.default.isUnset(request.date)) {
            body["date"] = request.date;
        }
        if (!tea_util_1.default.isUnset(request.finishedDate)) {
            body["finishedDate"] = request.finishedDate;
        }
        if (!tea_util_1.default.isUnset(request.projectCode)) {
            body["projectCode"] = request.projectCode;
        }
        if (!tea_util_1.default.isUnset(request.projectName)) {
            body["projectName"] = request.projectName;
        }
        if (!tea_util_1.default.isUnset(request.status)) {
            body["status"] = request.status;
        }
        if (!tea_util_1.default.isUnset(request.thirdPartApplyId)) {
            body["thirdPartApplyId"] = request.thirdPartApplyId;
        }
        if (!tea_util_1.default.isUnset(request.thirdPartCostCenterId)) {
            body["thirdPartCostCenterId"] = request.thirdPartCostCenterId;
        }
        if (!tea_util_1.default.isUnset(request.thirdPartInvoiceId)) {
            body["thirdPartInvoiceId"] = request.thirdPartInvoiceId;
        }
        if (!tea_util_1.default.isUnset(request.timesTotal)) {
            body["timesTotal"] = request.timesTotal;
        }
        if (!tea_util_1.default.isUnset(request.timesType)) {
            body["timesType"] = request.timesType;
        }
        if (!tea_util_1.default.isUnset(request.timesUsed)) {
            body["timesUsed"] = request.timesUsed;
        }
        if (!tea_util_1.default.isUnset(request.title)) {
            body["title"] = request.title;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "AddCityCarApply",
            version: "alitrip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/alitrip/cityCarApprovals`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new AddCityCarApplyResponse({}));
    }
    /**
     * 同步第三方市内用车申请单
     *
     * @param request - AddCityCarApplyRequest
     * @returns AddCityCarApplyResponse
     */
    async addCityCarApply(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new AddCityCarApplyHeaders({});
        return await this.addCityCarApplyWithOptions(request, headers, runtime);
    }
    /**
     * 三方市内用车申请单审批
     *
     * @param request - ApproveCityCarApplyRequest
     * @param headers - ApproveCityCarApplyHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ApproveCityCarApplyResponse
     */
    async approveCityCarApplyWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.corpId)) {
            body["corpId"] = request.corpId;
        }
        if (!tea_util_1.default.isUnset(request.operateTime)) {
            body["operateTime"] = request.operateTime;
        }
        if (!tea_util_1.default.isUnset(request.remark)) {
            body["remark"] = request.remark;
        }
        if (!tea_util_1.default.isUnset(request.status)) {
            body["status"] = request.status;
        }
        if (!tea_util_1.default.isUnset(request.thirdPartApplyId)) {
            body["thirdPartApplyId"] = request.thirdPartApplyId;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "ApproveCityCarApply",
            version: "alitrip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/alitrip/cityCarApprovals`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new ApproveCityCarApplyResponse({}));
    }
    /**
     * 三方市内用车申请单审批
     *
     * @param request - ApproveCityCarApplyRequest
     * @returns ApproveCityCarApplyResponse
     */
    async approveCityCarApply(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new ApproveCityCarApplyHeaders({});
        return await this.approveCityCarApplyWithOptions(request, headers, runtime);
    }
    /**
     * 商旅火车票结算记账查询接口
     *
     * @param request - BillSettementBtripTrainRequest
     * @param headers - BillSettementBtripTrainHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns BillSettementBtripTrainResponse
     */
    async billSettementBtripTrainWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.category)) {
            query["category"] = request.category;
        }
        if (!tea_util_1.default.isUnset(request.corpId)) {
            query["corpId"] = request.corpId;
        }
        if (!tea_util_1.default.isUnset(request.pageNumber)) {
            query["pageNumber"] = request.pageNumber;
        }
        if (!tea_util_1.default.isUnset(request.pageSize)) {
            query["pageSize"] = request.pageSize;
        }
        if (!tea_util_1.default.isUnset(request.periodEnd)) {
            query["periodEnd"] = request.periodEnd;
        }
        if (!tea_util_1.default.isUnset(request.periodStart)) {
            query["periodStart"] = request.periodStart;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "BillSettementBtripTrain",
            version: "alitrip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/alitrip/billSettlements/btripTrains`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new BillSettementBtripTrainResponse({}));
    }
    /**
     * 商旅火车票结算记账查询接口
     *
     * @param request - BillSettementBtripTrainRequest
     * @returns BillSettementBtripTrainResponse
     */
    async billSettementBtripTrain(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new BillSettementBtripTrainHeaders({});
        return await this.billSettementBtripTrainWithOptions(request, headers, runtime);
    }
    /**
     * 用车结算记账查询接口
     *
     * @param request - BillSettementCarRequest
     * @param headers - BillSettementCarHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns BillSettementCarResponse
     */
    async billSettementCarWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.category)) {
            query["category"] = request.category;
        }
        if (!tea_util_1.default.isUnset(request.corpId)) {
            query["corpId"] = request.corpId;
        }
        if (!tea_util_1.default.isUnset(request.pageNumber)) {
            query["pageNumber"] = request.pageNumber;
        }
        if (!tea_util_1.default.isUnset(request.pageSize)) {
            query["pageSize"] = request.pageSize;
        }
        if (!tea_util_1.default.isUnset(request.periodEnd)) {
            query["periodEnd"] = request.periodEnd;
        }
        if (!tea_util_1.default.isUnset(request.periodStart)) {
            query["periodStart"] = request.periodStart;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "BillSettementCar",
            version: "alitrip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/alitrip/billSettlements/cars`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new BillSettementCarResponse({}));
    }
    /**
     * 用车结算记账查询接口
     *
     * @param request - BillSettementCarRequest
     * @returns BillSettementCarResponse
     */
    async billSettementCar(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new BillSettementCarHeaders({});
        return await this.billSettementCarWithOptions(request, headers, runtime);
    }
    /**
     * 机票结算记账查询接口
     *
     * @param request - BillSettementFlightRequest
     * @param headers - BillSettementFlightHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns BillSettementFlightResponse
     */
    async billSettementFlightWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.category)) {
            query["category"] = request.category;
        }
        if (!tea_util_1.default.isUnset(request.corpId)) {
            query["corpId"] = request.corpId;
        }
        if (!tea_util_1.default.isUnset(request.pageNumber)) {
            query["pageNumber"] = request.pageNumber;
        }
        if (!tea_util_1.default.isUnset(request.pageSize)) {
            query["pageSize"] = request.pageSize;
        }
        if (!tea_util_1.default.isUnset(request.periodEnd)) {
            query["periodEnd"] = request.periodEnd;
        }
        if (!tea_util_1.default.isUnset(request.periodStart)) {
            query["periodStart"] = request.periodStart;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "BillSettementFlight",
            version: "alitrip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/alitrip/billSettlements/flights`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new BillSettementFlightResponse({}));
    }
    /**
     * 机票结算记账查询接口
     *
     * @param request - BillSettementFlightRequest
     * @returns BillSettementFlightResponse
     */
    async billSettementFlight(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new BillSettementFlightHeaders({});
        return await this.billSettementFlightWithOptions(request, headers, runtime);
    }
    /**
     * 酒店结算记账查询接口
     *
     * @param request - BillSettementHotelRequest
     * @param headers - BillSettementHotelHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns BillSettementHotelResponse
     */
    async billSettementHotelWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.category)) {
            query["category"] = request.category;
        }
        if (!tea_util_1.default.isUnset(request.corpId)) {
            query["corpId"] = request.corpId;
        }
        if (!tea_util_1.default.isUnset(request.pageNumber)) {
            query["pageNumber"] = request.pageNumber;
        }
        if (!tea_util_1.default.isUnset(request.pageSize)) {
            query["pageSize"] = request.pageSize;
        }
        if (!tea_util_1.default.isUnset(request.periodEnd)) {
            query["periodEnd"] = request.periodEnd;
        }
        if (!tea_util_1.default.isUnset(request.periodStart)) {
            query["periodStart"] = request.periodStart;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "BillSettementHotel",
            version: "alitrip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/alitrip/billSettlements/hotels`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new BillSettementHotelResponse({}));
    }
    /**
     * 酒店结算记账查询接口
     *
     * @param request - BillSettementHotelRequest
     * @returns BillSettementHotelResponse
     */
    async billSettementHotel(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new BillSettementHotelHeaders({});
        return await this.billSettementHotelWithOptions(request, headers, runtime);
    }
    /**
     * 商旅机票第三方超标审批单搜索接口
     *
     * @param request - GetFlightExceedApplyRequest
     * @param headers - GetFlightExceedApplyHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetFlightExceedApplyResponse
     */
    async getFlightExceedApplyWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.applyId)) {
            query["applyId"] = request.applyId;
        }
        if (!tea_util_1.default.isUnset(request.corpId)) {
            query["corpId"] = request.corpId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "GetFlightExceedApply",
            version: "alitrip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/alitrip/exceedapply/getFlight`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetFlightExceedApplyResponse({}));
    }
    /**
     * 商旅机票第三方超标审批单搜索接口
     *
     * @param request - GetFlightExceedApplyRequest
     * @returns GetFlightExceedApplyResponse
     */
    async getFlightExceedApply(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetFlightExceedApplyHeaders({});
        return await this.getFlightExceedApplyWithOptions(request, headers, runtime);
    }
    /**
     * 搜索酒店超标审批单
     *
     * @param request - GetHotelExceedApplyRequest
     * @param headers - GetHotelExceedApplyHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetHotelExceedApplyResponse
     */
    async getHotelExceedApplyWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.applyId)) {
            query["applyId"] = request.applyId;
        }
        if (!tea_util_1.default.isUnset(request.corpId)) {
            query["corpId"] = request.corpId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "GetHotelExceedApply",
            version: "alitrip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/alitrip/exceedapply/getHotel`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetHotelExceedApplyResponse({}));
    }
    /**
     * 搜索酒店超标审批单
     *
     * @param request - GetHotelExceedApplyRequest
     * @returns GetHotelExceedApplyResponse
     */
    async getHotelExceedApply(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetHotelExceedApplyHeaders({});
        return await this.getHotelExceedApplyWithOptions(request, headers, runtime);
    }
    /**
     * 商旅火车票第三方超标审批单搜索接口
     *
     * @param request - GetTrainExceedApplyRequest
     * @param headers - GetTrainExceedApplyHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetTrainExceedApplyResponse
     */
    async getTrainExceedApplyWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.applyId)) {
            query["applyId"] = request.applyId;
        }
        if (!tea_util_1.default.isUnset(request.corpId)) {
            query["corpId"] = request.corpId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "GetTrainExceedApply",
            version: "alitrip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/alitrip/exceedapply/getTrain`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetTrainExceedApplyResponse({}));
    }
    /**
     * 商旅火车票第三方超标审批单搜索接口
     *
     * @param request - GetTrainExceedApplyRequest
     * @returns GetTrainExceedApplyResponse
     */
    async getTrainExceedApply(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetTrainExceedApplyHeaders({});
        return await this.getTrainExceedApplyWithOptions(request, headers, runtime);
    }
    /**
     * 三方市内用车申请单查询
     *
     * @param request - QueryCityCarApplyRequest
     * @param headers - QueryCityCarApplyHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryCityCarApplyResponse
     */
    async queryCityCarApplyWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.corpId)) {
            query["corpId"] = request.corpId;
        }
        if (!tea_util_1.default.isUnset(request.createdEndAt)) {
            query["createdEndAt"] = request.createdEndAt;
        }
        if (!tea_util_1.default.isUnset(request.createdStartAt)) {
            query["createdStartAt"] = request.createdStartAt;
        }
        if (!tea_util_1.default.isUnset(request.pageNumber)) {
            query["pageNumber"] = request.pageNumber;
        }
        if (!tea_util_1.default.isUnset(request.pageSize)) {
            query["pageSize"] = request.pageSize;
        }
        if (!tea_util_1.default.isUnset(request.thirdPartApplyId)) {
            query["thirdPartApplyId"] = request.thirdPartApplyId;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            query["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "QueryCityCarApply",
            version: "alitrip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/alitrip/cityCarApprovals`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryCityCarApplyResponse({}));
    }
    /**
     * 三方市内用车申请单查询
     *
     * @param request - QueryCityCarApplyRequest
     * @returns QueryCityCarApplyResponse
     */
    async queryCityCarApply(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryCityCarApplyHeaders({});
        return await this.queryCityCarApplyWithOptions(request, headers, runtime);
    }
    /**
     * 申请单关联单号查询相关订单信息
     *
     * @param request - QueryUnionOrderRequest
     * @param headers - QueryUnionOrderHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryUnionOrderResponse
     */
    async queryUnionOrderWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.corpId)) {
            query["corpId"] = request.corpId;
        }
        if (!tea_util_1.default.isUnset(request.thirdPartApplyId)) {
            query["thirdPartApplyId"] = request.thirdPartApplyId;
        }
        if (!tea_util_1.default.isUnset(request.unionNo)) {
            query["unionNo"] = request.unionNo;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "QueryUnionOrder",
            version: "alitrip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/alitrip/unionOrders`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryUnionOrderResponse({}));
    }
    /**
     * 申请单关联单号查询相关订单信息
     *
     * @param request - QueryUnionOrderRequest
     * @returns QueryUnionOrderResponse
     */
    async queryUnionOrder(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryUnionOrderHeaders({});
        return await this.queryUnionOrderWithOptions(request, headers, runtime);
    }
    /**
     * 同步超标审批结果
     *
     * @param request - SyncExceedApplyRequest
     * @param headers - SyncExceedApplyHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns SyncExceedApplyResponse
     */
    async syncExceedApplyWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.applyId)) {
            query["applyId"] = request.applyId;
        }
        if (!tea_util_1.default.isUnset(request.corpId)) {
            query["corpId"] = request.corpId;
        }
        if (!tea_util_1.default.isUnset(request.remark)) {
            query["remark"] = request.remark;
        }
        if (!tea_util_1.default.isUnset(request.status)) {
            query["status"] = request.status;
        }
        if (!tea_util_1.default.isUnset(request.thirdpartyFlowId)) {
            query["thirdpartyFlowId"] = request.thirdpartyFlowId;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            query["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "SyncExceedApply",
            version: "alitrip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/alitrip/exceedapply/sync`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new SyncExceedApplyResponse({}));
    }
    /**
     * 同步超标审批结果
     *
     * @param request - SyncExceedApplyRequest
     * @returns SyncExceedApplyResponse
     */
    async syncExceedApply(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new SyncExceedApplyHeaders({});
        return await this.syncExceedApplyWithOptions(request, headers, runtime);
    }
}
exports.default = Client;
//# sourceMappingURL=client.js.map