"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.SyncProjectResponseBody = exports.SyncProjectRequest = exports.SyncProjectHeaders = exports.SyncInvoiceEntityResponse = exports.SyncInvoiceEntityResponseBody = exports.SyncInvoiceEntityRequest = exports.SyncInvoiceEntityHeaders = exports.SyncInvoiceResponse = exports.SyncInvoiceResponseBody = exports.SyncInvoiceRequest = exports.SyncInvoiceHeaders = exports.SyncCostCenterEntityResponse = exports.SyncCostCenterEntityResponseBody = exports.SyncCostCenterEntityRequest = exports.SyncCostCenterEntityHeaders = exports.SyncCostCenterResponse = exports.SyncCostCenterResponseBody = exports.SyncCostCenterRequest = exports.SyncCostCenterHeaders = exports.SyncBusinessSignInfoResponse = exports.SyncBusinessSignInfoResponseBody = exports.SyncBusinessSignInfoRequest = exports.SyncBusinessSignInfoHeaders = exports.QueryTripTrainOrderByPageResponse = exports.QueryTripTrainOrderByPageResponseBody = exports.QueryTripTrainOrderByPageShrinkRequest = exports.QueryTripTrainOrderByPageRequest = exports.QueryTripTrainOrderByPageHeaders = exports.QueryTripProcessTemplatesResponse = exports.QueryTripProcessTemplatesResponseBody = exports.QueryTripProcessTemplatesRequest = exports.QueryTripProcessTemplatesHeaders = exports.QueryTripHotelOrderByPageResponse = exports.QueryTripHotelOrderByPageResponseBody = exports.QueryTripHotelOrderByPageShrinkRequest = exports.QueryTripHotelOrderByPageRequest = exports.QueryTripHotelOrderByPageHeaders = exports.QueryTripFlightOrderByPageResponse = exports.QueryTripFlightOrderByPageResponseBody = exports.QueryTripFlightOrderByPageShrinkRequest = exports.QueryTripFlightOrderByPageRequest = exports.QueryTripFlightOrderByPageHeaders = exports.PreCheckTemplateResponse = exports.PreCheckTemplateResponseBody = exports.PreCheckTemplateRequest = exports.PreCheckTemplateHeaders = exports.GetTravelProcessDetailResponse = exports.GetTravelProcessDetailResponseBody = exports.GetTravelProcessDetailRequest = exports.GetTravelProcessDetailHeaders = void 0;
exports.SyncCostCenterEntityRequestEntityList = exports.SyncBusinessSignInfoRequestTmcProductList = exports.SyncBusinessSignInfoRequestTmcProductListProductDetailList = exports.SyncBusinessSignInfoRequestTmcProductDetailList = exports.QueryTripTrainOrderByPageResponseBodyList = exports.QueryTripTrainOrderByPageResponseBodyListConsumerInfos = exports.QueryTripProcessTemplatesResponseBodyResult = exports.QueryTripProcessTemplatesResponseBodyResultSchemas = exports.QueryTripHotelOrderByPageResponseBodyList = exports.QueryTripHotelOrderByPageResponseBodyListConsumerInfos = exports.QueryTripFlightOrderByPageResponseBodyList = exports.QueryTripFlightOrderByPageResponseBodyListConsumerInfos = exports.PreCheckTemplateResponseBodyResult = exports.PreCheckTemplateResponseBodyResultBlockRecords = exports.GetTravelProcessDetailResponseBodyResult = exports.GetTravelProcessDetailResponseBodyResultTasks = exports.GetTravelProcessDetailResponseBodyResultJourneys = exports.GetTravelProcessDetailResponseBodyResultJourneysDeparture = exports.GetTravelProcessDetailResponseBodyResultJourneysArrival = exports.GetTravelProcessDetailResponseBodyResultExtFormComponent = exports.UpgradeTemplateResponse = exports.UpgradeTemplateResponseBody = exports.UpgradeTemplateRequest = exports.UpgradeTemplateHeaders = exports.TripPlatformUnifiedEntryResponse = exports.TripPlatformUnifiedEntryResponseBody = exports.TripPlatformUnifiedEntryRequest = exports.TripPlatformUnifiedEntryHeaders = exports.SyncTripProductConfigResponse = exports.SyncTripProductConfigResponseBody = exports.SyncTripProductConfigRequest = exports.SyncTripProductConfigHeaders = exports.SyncTripOrderResponse = exports.SyncTripOrderResponseBody = exports.SyncTripOrderRequest = exports.SyncTripOrderHeaders = exports.SyncTripInvoiceResponse = exports.SyncTripInvoiceResponseBody = exports.SyncTripInvoiceShrinkRequest = exports.SyncTripInvoiceRequest = exports.SyncTripInvoiceHeaders = exports.SyncSecretKeyResponse = exports.SyncSecretKeyResponseBody = exports.SyncSecretKeyRequest = exports.SyncSecretKeyHeaders = exports.SyncProjectEntityResponse = exports.SyncProjectEntityResponseBody = exports.SyncProjectEntityRequest = exports.SyncProjectEntityHeaders = exports.SyncProjectResponse = void 0;
exports.UpgradeTemplateResponseBodyResult = exports.SyncTripProductConfigRequestTripProductConfigList = exports.SyncTripProductConfigRequestTripProductConfigListTmcInfos = exports.SyncTripOrderRequestOrderDetails = exports.SyncTripOrderRequestOrderDetailsOpenConsumerInfo = exports.SyncTripOrderRequestOrderDetailsHotelLocation = exports.SyncTripOrderRequestEvent = exports.SyncTripInvoiceRequestInvoiceDetailList = exports.SyncTripInvoiceRequestInvoiceDetailListTravelItineraryInfoList = exports.SyncSecretKeyResponseBodyResult = exports.SyncProjectEntityRequestEntityList = exports.SyncInvoiceEntityRequestEntityList = 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 GetTravelProcessDetailHeaders 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.GetTravelProcessDetailHeaders = GetTravelProcessDetailHeaders;
class GetTravelProcessDetailRequest extends $tea.Model {
    static names() {
        return {
            processCorpId: 'processCorpId',
            processInstanceId: 'processInstanceId',
        };
    }
    static types() {
        return {
            processCorpId: 'string',
            processInstanceId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetTravelProcessDetailRequest = GetTravelProcessDetailRequest;
class GetTravelProcessDetailResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: GetTravelProcessDetailResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetTravelProcessDetailResponseBody = GetTravelProcessDetailResponseBody;
class GetTravelProcessDetailResponse 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: GetTravelProcessDetailResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetTravelProcessDetailResponse = GetTravelProcessDetailResponse;
class PreCheckTemplateHeaders 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.PreCheckTemplateHeaders = PreCheckTemplateHeaders;
class PreCheckTemplateRequest extends $tea.Model {
    static names() {
        return {
            customerCorpId: 'customerCorpId',
        };
    }
    static types() {
        return {
            customerCorpId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.PreCheckTemplateRequest = PreCheckTemplateRequest;
class PreCheckTemplateResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: PreCheckTemplateResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.PreCheckTemplateResponseBody = PreCheckTemplateResponseBody;
class PreCheckTemplateResponse 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: PreCheckTemplateResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.PreCheckTemplateResponse = PreCheckTemplateResponse;
class QueryTripFlightOrderByPageHeaders 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.QueryTripFlightOrderByPageHeaders = QueryTripFlightOrderByPageHeaders;
class QueryTripFlightOrderByPageRequest extends $tea.Model {
    static names() {
        return {
            endTime: 'endTime',
            orderStatus: 'orderStatus',
            pageIndex: 'pageIndex',
            pageSize: 'pageSize',
            startTime: 'startTime',
        };
    }
    static types() {
        return {
            endTime: 'string',
            orderStatus: { 'type': 'array', 'itemType': 'string' },
            pageIndex: 'number',
            pageSize: 'number',
            startTime: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryTripFlightOrderByPageRequest = QueryTripFlightOrderByPageRequest;
class QueryTripFlightOrderByPageShrinkRequest extends $tea.Model {
    static names() {
        return {
            endTime: 'endTime',
            orderStatusShrink: 'orderStatus',
            pageIndex: 'pageIndex',
            pageSize: 'pageSize',
            startTime: 'startTime',
        };
    }
    static types() {
        return {
            endTime: 'string',
            orderStatusShrink: 'string',
            pageIndex: 'number',
            pageSize: 'number',
            startTime: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryTripFlightOrderByPageShrinkRequest = QueryTripFlightOrderByPageShrinkRequest;
class QueryTripFlightOrderByPageResponseBody extends $tea.Model {
    static names() {
        return {
            hasMore: 'hasMore',
            list: 'list',
            nextCursor: 'nextCursor',
            totalCount: 'totalCount',
        };
    }
    static types() {
        return {
            hasMore: 'boolean',
            list: { 'type': 'array', 'itemType': QueryTripFlightOrderByPageResponseBodyList },
            nextCursor: 'number',
            totalCount: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryTripFlightOrderByPageResponseBody = QueryTripFlightOrderByPageResponseBody;
class QueryTripFlightOrderByPageResponse 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: QueryTripFlightOrderByPageResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryTripFlightOrderByPageResponse = QueryTripFlightOrderByPageResponse;
class QueryTripHotelOrderByPageHeaders 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.QueryTripHotelOrderByPageHeaders = QueryTripHotelOrderByPageHeaders;
class QueryTripHotelOrderByPageRequest extends $tea.Model {
    static names() {
        return {
            endTime: 'endTime',
            orderStatus: 'orderStatus',
            pageIndex: 'pageIndex',
            pageSize: 'pageSize',
            startTime: 'startTime',
        };
    }
    static types() {
        return {
            endTime: 'string',
            orderStatus: { 'type': 'array', 'itemType': 'string' },
            pageIndex: 'number',
            pageSize: 'number',
            startTime: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryTripHotelOrderByPageRequest = QueryTripHotelOrderByPageRequest;
class QueryTripHotelOrderByPageShrinkRequest extends $tea.Model {
    static names() {
        return {
            endTime: 'endTime',
            orderStatusShrink: 'orderStatus',
            pageIndex: 'pageIndex',
            pageSize: 'pageSize',
            startTime: 'startTime',
        };
    }
    static types() {
        return {
            endTime: 'string',
            orderStatusShrink: 'string',
            pageIndex: 'number',
            pageSize: 'number',
            startTime: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryTripHotelOrderByPageShrinkRequest = QueryTripHotelOrderByPageShrinkRequest;
class QueryTripHotelOrderByPageResponseBody extends $tea.Model {
    static names() {
        return {
            hasMore: 'hasMore',
            list: 'list',
            nextCursor: 'nextCursor',
            totalCount: 'totalCount',
        };
    }
    static types() {
        return {
            hasMore: 'boolean',
            list: { 'type': 'array', 'itemType': QueryTripHotelOrderByPageResponseBodyList },
            nextCursor: 'number',
            totalCount: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryTripHotelOrderByPageResponseBody = QueryTripHotelOrderByPageResponseBody;
class QueryTripHotelOrderByPageResponse 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: QueryTripHotelOrderByPageResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryTripHotelOrderByPageResponse = QueryTripHotelOrderByPageResponse;
class QueryTripProcessTemplatesHeaders 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.QueryTripProcessTemplatesHeaders = QueryTripProcessTemplatesHeaders;
class QueryTripProcessTemplatesRequest extends $tea.Model {
    static names() {
        return {
            customerCorpId: 'customerCorpId',
        };
    }
    static types() {
        return {
            customerCorpId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryTripProcessTemplatesRequest = QueryTripProcessTemplatesRequest;
class QueryTripProcessTemplatesResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: QueryTripProcessTemplatesResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryTripProcessTemplatesResponseBody = QueryTripProcessTemplatesResponseBody;
class QueryTripProcessTemplatesResponse 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: QueryTripProcessTemplatesResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryTripProcessTemplatesResponse = QueryTripProcessTemplatesResponse;
class QueryTripTrainOrderByPageHeaders 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.QueryTripTrainOrderByPageHeaders = QueryTripTrainOrderByPageHeaders;
class QueryTripTrainOrderByPageRequest extends $tea.Model {
    static names() {
        return {
            endTime: 'endTime',
            orderStatus: 'orderStatus',
            pageIndex: 'pageIndex',
            pageSize: 'pageSize',
            startTime: 'startTime',
        };
    }
    static types() {
        return {
            endTime: 'string',
            orderStatus: { 'type': 'array', 'itemType': 'string' },
            pageIndex: 'number',
            pageSize: 'number',
            startTime: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryTripTrainOrderByPageRequest = QueryTripTrainOrderByPageRequest;
class QueryTripTrainOrderByPageShrinkRequest extends $tea.Model {
    static names() {
        return {
            endTime: 'endTime',
            orderStatusShrink: 'orderStatus',
            pageIndex: 'pageIndex',
            pageSize: 'pageSize',
            startTime: 'startTime',
        };
    }
    static types() {
        return {
            endTime: 'string',
            orderStatusShrink: 'string',
            pageIndex: 'number',
            pageSize: 'number',
            startTime: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryTripTrainOrderByPageShrinkRequest = QueryTripTrainOrderByPageShrinkRequest;
class QueryTripTrainOrderByPageResponseBody extends $tea.Model {
    static names() {
        return {
            hasMore: 'hasMore',
            list: 'list',
            nextCursor: 'nextCursor',
            totalCount: 'totalCount',
        };
    }
    static types() {
        return {
            hasMore: 'boolean',
            list: { 'type': 'array', 'itemType': QueryTripTrainOrderByPageResponseBodyList },
            nextCursor: 'number',
            totalCount: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryTripTrainOrderByPageResponseBody = QueryTripTrainOrderByPageResponseBody;
class QueryTripTrainOrderByPageResponse 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: QueryTripTrainOrderByPageResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryTripTrainOrderByPageResponse = QueryTripTrainOrderByPageResponse;
class SyncBusinessSignInfoHeaders 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.SyncBusinessSignInfoHeaders = SyncBusinessSignInfoHeaders;
class SyncBusinessSignInfoRequest extends $tea.Model {
    static names() {
        return {
            bizTypeList: 'bizTypeList',
            gmtOrgPay: 'gmtOrgPay',
            gmtSign: 'gmtSign',
            orgPayStatus: 'orgPayStatus',
            signStatus: 'signStatus',
            targetCorpId: 'targetCorpId',
            tmcProductDetailList: 'tmcProductDetailList',
            tmcProductList: 'tmcProductList',
        };
    }
    static types() {
        return {
            bizTypeList: { 'type': 'array', 'itemType': 'string' },
            gmtOrgPay: 'string',
            gmtSign: 'string',
            orgPayStatus: 'string',
            signStatus: 'string',
            targetCorpId: 'string',
            tmcProductDetailList: { 'type': 'array', 'itemType': SyncBusinessSignInfoRequestTmcProductDetailList },
            tmcProductList: { 'type': 'array', 'itemType': SyncBusinessSignInfoRequestTmcProductList },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncBusinessSignInfoRequest = SyncBusinessSignInfoRequest;
class SyncBusinessSignInfoResponseBody extends $tea.Model {
    static names() {
        return {
            requestId: 'requestId',
            success: 'success',
        };
    }
    static types() {
        return {
            requestId: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncBusinessSignInfoResponseBody = SyncBusinessSignInfoResponseBody;
class SyncBusinessSignInfoResponse 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: SyncBusinessSignInfoResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncBusinessSignInfoResponse = SyncBusinessSignInfoResponse;
class SyncCostCenterHeaders 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.SyncCostCenterHeaders = SyncCostCenterHeaders;
class SyncCostCenterRequest extends $tea.Model {
    static names() {
        return {
            channelCorpId: 'channelCorpId',
            costCenterId: 'costCenterId',
            deleteFlag: 'deleteFlag',
            extension: 'extension',
            gmtAction: 'gmtAction',
            number: 'number',
            scope: 'scope',
            source: 'source',
            thirdPartId: 'thirdPartId',
            title: 'title',
            userId: 'userId',
        };
    }
    static types() {
        return {
            channelCorpId: 'string',
            costCenterId: 'string',
            deleteFlag: 'boolean',
            extension: 'string',
            gmtAction: 'string',
            number: 'string',
            scope: 'number',
            source: 'string',
            thirdPartId: 'string',
            title: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncCostCenterRequest = SyncCostCenterRequest;
class SyncCostCenterResponseBody extends $tea.Model {
    static names() {
        return {
            success: 'success',
        };
    }
    static types() {
        return {
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncCostCenterResponseBody = SyncCostCenterResponseBody;
class SyncCostCenterResponse 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: SyncCostCenterResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncCostCenterResponse = SyncCostCenterResponse;
class SyncCostCenterEntityHeaders 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.SyncCostCenterEntityHeaders = SyncCostCenterEntityHeaders;
class SyncCostCenterEntityRequest extends $tea.Model {
    static names() {
        return {
            channelCorpId: 'channelCorpId',
            costCenterId: 'costCenterId',
            delAll: 'delAll',
            entityList: 'entityList',
            userId: 'userId',
        };
    }
    static types() {
        return {
            channelCorpId: 'string',
            costCenterId: 'string',
            delAll: 'boolean',
            entityList: { 'type': 'array', 'itemType': SyncCostCenterEntityRequestEntityList },
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncCostCenterEntityRequest = SyncCostCenterEntityRequest;
class SyncCostCenterEntityResponseBody extends $tea.Model {
    static names() {
        return {
            success: 'success',
        };
    }
    static types() {
        return {
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncCostCenterEntityResponseBody = SyncCostCenterEntityResponseBody;
class SyncCostCenterEntityResponse 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: SyncCostCenterEntityResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncCostCenterEntityResponse = SyncCostCenterEntityResponse;
class SyncInvoiceHeaders 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.SyncInvoiceHeaders = SyncInvoiceHeaders;
class SyncInvoiceRequest extends $tea.Model {
    static names() {
        return {
            address: 'address',
            bankName: 'bankName',
            bankNo: 'bankNo',
            channelCorpId: 'channelCorpId',
            deleteFlag: 'deleteFlag',
            gmtAction: 'gmtAction',
            invoiceId: 'invoiceId',
            projectIds: 'projectIds',
            scope: 'scope',
            source: 'source',
            taxNo: 'taxNo',
            tel: 'tel',
            thirdPartId: 'thirdPartId',
            title: 'title',
            type: 'type',
            unitType: 'unitType',
            userId: 'userId',
        };
    }
    static types() {
        return {
            address: 'string',
            bankName: 'string',
            bankNo: 'string',
            channelCorpId: 'string',
            deleteFlag: 'boolean',
            gmtAction: 'string',
            invoiceId: 'string',
            projectIds: { 'type': 'array', 'itemType': 'string' },
            scope: 'number',
            source: 'string',
            taxNo: 'string',
            tel: 'string',
            thirdPartId: 'string',
            title: 'string',
            type: 'number',
            unitType: 'number',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncInvoiceRequest = SyncInvoiceRequest;
class SyncInvoiceResponseBody extends $tea.Model {
    static names() {
        return {
            success: 'success',
        };
    }
    static types() {
        return {
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncInvoiceResponseBody = SyncInvoiceResponseBody;
class SyncInvoiceResponse 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: SyncInvoiceResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncInvoiceResponse = SyncInvoiceResponse;
class SyncInvoiceEntityHeaders 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.SyncInvoiceEntityHeaders = SyncInvoiceEntityHeaders;
class SyncInvoiceEntityRequest extends $tea.Model {
    static names() {
        return {
            channelCorpId: 'channelCorpId',
            delAll: 'delAll',
            entityList: 'entityList',
            invoiceId: 'invoiceId',
            userId: 'userId',
        };
    }
    static types() {
        return {
            channelCorpId: 'string',
            delAll: 'boolean',
            entityList: { 'type': 'array', 'itemType': SyncInvoiceEntityRequestEntityList },
            invoiceId: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncInvoiceEntityRequest = SyncInvoiceEntityRequest;
class SyncInvoiceEntityResponseBody extends $tea.Model {
    static names() {
        return {
            success: 'success',
        };
    }
    static types() {
        return {
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncInvoiceEntityResponseBody = SyncInvoiceEntityResponseBody;
class SyncInvoiceEntityResponse 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: SyncInvoiceEntityResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncInvoiceEntityResponse = SyncInvoiceEntityResponse;
class SyncProjectHeaders 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.SyncProjectHeaders = SyncProjectHeaders;
class SyncProjectRequest extends $tea.Model {
    static names() {
        return {
            channelCorpId: 'channelCorpId',
            code: 'code',
            costCenterId: 'costCenterId',
            deleteFlag: 'deleteFlag',
            extension: 'extension',
            gmtAction: 'gmtAction',
            invoiceId: 'invoiceId',
            managerIds: 'managerIds',
            projectId: 'projectId',
            projectName: 'projectName',
            scope: 'scope',
            source: 'source',
            thirdPartId: 'thirdPartId',
            userId: 'userId',
        };
    }
    static types() {
        return {
            channelCorpId: 'string',
            code: 'string',
            costCenterId: 'string',
            deleteFlag: 'boolean',
            extension: 'string',
            gmtAction: 'string',
            invoiceId: 'string',
            managerIds: { 'type': 'array', 'itemType': 'string' },
            projectId: 'string',
            projectName: 'string',
            scope: 'number',
            source: 'string',
            thirdPartId: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncProjectRequest = SyncProjectRequest;
class SyncProjectResponseBody extends $tea.Model {
    static names() {
        return {
            success: 'success',
        };
    }
    static types() {
        return {
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncProjectResponseBody = SyncProjectResponseBody;
class SyncProjectResponse 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: SyncProjectResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncProjectResponse = SyncProjectResponse;
class SyncProjectEntityHeaders 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.SyncProjectEntityHeaders = SyncProjectEntityHeaders;
class SyncProjectEntityRequest extends $tea.Model {
    static names() {
        return {
            channelCorpId: 'channelCorpId',
            delAll: 'delAll',
            entityList: 'entityList',
            projectId: 'projectId',
            userId: 'userId',
        };
    }
    static types() {
        return {
            channelCorpId: 'string',
            delAll: 'boolean',
            entityList: { 'type': 'array', 'itemType': SyncProjectEntityRequestEntityList },
            projectId: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncProjectEntityRequest = SyncProjectEntityRequest;
class SyncProjectEntityResponseBody extends $tea.Model {
    static names() {
        return {
            success: 'success',
        };
    }
    static types() {
        return {
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncProjectEntityResponseBody = SyncProjectEntityResponseBody;
class SyncProjectEntityResponse 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: SyncProjectEntityResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncProjectEntityResponse = SyncProjectEntityResponse;
class SyncSecretKeyHeaders 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.SyncSecretKeyHeaders = SyncSecretKeyHeaders;
class SyncSecretKeyRequest extends $tea.Model {
    static names() {
        return {
            actionType: 'actionType',
            secretString: 'secretString',
            targetCorpId: 'targetCorpId',
            tripAppKey: 'tripAppKey',
            tripAppSecurity: 'tripAppSecurity',
            tripCorpId: 'tripCorpId',
        };
    }
    static types() {
        return {
            actionType: 'string',
            secretString: 'string',
            targetCorpId: 'string',
            tripAppKey: 'string',
            tripAppSecurity: 'string',
            tripCorpId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncSecretKeyRequest = SyncSecretKeyRequest;
class SyncSecretKeyResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: SyncSecretKeyResponseBodyResult,
            success: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncSecretKeyResponseBody = SyncSecretKeyResponseBody;
class SyncSecretKeyResponse 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: SyncSecretKeyResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncSecretKeyResponse = SyncSecretKeyResponse;
class SyncTripInvoiceHeaders 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.SyncTripInvoiceHeaders = SyncTripInvoiceHeaders;
class SyncTripInvoiceRequest extends $tea.Model {
    static names() {
        return {
            channelOrderNo: 'channelOrderNo',
            channelType: 'channelType',
            customerCorpId: 'customerCorpId',
            dingUserId: 'dingUserId',
            invoiceDetailList: 'invoiceDetailList',
        };
    }
    static types() {
        return {
            channelOrderNo: 'string',
            channelType: 'string',
            customerCorpId: 'string',
            dingUserId: 'string',
            invoiceDetailList: { 'type': 'array', 'itemType': SyncTripInvoiceRequestInvoiceDetailList },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncTripInvoiceRequest = SyncTripInvoiceRequest;
class SyncTripInvoiceShrinkRequest extends $tea.Model {
    static names() {
        return {
            channelOrderNo: 'channelOrderNo',
            channelType: 'channelType',
            customerCorpId: 'customerCorpId',
            dingUserId: 'dingUserId',
            invoiceDetailListShrink: 'invoiceDetailList',
        };
    }
    static types() {
        return {
            channelOrderNo: 'string',
            channelType: 'string',
            customerCorpId: 'string',
            dingUserId: 'string',
            invoiceDetailListShrink: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncTripInvoiceShrinkRequest = SyncTripInvoiceShrinkRequest;
class SyncTripInvoiceResponseBody extends $tea.Model {
    static names() {
        return {
            success: 'success',
        };
    }
    static types() {
        return {
            success: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncTripInvoiceResponseBody = SyncTripInvoiceResponseBody;
class SyncTripInvoiceResponse 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: SyncTripInvoiceResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncTripInvoiceResponse = SyncTripInvoiceResponse;
class SyncTripOrderHeaders 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.SyncTripOrderHeaders = SyncTripOrderHeaders;
class SyncTripOrderRequest extends $tea.Model {
    static names() {
        return {
            bizExtension: 'bizExtension',
            channelType: 'channelType',
            currency: 'currency',
            dingUserId: 'dingUserId',
            discountAmount: 'discountAmount',
            endorseFlag: 'endorseFlag',
            enterprisePayAmount: 'enterprisePayAmount',
            event: 'event',
            gmtOrder: 'gmtOrder',
            gmtPay: 'gmtPay',
            gmtRefund: 'gmtRefund',
            hasInvoice: 'hasInvoice',
            invoiceApplyRole: 'invoiceApplyRole',
            invoiceApplyType: 'invoiceApplyType',
            invoiceApplyUrl: 'invoiceApplyUrl',
            invoiceParty: 'invoiceParty',
            invoiceType: 'invoiceType',
            journeyBizNo: 'journeyBizNo',
            journeySubmitUserId: 'journeySubmitUserId',
            orderDetails: 'orderDetails',
            orderNo: 'orderNo',
            orderPaymentType: 'orderPaymentType',
            orderUrl: 'orderUrl',
            personalPayAmount: 'personalPayAmount',
            processId: 'processId',
            realAmount: 'realAmount',
            refundAmount: 'refundAmount',
            relativeOrderNo: 'relativeOrderNo',
            source: 'source',
            supplyLogo: 'supplyLogo',
            supplyName: 'supplyName',
            targetCorpId: 'targetCorpId',
            tmcCorpId: 'tmcCorpId',
            totalAmount: 'totalAmount',
            type: 'type',
        };
    }
    static types() {
        return {
            bizExtension: 'string',
            channelType: 'string',
            currency: 'string',
            dingUserId: 'string',
            discountAmount: 'string',
            endorseFlag: 'boolean',
            enterprisePayAmount: 'string',
            event: SyncTripOrderRequestEvent,
            gmtOrder: 'string',
            gmtPay: 'string',
            gmtRefund: 'string',
            hasInvoice: 'boolean',
            invoiceApplyRole: 'string',
            invoiceApplyType: 'string',
            invoiceApplyUrl: 'string',
            invoiceParty: 'number',
            invoiceType: 'number',
            journeyBizNo: 'string',
            journeySubmitUserId: 'string',
            orderDetails: { 'type': 'array', 'itemType': SyncTripOrderRequestOrderDetails },
            orderNo: 'string',
            orderPaymentType: 'string',
            orderUrl: 'string',
            personalPayAmount: 'string',
            processId: 'string',
            realAmount: 'string',
            refundAmount: 'string',
            relativeOrderNo: 'string',
            source: 'string',
            supplyLogo: 'string',
            supplyName: 'string',
            targetCorpId: 'string',
            tmcCorpId: 'string',
            totalAmount: 'string',
            type: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncTripOrderRequest = SyncTripOrderRequest;
class SyncTripOrderResponseBody extends $tea.Model {
    static names() {
        return {
            requestId: 'requestId',
            success: 'success',
        };
    }
    static types() {
        return {
            requestId: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncTripOrderResponseBody = SyncTripOrderResponseBody;
class SyncTripOrderResponse 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: SyncTripOrderResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncTripOrderResponse = SyncTripOrderResponse;
class SyncTripProductConfigHeaders 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.SyncTripProductConfigHeaders = SyncTripProductConfigHeaders;
class SyncTripProductConfigRequest extends $tea.Model {
    static names() {
        return {
            targetCorpId: 'targetCorpId',
            tripProductConfigList: 'tripProductConfigList',
        };
    }
    static types() {
        return {
            targetCorpId: 'string',
            tripProductConfigList: { 'type': 'array', 'itemType': SyncTripProductConfigRequestTripProductConfigList },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncTripProductConfigRequest = SyncTripProductConfigRequest;
class SyncTripProductConfigResponseBody extends $tea.Model {
    static names() {
        return {
            success: 'success',
        };
    }
    static types() {
        return {
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncTripProductConfigResponseBody = SyncTripProductConfigResponseBody;
class SyncTripProductConfigResponse 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: SyncTripProductConfigResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncTripProductConfigResponse = SyncTripProductConfigResponse;
class TripPlatformUnifiedEntryHeaders 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.TripPlatformUnifiedEntryHeaders = TripPlatformUnifiedEntryHeaders;
class TripPlatformUnifiedEntryRequest extends $tea.Model {
    static names() {
        return {
            messages: 'messages',
            method: 'method',
        };
    }
    static types() {
        return {
            messages: 'string',
            method: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.TripPlatformUnifiedEntryRequest = TripPlatformUnifiedEntryRequest;
class TripPlatformUnifiedEntryResponseBody extends $tea.Model {
    static names() {
        return {
            requestId: 'requestId',
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            requestId: 'string',
            result: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.TripPlatformUnifiedEntryResponseBody = TripPlatformUnifiedEntryResponseBody;
class TripPlatformUnifiedEntryResponse 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: TripPlatformUnifiedEntryResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.TripPlatformUnifiedEntryResponse = TripPlatformUnifiedEntryResponse;
class UpgradeTemplateHeaders 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.UpgradeTemplateHeaders = UpgradeTemplateHeaders;
class UpgradeTemplateRequest extends $tea.Model {
    static names() {
        return {
            channelCorpId: 'channelCorpId',
            forceUpgrade: 'forceUpgrade',
            tmcCorpId: 'tmcCorpId',
        };
    }
    static types() {
        return {
            channelCorpId: 'string',
            forceUpgrade: 'boolean',
            tmcCorpId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpgradeTemplateRequest = UpgradeTemplateRequest;
class UpgradeTemplateResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: UpgradeTemplateResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpgradeTemplateResponseBody = UpgradeTemplateResponseBody;
class UpgradeTemplateResponse 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: UpgradeTemplateResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpgradeTemplateResponse = UpgradeTemplateResponse;
class GetTravelProcessDetailResponseBodyResultExtFormComponent extends $tea.Model {
    static names() {
        return {
            bizAlias: 'bizAlias',
            componentType: 'componentType',
            extValue: 'extValue',
            id: 'id',
            name: 'name',
            value: 'value',
        };
    }
    static types() {
        return {
            bizAlias: 'string',
            componentType: 'string',
            extValue: 'string',
            id: 'string',
            name: 'string',
            value: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetTravelProcessDetailResponseBodyResultExtFormComponent = GetTravelProcessDetailResponseBodyResultExtFormComponent;
class GetTravelProcessDetailResponseBodyResultJourneysArrival extends $tea.Model {
    static names() {
        return {
            code: 'code',
            countryCode: 'countryCode',
            countryName: 'countryName',
            name: 'name',
            nationalCityCode: 'nationalCityCode',
        };
    }
    static types() {
        return {
            code: 'string',
            countryCode: 'string',
            countryName: 'string',
            name: 'string',
            nationalCityCode: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetTravelProcessDetailResponseBodyResultJourneysArrival = GetTravelProcessDetailResponseBodyResultJourneysArrival;
class GetTravelProcessDetailResponseBodyResultJourneysDeparture extends $tea.Model {
    static names() {
        return {
            code: 'code',
            countryCode: 'countryCode',
            countryName: 'countryName',
            name: 'name',
            nationalCityCode: 'nationalCityCode',
        };
    }
    static types() {
        return {
            code: 'string',
            countryCode: 'string',
            countryName: 'string',
            name: 'string',
            nationalCityCode: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetTravelProcessDetailResponseBodyResultJourneysDeparture = GetTravelProcessDetailResponseBodyResultJourneysDeparture;
class GetTravelProcessDetailResponseBodyResultJourneys extends $tea.Model {
    static names() {
        return {
            arrival: 'arrival',
            costCenter: 'costCenter',
            costCenterId: 'costCenterId',
            costCenterThirdPartyId: 'costCenterThirdPartyId',
            departure: 'departure',
            endTime: 'endTime',
            endTimeAcc: 'endTimeAcc',
            invoiceTitle: 'invoiceTitle',
            invoiceTitleId: 'invoiceTitleId',
            invoiceTitleThirdPartyId: 'invoiceTitleThirdPartyId',
            itineraryProject: 'itineraryProject',
            itineraryProjectId: 'itineraryProjectId',
            itineraryProjectThirdPartyId: 'itineraryProjectThirdPartyId',
            journeyBizNo: 'journeyBizNo',
            startTime: 'startTime',
            startTimeAcc: 'startTimeAcc',
            timeUnit: 'timeUnit',
            travelType: 'travelType',
            tripWay: 'tripWay',
        };
    }
    static types() {
        return {
            arrival: GetTravelProcessDetailResponseBodyResultJourneysArrival,
            costCenter: 'string',
            costCenterId: 'string',
            costCenterThirdPartyId: 'string',
            departure: GetTravelProcessDetailResponseBodyResultJourneysDeparture,
            endTime: 'string',
            endTimeAcc: 'string',
            invoiceTitle: 'string',
            invoiceTitleId: 'string',
            invoiceTitleThirdPartyId: 'string',
            itineraryProject: 'string',
            itineraryProjectId: 'string',
            itineraryProjectThirdPartyId: 'string',
            journeyBizNo: 'string',
            startTime: 'string',
            startTimeAcc: 'string',
            timeUnit: 'string',
            travelType: 'string',
            tripWay: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetTravelProcessDetailResponseBodyResultJourneys = GetTravelProcessDetailResponseBodyResultJourneys;
class GetTravelProcessDetailResponseBodyResultTasks extends $tea.Model {
    static names() {
        return {
            activityId: 'activityId',
            createTime: 'createTime',
            finishTime: 'finishTime',
            originUserId: 'originUserId',
            processInstanceId: 'processInstanceId',
            result: 'result',
            status: 'status',
            taskId: 'taskId',
            url: 'url',
            userId: 'userId',
        };
    }
    static types() {
        return {
            activityId: 'string',
            createTime: 'string',
            finishTime: 'string',
            originUserId: 'string',
            processInstanceId: 'string',
            result: 'string',
            status: 'string',
            taskId: 'number',
            url: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetTravelProcessDetailResponseBodyResultTasks = GetTravelProcessDetailResponseBodyResultTasks;
class GetTravelProcessDetailResponseBodyResult extends $tea.Model {
    static names() {
        return {
            archiveTime: 'archiveTime',
            bizCategoryId: 'bizCategoryId',
            businessId: 'businessId',
            corpId: 'corpId',
            costCenter: 'costCenter',
            costCenterId: 'costCenterId',
            costCenterThirdPartyId: 'costCenterThirdPartyId',
            createTime: 'createTime',
            extFormComponent: 'extFormComponent',
            feeType: 'feeType',
            invoiceTitle: 'invoiceTitle',
            invoiceTitleId: 'invoiceTitleId',
            invoiceTitleThirdPartyId: 'invoiceTitleThirdPartyId',
            itineraryProject: 'itineraryProject',
            itineraryProjectThirdPartyId: 'itineraryProjectThirdPartyId',
            journeys: 'journeys',
            mainProcessInstanceId: 'mainProcessInstanceId',
            memo: 'memo',
            originatorId: 'originatorId',
            originatorIdOnBehalf: 'originatorIdOnBehalf',
            processBizAction: 'processBizAction',
            processInstanceId: 'processInstanceId',
            processResult: 'processResult',
            processStatus: 'processStatus',
            remark: 'remark',
            tasks: 'tasks',
            travelCategory: 'travelCategory',
            travelers: 'travelers',
            tripDays: 'tripDays',
        };
    }
    static types() {
        return {
            archiveTime: 'string',
            bizCategoryId: 'string',
            businessId: 'string',
            corpId: 'string',
            costCenter: 'string',
            costCenterId: 'string',
            costCenterThirdPartyId: 'string',
            createTime: 'string',
            extFormComponent: { 'type': 'array', 'itemType': GetTravelProcessDetailResponseBodyResultExtFormComponent },
            feeType: 'string',
            invoiceTitle: 'string',
            invoiceTitleId: 'string',
            invoiceTitleThirdPartyId: 'string',
            itineraryProject: 'string',
            itineraryProjectThirdPartyId: 'string',
            journeys: { 'type': 'array', 'itemType': GetTravelProcessDetailResponseBodyResultJourneys },
            mainProcessInstanceId: 'string',
            memo: 'string',
            originatorId: 'string',
            originatorIdOnBehalf: 'string',
            processBizAction: 'string',
            processInstanceId: 'string',
            processResult: 'string',
            processStatus: 'string',
            remark: 'string',
            tasks: { 'type': 'array', 'itemType': GetTravelProcessDetailResponseBodyResultTasks },
            travelCategory: 'string',
            travelers: { 'type': 'array', 'itemType': 'string' },
            tripDays: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetTravelProcessDetailResponseBodyResult = GetTravelProcessDetailResponseBodyResult;
class PreCheckTemplateResponseBodyResultBlockRecords extends $tea.Model {
    static names() {
        return {
            blockType: 'blockType',
            reason: 'reason',
        };
    }
    static types() {
        return {
            blockType: 'string',
            reason: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.PreCheckTemplateResponseBodyResultBlockRecords = PreCheckTemplateResponseBodyResultBlockRecords;
class PreCheckTemplateResponseBodyResult extends $tea.Model {
    static names() {
        return {
            blockRecords: 'blockRecords',
            pass: 'pass',
        };
    }
    static types() {
        return {
            blockRecords: { 'type': 'array', 'itemType': PreCheckTemplateResponseBodyResultBlockRecords },
            pass: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.PreCheckTemplateResponseBodyResult = PreCheckTemplateResponseBodyResult;
class QueryTripFlightOrderByPageResponseBodyListConsumerInfos extends $tea.Model {
    static names() {
        return {
            name: 'name',
            staffFlag: 'staffFlag',
            userId: 'userId',
        };
    }
    static types() {
        return {
            name: 'string',
            staffFlag: 'boolean',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryTripFlightOrderByPageResponseBodyListConsumerInfos = QueryTripFlightOrderByPageResponseBodyListConsumerInfos;
class QueryTripFlightOrderByPageResponseBodyList extends $tea.Model {
    static names() {
        return {
            arrivalTime: 'arrivalTime',
            consumerInfos: 'consumerInfos',
            contactName: 'contactName',
            costCenter: 'costCenter',
            costCenterCode: 'costCenterCode',
            createTime: 'createTime',
            departTime: 'departTime',
            departmentId: 'departmentId',
            departmentName: 'departmentName',
            destinationCity: 'destinationCity',
            destinationStation: 'destinationStation',
            flightOrderStatus: 'flightOrderStatus',
            flightOrderStatusDesc: 'flightOrderStatusDesc',
            gmtOrder: 'gmtOrder',
            gmtPay: 'gmtPay',
            invoiceId: 'invoiceId',
            invoiceTitle: 'invoiceTitle',
            orderDetails: 'orderDetails',
            orderNo: 'orderNo',
            originCity: 'originCity',
            originStation: 'originStation',
            passengerCount: 'passengerCount',
            passengerName: 'passengerName',
            processInstanceId: 'processInstanceId',
            seatType: 'seatType',
            totalAmount: 'totalAmount',
            transportNumber: 'transportNumber',
            tripType: 'tripType',
            updateTime: 'updateTime',
            userId: 'userId',
            userName: 'userName',
        };
    }
    static types() {
        return {
            arrivalTime: 'string',
            consumerInfos: { 'type': 'array', 'itemType': QueryTripFlightOrderByPageResponseBodyListConsumerInfos },
            contactName: 'string',
            costCenter: 'string',
            costCenterCode: 'string',
            createTime: 'number',
            departTime: 'string',
            departmentId: 'string',
            departmentName: 'string',
            destinationCity: 'string',
            destinationStation: 'string',
            flightOrderStatus: 'number',
            flightOrderStatusDesc: 'string',
            gmtOrder: 'number',
            gmtPay: 'number',
            invoiceId: 'string',
            invoiceTitle: 'string',
            orderDetails: 'string',
            orderNo: 'string',
            originCity: 'string',
            originStation: 'string',
            passengerCount: 'number',
            passengerName: 'string',
            processInstanceId: 'string',
            seatType: 'string',
            totalAmount: 'number',
            transportNumber: 'string',
            tripType: 'string',
            updateTime: 'number',
            userId: 'string',
            userName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryTripFlightOrderByPageResponseBodyList = QueryTripFlightOrderByPageResponseBodyList;
class QueryTripHotelOrderByPageResponseBodyListConsumerInfos extends $tea.Model {
    static names() {
        return {
            name: 'name',
            staffFlag: 'staffFlag',
            userId: 'userId',
        };
    }
    static types() {
        return {
            name: 'string',
            staffFlag: 'boolean',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryTripHotelOrderByPageResponseBodyListConsumerInfos = QueryTripHotelOrderByPageResponseBodyListConsumerInfos;
class QueryTripHotelOrderByPageResponseBodyList extends $tea.Model {
    static names() {
        return {
            checkInTime: 'checkInTime',
            checkOutTime: 'checkOutTime',
            city: 'city',
            consumerInfos: 'consumerInfos',
            contactName: 'contactName',
            costCenter: 'costCenter',
            costCenterCode: 'costCenterCode',
            createTime: 'createTime',
            departmentId: 'departmentId',
            departmentName: 'departmentName',
            gmtOrder: 'gmtOrder',
            gmtPay: 'gmtPay',
            guest: 'guest',
            hotelName: 'hotelName',
            hotelOrderStatus: 'hotelOrderStatus',
            hotelOrderStatusDesc: 'hotelOrderStatusDesc',
            invoiceId: 'invoiceId',
            invoiceTitle: 'invoiceTitle',
            night: 'night',
            orderDetails: 'orderDetails',
            orderNo: 'orderNo',
            payType: 'payType',
            processInstanceId: 'processInstanceId',
            roomNum: 'roomNum',
            roomType: 'roomType',
            totalAmount: 'totalAmount',
            updateTime: 'updateTime',
            userId: 'userId',
            userName: 'userName',
        };
    }
    static types() {
        return {
            checkInTime: 'string',
            checkOutTime: 'string',
            city: 'string',
            consumerInfos: { 'type': 'array', 'itemType': QueryTripHotelOrderByPageResponseBodyListConsumerInfos },
            contactName: 'string',
            costCenter: 'string',
            costCenterCode: 'string',
            createTime: 'number',
            departmentId: 'string',
            departmentName: 'string',
            gmtOrder: 'number',
            gmtPay: 'number',
            guest: 'string',
            hotelName: 'string',
            hotelOrderStatus: 'string',
            hotelOrderStatusDesc: 'string',
            invoiceId: 'string',
            invoiceTitle: 'string',
            night: 'number',
            orderDetails: 'string',
            orderNo: 'string',
            payType: 'string',
            processInstanceId: 'string',
            roomNum: 'number',
            roomType: 'string',
            totalAmount: 'number',
            updateTime: 'number',
            userId: 'string',
            userName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryTripHotelOrderByPageResponseBodyList = QueryTripHotelOrderByPageResponseBodyList;
class QueryTripProcessTemplatesResponseBodyResultSchemas extends $tea.Model {
    static names() {
        return {
            processCode: 'processCode',
            processName: 'processName',
            type: 'type',
        };
    }
    static types() {
        return {
            processCode: 'string',
            processName: 'string',
            type: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryTripProcessTemplatesResponseBodyResultSchemas = QueryTripProcessTemplatesResponseBodyResultSchemas;
class QueryTripProcessTemplatesResponseBodyResult extends $tea.Model {
    static names() {
        return {
            schemas: 'schemas',
        };
    }
    static types() {
        return {
            schemas: { 'type': 'array', 'itemType': QueryTripProcessTemplatesResponseBodyResultSchemas },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryTripProcessTemplatesResponseBodyResult = QueryTripProcessTemplatesResponseBodyResult;
class QueryTripTrainOrderByPageResponseBodyListConsumerInfos extends $tea.Model {
    static names() {
        return {
            name: 'name',
            staffFlag: 'staffFlag',
            userId: 'userId',
        };
    }
    static types() {
        return {
            name: 'string',
            staffFlag: 'boolean',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryTripTrainOrderByPageResponseBodyListConsumerInfos = QueryTripTrainOrderByPageResponseBodyListConsumerInfos;
class QueryTripTrainOrderByPageResponseBodyList extends $tea.Model {
    static names() {
        return {
            arrivalCity: 'arrivalCity',
            arrivalStation: 'arrivalStation',
            arrivalTime: 'arrivalTime',
            consumerInfos: 'consumerInfos',
            contactName: 'contactName',
            costCenter: 'costCenter',
            costCenterCode: 'costCenterCode',
            createTime: 'createTime',
            departmentId: 'departmentId',
            departmentName: 'departmentName',
            departureCity: 'departureCity',
            departureStation: 'departureStation',
            departureTime: 'departureTime',
            gmtOrder: 'gmtOrder',
            gmtPay: 'gmtPay',
            invoiceId: 'invoiceId',
            invoiceTitle: 'invoiceTitle',
            orderDetails: 'orderDetails',
            orderNo: 'orderNo',
            payType: 'payType',
            processInstanceId: 'processInstanceId',
            runTime: 'runTime',
            seatType: 'seatType',
            ticketCount: 'ticketCount',
            totalAmount: 'totalAmount',
            trainNumber: 'trainNumber',
            trainOrderStatus: 'trainOrderStatus',
            trainOrderStatusDesc: 'trainOrderStatusDesc',
            updateTime: 'updateTime',
            userId: 'userId',
            userName: 'userName',
        };
    }
    static types() {
        return {
            arrivalCity: 'string',
            arrivalStation: 'string',
            arrivalTime: 'string',
            consumerInfos: { 'type': 'array', 'itemType': QueryTripTrainOrderByPageResponseBodyListConsumerInfos },
            contactName: 'string',
            costCenter: 'string',
            costCenterCode: 'string',
            createTime: 'number',
            departmentId: 'string',
            departmentName: 'string',
            departureCity: 'string',
            departureStation: 'string',
            departureTime: 'string',
            gmtOrder: 'number',
            gmtPay: 'number',
            invoiceId: 'string',
            invoiceTitle: 'string',
            orderDetails: 'string',
            orderNo: 'string',
            payType: 'string',
            processInstanceId: 'string',
            runTime: 'string',
            seatType: 'string',
            ticketCount: 'string',
            totalAmount: 'number',
            trainNumber: 'string',
            trainOrderStatus: 'string',
            trainOrderStatusDesc: 'string',
            updateTime: 'number',
            userId: 'string',
            userName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryTripTrainOrderByPageResponseBodyList = QueryTripTrainOrderByPageResponseBodyList;
class SyncBusinessSignInfoRequestTmcProductDetailList extends $tea.Model {
    static names() {
        return {
            gmtOrgPay: 'gmtOrgPay',
            payType: 'payType',
            product: 'product',
        };
    }
    static types() {
        return {
            gmtOrgPay: 'string',
            payType: 'string',
            product: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncBusinessSignInfoRequestTmcProductDetailList = SyncBusinessSignInfoRequestTmcProductDetailList;
class SyncBusinessSignInfoRequestTmcProductListProductDetailList extends $tea.Model {
    static names() {
        return {
            categoryType: 'categoryType',
            gmtOrgPay: 'gmtOrgPay',
            openStatus: 'openStatus',
            payType: 'payType',
            product: 'product',
        };
    }
    static types() {
        return {
            categoryType: 'string',
            gmtOrgPay: 'string',
            openStatus: 'boolean',
            payType: 'string',
            product: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncBusinessSignInfoRequestTmcProductListProductDetailList = SyncBusinessSignInfoRequestTmcProductListProductDetailList;
class SyncBusinessSignInfoRequestTmcProductList extends $tea.Model {
    static names() {
        return {
            productDetailList: 'productDetailList',
            tmcCorpId: 'tmcCorpId',
        };
    }
    static types() {
        return {
            productDetailList: { 'type': 'array', 'itemType': SyncBusinessSignInfoRequestTmcProductListProductDetailList },
            tmcCorpId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncBusinessSignInfoRequestTmcProductList = SyncBusinessSignInfoRequestTmcProductList;
class SyncCostCenterEntityRequestEntityList extends $tea.Model {
    static names() {
        return {
            entityId: 'entityId',
            entityType: 'entityType',
        };
    }
    static types() {
        return {
            entityId: 'string',
            entityType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncCostCenterEntityRequestEntityList = SyncCostCenterEntityRequestEntityList;
class SyncInvoiceEntityRequestEntityList extends $tea.Model {
    static names() {
        return {
            entityId: 'entityId',
            entityType: 'entityType',
        };
    }
    static types() {
        return {
            entityId: 'string',
            entityType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncInvoiceEntityRequestEntityList = SyncInvoiceEntityRequestEntityList;
class SyncProjectEntityRequestEntityList extends $tea.Model {
    static names() {
        return {
            entityId: 'entityId',
            entityType: 'entityType',
        };
    }
    static types() {
        return {
            entityId: 'string',
            entityType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncProjectEntityRequestEntityList = SyncProjectEntityRequestEntityList;
class SyncSecretKeyResponseBodyResult extends $tea.Model {
    static names() {
        return {
            secretString: 'secretString',
            targetCorpId: 'targetCorpId',
            tripAppKey: 'tripAppKey',
            tripAppSecurity: 'tripAppSecurity',
            tripCorpId: 'tripCorpId',
        };
    }
    static types() {
        return {
            secretString: 'string',
            targetCorpId: 'string',
            tripAppKey: 'string',
            tripAppSecurity: 'string',
            tripCorpId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncSecretKeyResponseBodyResult = SyncSecretKeyResponseBodyResult;
class SyncTripInvoiceRequestInvoiceDetailListTravelItineraryInfoList extends $tea.Model {
    static names() {
        return {
            travelItineraryUrl: 'travelItineraryUrl',
        };
    }
    static types() {
        return {
            travelItineraryUrl: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncTripInvoiceRequestInvoiceDetailListTravelItineraryInfoList = SyncTripInvoiceRequestInvoiceDetailListTravelItineraryInfoList;
class SyncTripInvoiceRequestInvoiceDetailList extends $tea.Model {
    static names() {
        return {
            failCode: 'failCode',
            failMessage: 'failMessage',
            invoiceResult: 'invoiceResult',
            ofdInvoiceUrl: 'ofdInvoiceUrl',
            pdfInvoiceUrl: 'pdfInvoiceUrl',
            travelItineraryInfoList: 'travelItineraryInfoList',
            xmlInvoiceUrl: 'xmlInvoiceUrl',
        };
    }
    static types() {
        return {
            failCode: 'string',
            failMessage: 'string',
            invoiceResult: 'boolean',
            ofdInvoiceUrl: 'string',
            pdfInvoiceUrl: 'string',
            travelItineraryInfoList: { 'type': 'array', 'itemType': SyncTripInvoiceRequestInvoiceDetailListTravelItineraryInfoList },
            xmlInvoiceUrl: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncTripInvoiceRequestInvoiceDetailList = SyncTripInvoiceRequestInvoiceDetailList;
class SyncTripOrderRequestEvent extends $tea.Model {
    static names() {
        return {
            action: 'action',
            gmtAction: 'gmtAction',
        };
    }
    static types() {
        return {
            action: 'string',
            gmtAction: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncTripOrderRequestEvent = SyncTripOrderRequestEvent;
class SyncTripOrderRequestOrderDetailsHotelLocation extends $tea.Model {
    static names() {
        return {
            lat: 'lat',
            lon: 'lon',
            source: 'source',
            url: 'url',
        };
    }
    static types() {
        return {
            lat: 'string',
            lon: 'string',
            source: 'string',
            url: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncTripOrderRequestOrderDetailsHotelLocation = SyncTripOrderRequestOrderDetailsHotelLocation;
class SyncTripOrderRequestOrderDetailsOpenConsumerInfo extends $tea.Model {
    static names() {
        return {
            corpId: 'corpId',
            identityNumber: 'identityNumber',
            identityType: 'identityType',
            name: 'name',
            staffFlag: 'staffFlag',
            status: 'status',
            ticketAmount: 'ticketAmount',
            ticketNo: 'ticketNo',
            userId: 'userId',
        };
    }
    static types() {
        return {
            corpId: 'string',
            identityNumber: 'string',
            identityType: 'string',
            name: 'string',
            staffFlag: 'boolean',
            status: 'string',
            ticketAmount: 'string',
            ticketNo: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncTripOrderRequestOrderDetailsOpenConsumerInfo = SyncTripOrderRequestOrderDetailsOpenConsumerInfo;
class SyncTripOrderRequestOrderDetails extends $tea.Model {
    static names() {
        return {
            airport: 'airport',
            arrivalTime: 'arrivalTime',
            carColor: 'carColor',
            carModel: 'carModel',
            carNumber: 'carNumber',
            cateringType: 'cateringType',
            checkInTime: 'checkInTime',
            checkOutTime: 'checkOutTime',
            departTime: 'departTime',
            destinationAirport: 'destinationAirport',
            destinationAirportCode: 'destinationAirportCode',
            destinationCity: 'destinationCity',
            destinationCityCode: 'destinationCityCode',
            destinationStation: 'destinationStation',
            destinationTerminalBuilding: 'destinationTerminalBuilding',
            detailAmount: 'detailAmount',
            hotelAddress: 'hotelAddress',
            hotelCity: 'hotelCity',
            hotelLocation: 'hotelLocation',
            hotelName: 'hotelName',
            openConsumerInfo: 'openConsumerInfo',
            orderDetailStatus: 'orderDetailStatus',
            originAirport: 'originAirport',
            originAirportCode: 'originAirportCode',
            originCity: 'originCity',
            originCityCode: 'originCityCode',
            originStation: 'originStation',
            originTerminalBuilding: 'originTerminalBuilding',
            roomCount: 'roomCount',
            roundTripType: 'roundTripType',
            seatInfo: 'seatInfo',
            serviceType: 'serviceType',
            subSupplyLogo: 'subSupplyLogo',
            subSupplyName: 'subSupplyName',
            taxiType: 'taxiType',
            telephone: 'telephone',
            transportNumber: 'transportNumber',
            typeDescription: 'typeDescription',
        };
    }
    static types() {
        return {
            airport: 'string',
            arrivalTime: 'string',
            carColor: 'string',
            carModel: 'string',
            carNumber: 'string',
            cateringType: 'string',
            checkInTime: 'string',
            checkOutTime: 'string',
            departTime: 'string',
            destinationAirport: 'string',
            destinationAirportCode: 'string',
            destinationCity: 'string',
            destinationCityCode: 'string',
            destinationStation: 'string',
            destinationTerminalBuilding: 'string',
            detailAmount: 'string',
            hotelAddress: 'string',
            hotelCity: 'string',
            hotelLocation: SyncTripOrderRequestOrderDetailsHotelLocation,
            hotelName: 'string',
            openConsumerInfo: { 'type': 'array', 'itemType': SyncTripOrderRequestOrderDetailsOpenConsumerInfo },
            orderDetailStatus: 'string',
            originAirport: 'string',
            originAirportCode: 'string',
            originCity: 'string',
            originCityCode: 'string',
            originStation: 'string',
            originTerminalBuilding: 'string',
            roomCount: 'number',
            roundTripType: 'string',
            seatInfo: 'string',
            serviceType: 'string',
            subSupplyLogo: 'string',
            subSupplyName: 'string',
            taxiType: 'string',
            telephone: 'string',
            transportNumber: 'string',
            typeDescription: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncTripOrderRequestOrderDetails = SyncTripOrderRequestOrderDetails;
class SyncTripProductConfigRequestTripProductConfigListTmcInfos extends $tea.Model {
    static names() {
        return {
            categoryType: 'categoryType',
            gmtOrgPay: 'gmtOrgPay',
            payType: 'payType',
            tmcCorpId: 'tmcCorpId',
        };
    }
    static types() {
        return {
            categoryType: 'string',
            gmtOrgPay: 'string',
            payType: 'string',
            tmcCorpId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncTripProductConfigRequestTripProductConfigListTmcInfos = SyncTripProductConfigRequestTripProductConfigListTmcInfos;
class SyncTripProductConfigRequestTripProductConfigList extends $tea.Model {
    static names() {
        return {
            allVisible: 'allVisible',
            deptVisibleScopes: 'deptVisibleScopes',
            openStatus: 'openStatus',
            productType: 'productType',
            roleVisibleScopes: 'roleVisibleScopes',
            staffVisibleScopes: 'staffVisibleScopes',
            tmcInfos: 'tmcInfos',
        };
    }
    static types() {
        return {
            allVisible: 'boolean',
            deptVisibleScopes: { 'type': 'array', 'itemType': 'string' },
            openStatus: 'boolean',
            productType: 'string',
            roleVisibleScopes: { 'type': 'array', 'itemType': 'string' },
            staffVisibleScopes: { 'type': 'array', 'itemType': 'string' },
            tmcInfos: { 'type': 'array', 'itemType': SyncTripProductConfigRequestTripProductConfigListTmcInfos },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncTripProductConfigRequestTripProductConfigList = SyncTripProductConfigRequestTripProductConfigList;
class UpgradeTemplateResponseBodyResult extends $tea.Model {
    static names() {
        return {
            upgradeResult: 'upgradeResult',
        };
    }
    static types() {
        return {
            upgradeResult: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpgradeTemplateResponseBodyResult = UpgradeTemplateResponseBodyResult;
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 - GetTravelProcessDetailRequest
     * @param headers - GetTravelProcessDetailHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetTravelProcessDetailResponse
     */
    async getTravelProcessDetailWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.processCorpId)) {
            query["processCorpId"] = request.processCorpId;
        }
        if (!tea_util_1.default.isUnset(request.processInstanceId)) {
            query["processInstanceId"] = request.processInstanceId;
        }
        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: "GetTravelProcessDetail",
            version: "trip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/trip/processes/details`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetTravelProcessDetailResponse({}));
    }
    /**
     * 获取差旅审批实例详情
     *
     * @param request - GetTravelProcessDetailRequest
     * @returns GetTravelProcessDetailResponse
     */
    async getTravelProcessDetail(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetTravelProcessDetailHeaders({});
        return await this.getTravelProcessDetailWithOptions(request, headers, runtime);
    }
    /**
     * 表单升级预校验
     *
     * @param request - PreCheckTemplateRequest
     * @param headers - PreCheckTemplateHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns PreCheckTemplateResponse
     */
    async preCheckTemplateWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.customerCorpId)) {
            body["customerCorpId"] = request.customerCorpId;
        }
        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: "PreCheckTemplate",
            version: "trip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/trip/processes/templateUpgrades/preCheck`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new PreCheckTemplateResponse({}));
    }
    /**
     * 表单升级预校验
     *
     * @param request - PreCheckTemplateRequest
     * @returns PreCheckTemplateResponse
     */
    async preCheckTemplate(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new PreCheckTemplateHeaders({});
        return await this.preCheckTemplateWithOptions(request, headers, runtime);
    }
    /**
     * 分页查询组织航班订单信息
     *
     * @param tmpReq - QueryTripFlightOrderByPageRequest
     * @param headers - QueryTripFlightOrderByPageHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryTripFlightOrderByPageResponse
     */
    async queryTripFlightOrderByPageWithOptions(tmpReq, headers, runtime) {
        tea_util_1.default.validateModel(tmpReq);
        let request = new QueryTripFlightOrderByPageShrinkRequest({});
        openapi_util_1.default.convert(tmpReq, request);
        if (!tea_util_1.default.isUnset(tmpReq.orderStatus)) {
            request.orderStatusShrink = openapi_util_1.default.arrayToStringWithSpecifiedStyle(tmpReq.orderStatus, "orderStatus", "json");
        }
        let query = {};
        if (!tea_util_1.default.isUnset(request.endTime)) {
            query["endTime"] = request.endTime;
        }
        if (!tea_util_1.default.isUnset(request.orderStatusShrink)) {
            query["orderStatus"] = request.orderStatusShrink;
        }
        if (!tea_util_1.default.isUnset(request.pageIndex)) {
            query["pageIndex"] = request.pageIndex;
        }
        if (!tea_util_1.default.isUnset(request.pageSize)) {
            query["pageSize"] = request.pageSize;
        }
        if (!tea_util_1.default.isUnset(request.startTime)) {
            query["startTime"] = request.startTime;
        }
        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: "QueryTripFlightOrderByPage",
            version: "trip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/trip/flight/orders`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryTripFlightOrderByPageResponse({}));
    }
    /**
     * 分页查询组织航班订单信息
     *
     * @param request - QueryTripFlightOrderByPageRequest
     * @returns QueryTripFlightOrderByPageResponse
     */
    async queryTripFlightOrderByPage(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryTripFlightOrderByPageHeaders({});
        return await this.queryTripFlightOrderByPageWithOptions(request, headers, runtime);
    }
    /**
     * 分页查询组织酒店订单信息
     *
     * @param tmpReq - QueryTripHotelOrderByPageRequest
     * @param headers - QueryTripHotelOrderByPageHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryTripHotelOrderByPageResponse
     */
    async queryTripHotelOrderByPageWithOptions(tmpReq, headers, runtime) {
        tea_util_1.default.validateModel(tmpReq);
        let request = new QueryTripHotelOrderByPageShrinkRequest({});
        openapi_util_1.default.convert(tmpReq, request);
        if (!tea_util_1.default.isUnset(tmpReq.orderStatus)) {
            request.orderStatusShrink = openapi_util_1.default.arrayToStringWithSpecifiedStyle(tmpReq.orderStatus, "orderStatus", "json");
        }
        let query = {};
        if (!tea_util_1.default.isUnset(request.endTime)) {
            query["endTime"] = request.endTime;
        }
        if (!tea_util_1.default.isUnset(request.orderStatusShrink)) {
            query["orderStatus"] = request.orderStatusShrink;
        }
        if (!tea_util_1.default.isUnset(request.pageIndex)) {
            query["pageIndex"] = request.pageIndex;
        }
        if (!tea_util_1.default.isUnset(request.pageSize)) {
            query["pageSize"] = request.pageSize;
        }
        if (!tea_util_1.default.isUnset(request.startTime)) {
            query["startTime"] = request.startTime;
        }
        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: "QueryTripHotelOrderByPage",
            version: "trip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/trip/hotel/orders`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryTripHotelOrderByPageResponse({}));
    }
    /**
     * 分页查询组织酒店订单信息
     *
     * @param request - QueryTripHotelOrderByPageRequest
     * @returns QueryTripHotelOrderByPageResponse
     */
    async queryTripHotelOrderByPage(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryTripHotelOrderByPageHeaders({});
        return await this.queryTripHotelOrderByPageWithOptions(request, headers, runtime);
    }
    /**
     * 查询审批套件详情
     *
     * @param request - QueryTripProcessTemplatesRequest
     * @param headers - QueryTripProcessTemplatesHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryTripProcessTemplatesResponse
     */
    async queryTripProcessTemplatesWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.customerCorpId)) {
            query["customerCorpId"] = request.customerCorpId;
        }
        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: "QueryTripProcessTemplates",
            version: "trip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/trip/processes/templatesDetails`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryTripProcessTemplatesResponse({}));
    }
    /**
     * 查询审批套件详情
     *
     * @param request - QueryTripProcessTemplatesRequest
     * @returns QueryTripProcessTemplatesResponse
     */
    async queryTripProcessTemplates(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryTripProcessTemplatesHeaders({});
        return await this.queryTripProcessTemplatesWithOptions(request, headers, runtime);
    }
    /**
     * 分页查询组织火车订单信息
     *
     * @param tmpReq - QueryTripTrainOrderByPageRequest
     * @param headers - QueryTripTrainOrderByPageHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryTripTrainOrderByPageResponse
     */
    async queryTripTrainOrderByPageWithOptions(tmpReq, headers, runtime) {
        tea_util_1.default.validateModel(tmpReq);
        let request = new QueryTripTrainOrderByPageShrinkRequest({});
        openapi_util_1.default.convert(tmpReq, request);
        if (!tea_util_1.default.isUnset(tmpReq.orderStatus)) {
            request.orderStatusShrink = openapi_util_1.default.arrayToStringWithSpecifiedStyle(tmpReq.orderStatus, "orderStatus", "json");
        }
        let query = {};
        if (!tea_util_1.default.isUnset(request.endTime)) {
            query["endTime"] = request.endTime;
        }
        if (!tea_util_1.default.isUnset(request.orderStatusShrink)) {
            query["orderStatus"] = request.orderStatusShrink;
        }
        if (!tea_util_1.default.isUnset(request.pageIndex)) {
            query["pageIndex"] = request.pageIndex;
        }
        if (!tea_util_1.default.isUnset(request.pageSize)) {
            query["pageSize"] = request.pageSize;
        }
        if (!tea_util_1.default.isUnset(request.startTime)) {
            query["startTime"] = request.startTime;
        }
        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: "QueryTripTrainOrderByPage",
            version: "trip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/trip/train/orders`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryTripTrainOrderByPageResponse({}));
    }
    /**
     * 分页查询组织火车订单信息
     *
     * @param request - QueryTripTrainOrderByPageRequest
     * @returns QueryTripTrainOrderByPageResponse
     */
    async queryTripTrainOrderByPage(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryTripTrainOrderByPageHeaders({});
        return await this.queryTripTrainOrderByPageWithOptions(request, headers, runtime);
    }
    /**
     * 同步服务商企业签约变更事件
     *
     * @param request - SyncBusinessSignInfoRequest
     * @param headers - SyncBusinessSignInfoHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns SyncBusinessSignInfoResponse
     */
    async syncBusinessSignInfoWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.bizTypeList)) {
            body["bizTypeList"] = request.bizTypeList;
        }
        if (!tea_util_1.default.isUnset(request.gmtOrgPay)) {
            body["gmtOrgPay"] = request.gmtOrgPay;
        }
        if (!tea_util_1.default.isUnset(request.gmtSign)) {
            body["gmtSign"] = request.gmtSign;
        }
        if (!tea_util_1.default.isUnset(request.orgPayStatus)) {
            body["orgPayStatus"] = request.orgPayStatus;
        }
        if (!tea_util_1.default.isUnset(request.signStatus)) {
            body["signStatus"] = request.signStatus;
        }
        if (!tea_util_1.default.isUnset(request.targetCorpId)) {
            body["targetCorpId"] = request.targetCorpId;
        }
        if (!tea_util_1.default.isUnset(request.tmcProductDetailList)) {
            body["tmcProductDetailList"] = request.tmcProductDetailList;
        }
        if (!tea_util_1.default.isUnset(request.tmcProductList)) {
            body["tmcProductList"] = request.tmcProductList;
        }
        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: "SyncBusinessSignInfo",
            version: "trip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/trip/businessSignInfos/sync`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new SyncBusinessSignInfoResponse({}));
    }
    /**
     * 同步服务商企业签约变更事件
     *
     * @param request - SyncBusinessSignInfoRequest
     * @returns SyncBusinessSignInfoResponse
     */
    async syncBusinessSignInfo(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new SyncBusinessSignInfoHeaders({});
        return await this.syncBusinessSignInfoWithOptions(request, headers, runtime);
    }
    /**
     * 出差表单成本中心同步
     *
     * @param request - SyncCostCenterRequest
     * @param headers - SyncCostCenterHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns SyncCostCenterResponse
     */
    async syncCostCenterWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.channelCorpId)) {
            body["channelCorpId"] = request.channelCorpId;
        }
        if (!tea_util_1.default.isUnset(request.costCenterId)) {
            body["costCenterId"] = request.costCenterId;
        }
        if (!tea_util_1.default.isUnset(request.deleteFlag)) {
            body["deleteFlag"] = request.deleteFlag;
        }
        if (!tea_util_1.default.isUnset(request.extension)) {
            body["extension"] = request.extension;
        }
        if (!tea_util_1.default.isUnset(request.gmtAction)) {
            body["gmtAction"] = request.gmtAction;
        }
        if (!tea_util_1.default.isUnset(request.number)) {
            body["number"] = request.number;
        }
        if (!tea_util_1.default.isUnset(request.scope)) {
            body["scope"] = request.scope;
        }
        if (!tea_util_1.default.isUnset(request.source)) {
            body["source"] = request.source;
        }
        if (!tea_util_1.default.isUnset(request.thirdPartId)) {
            body["thirdPartId"] = request.thirdPartId;
        }
        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: "SyncCostCenter",
            version: "trip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/trip/processes/costCenters/sync`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new SyncCostCenterResponse({}));
    }
    /**
     * 出差表单成本中心同步
     *
     * @param request - SyncCostCenterRequest
     * @returns SyncCostCenterResponse
     */
    async syncCostCenter(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new SyncCostCenterHeaders({});
        return await this.syncCostCenterWithOptions(request, headers, runtime);
    }
    /**
     * 出差表单成本中心可用范围
     *
     * @param request - SyncCostCenterEntityRequest
     * @param headers - SyncCostCenterEntityHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns SyncCostCenterEntityResponse
     */
    async syncCostCenterEntityWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.channelCorpId)) {
            body["channelCorpId"] = request.channelCorpId;
        }
        if (!tea_util_1.default.isUnset(request.costCenterId)) {
            body["costCenterId"] = request.costCenterId;
        }
        if (!tea_util_1.default.isUnset(request.delAll)) {
            body["delAll"] = request.delAll;
        }
        if (!tea_util_1.default.isUnset(request.entityList)) {
            body["entityList"] = request.entityList;
        }
        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: "SyncCostCenterEntity",
            version: "trip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/trip/processes/costCenters/applicableScopes/sync`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new SyncCostCenterEntityResponse({}));
    }
    /**
     * 出差表单成本中心可用范围
     *
     * @param request - SyncCostCenterEntityRequest
     * @returns SyncCostCenterEntityResponse
     */
    async syncCostCenterEntity(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new SyncCostCenterEntityHeaders({});
        return await this.syncCostCenterEntityWithOptions(request, headers, runtime);
    }
    /**
     * 出差表单发票抬头
     *
     * @param request - SyncInvoiceRequest
     * @param headers - SyncInvoiceHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns SyncInvoiceResponse
     */
    async syncInvoiceWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.address)) {
            body["address"] = request.address;
        }
        if (!tea_util_1.default.isUnset(request.bankName)) {
            body["bankName"] = request.bankName;
        }
        if (!tea_util_1.default.isUnset(request.bankNo)) {
            body["bankNo"] = request.bankNo;
        }
        if (!tea_util_1.default.isUnset(request.channelCorpId)) {
            body["channelCorpId"] = request.channelCorpId;
        }
        if (!tea_util_1.default.isUnset(request.deleteFlag)) {
            body["deleteFlag"] = request.deleteFlag;
        }
        if (!tea_util_1.default.isUnset(request.gmtAction)) {
            body["gmtAction"] = request.gmtAction;
        }
        if (!tea_util_1.default.isUnset(request.invoiceId)) {
            body["invoiceId"] = request.invoiceId;
        }
        if (!tea_util_1.default.isUnset(request.projectIds)) {
            body["projectIds"] = request.projectIds;
        }
        if (!tea_util_1.default.isUnset(request.scope)) {
            body["scope"] = request.scope;
        }
        if (!tea_util_1.default.isUnset(request.source)) {
            body["source"] = request.source;
        }
        if (!tea_util_1.default.isUnset(request.taxNo)) {
            body["taxNo"] = request.taxNo;
        }
        if (!tea_util_1.default.isUnset(request.tel)) {
            body["tel"] = request.tel;
        }
        if (!tea_util_1.default.isUnset(request.thirdPartId)) {
            body["thirdPartId"] = request.thirdPartId;
        }
        if (!tea_util_1.default.isUnset(request.title)) {
            body["title"] = request.title;
        }
        if (!tea_util_1.default.isUnset(request.type)) {
            body["type"] = request.type;
        }
        if (!tea_util_1.default.isUnset(request.unitType)) {
            body["unitType"] = request.unitType;
        }
        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: "SyncInvoice",
            version: "trip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/trip/processes/invoiceTitles/sync`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new SyncInvoiceResponse({}));
    }
    /**
     * 出差表单发票抬头
     *
     * @param request - SyncInvoiceRequest
     * @returns SyncInvoiceResponse
     */
    async syncInvoice(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new SyncInvoiceHeaders({});
        return await this.syncInvoiceWithOptions(request, headers, runtime);
    }
    /**
     * 出差表单发票抬头可用范围
     *
     * @param request - SyncInvoiceEntityRequest
     * @param headers - SyncInvoiceEntityHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns SyncInvoiceEntityResponse
     */
    async syncInvoiceEntityWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.channelCorpId)) {
            body["channelCorpId"] = request.channelCorpId;
        }
        if (!tea_util_1.default.isUnset(request.delAll)) {
            body["delAll"] = request.delAll;
        }
        if (!tea_util_1.default.isUnset(request.entityList)) {
            body["entityList"] = request.entityList;
        }
        if (!tea_util_1.default.isUnset(request.invoiceId)) {
            body["invoiceId"] = request.invoiceId;
        }
        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: "SyncInvoiceEntity",
            version: "trip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/trip/processes/invoiceTitles/applicableScopes/sync`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new SyncInvoiceEntityResponse({}));
    }
    /**
     * 出差表单发票抬头可用范围
     *
     * @param request - SyncInvoiceEntityRequest
     * @returns SyncInvoiceEntityResponse
     */
    async syncInvoiceEntity(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new SyncInvoiceEntityHeaders({});
        return await this.syncInvoiceEntityWithOptions(request, headers, runtime);
    }
    /**
     * 出差表单项目
     *
     * @param request - SyncProjectRequest
     * @param headers - SyncProjectHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns SyncProjectResponse
     */
    async syncProjectWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.channelCorpId)) {
            body["channelCorpId"] = request.channelCorpId;
        }
        if (!tea_util_1.default.isUnset(request.code)) {
            body["code"] = request.code;
        }
        if (!tea_util_1.default.isUnset(request.costCenterId)) {
            body["costCenterId"] = request.costCenterId;
        }
        if (!tea_util_1.default.isUnset(request.deleteFlag)) {
            body["deleteFlag"] = request.deleteFlag;
        }
        if (!tea_util_1.default.isUnset(request.extension)) {
            body["extension"] = request.extension;
        }
        if (!tea_util_1.default.isUnset(request.gmtAction)) {
            body["gmtAction"] = request.gmtAction;
        }
        if (!tea_util_1.default.isUnset(request.invoiceId)) {
            body["invoiceId"] = request.invoiceId;
        }
        if (!tea_util_1.default.isUnset(request.managerIds)) {
            body["managerIds"] = request.managerIds;
        }
        if (!tea_util_1.default.isUnset(request.projectId)) {
            body["projectId"] = request.projectId;
        }
        if (!tea_util_1.default.isUnset(request.projectName)) {
            body["projectName"] = request.projectName;
        }
        if (!tea_util_1.default.isUnset(request.scope)) {
            body["scope"] = request.scope;
        }
        if (!tea_util_1.default.isUnset(request.source)) {
            body["source"] = request.source;
        }
        if (!tea_util_1.default.isUnset(request.thirdPartId)) {
            body["thirdPartId"] = request.thirdPartId;
        }
        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: "SyncProject",
            version: "trip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/trip/processes/projects/sync`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new SyncProjectResponse({}));
    }
    /**
     * 出差表单项目
     *
     * @param request - SyncProjectRequest
     * @returns SyncProjectResponse
     */
    async syncProject(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new SyncProjectHeaders({});
        return await this.syncProjectWithOptions(request, headers, runtime);
    }
    /**
     * 出差表单项目可用范围
     *
     * @param request - SyncProjectEntityRequest
     * @param headers - SyncProjectEntityHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns SyncProjectEntityResponse
     */
    async syncProjectEntityWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.channelCorpId)) {
            body["channelCorpId"] = request.channelCorpId;
        }
        if (!tea_util_1.default.isUnset(request.delAll)) {
            body["delAll"] = request.delAll;
        }
        if (!tea_util_1.default.isUnset(request.entityList)) {
            body["entityList"] = request.entityList;
        }
        if (!tea_util_1.default.isUnset(request.projectId)) {
            body["projectId"] = request.projectId;
        }
        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: "SyncProjectEntity",
            version: "trip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/trip/processes/projects/applicableScopes/sync`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new SyncProjectEntityResponse({}));
    }
    /**
     * 出差表单项目可用范围
     *
     * @param request - SyncProjectEntityRequest
     * @returns SyncProjectEntityResponse
     */
    async syncProjectEntity(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new SyncProjectEntityHeaders({});
        return await this.syncProjectEntityWithOptions(request, headers, runtime);
    }
    /**
     * 调用本接口同步公司密钥信息。
     *
     * @param request - SyncSecretKeyRequest
     * @param headers - SyncSecretKeyHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns SyncSecretKeyResponse
     */
    async syncSecretKeyWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.actionType)) {
            body["actionType"] = request.actionType;
        }
        if (!tea_util_1.default.isUnset(request.secretString)) {
            body["secretString"] = request.secretString;
        }
        if (!tea_util_1.default.isUnset(request.targetCorpId)) {
            body["targetCorpId"] = request.targetCorpId;
        }
        if (!tea_util_1.default.isUnset(request.tripAppKey)) {
            body["tripAppKey"] = request.tripAppKey;
        }
        if (!tea_util_1.default.isUnset(request.tripAppSecurity)) {
            body["tripAppSecurity"] = request.tripAppSecurity;
        }
        if (!tea_util_1.default.isUnset(request.tripCorpId)) {
            body["tripCorpId"] = request.tripCorpId;
        }
        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: "SyncSecretKey",
            version: "trip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/trip/secretKeys/sync`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new SyncSecretKeyResponse({}));
    }
    /**
     * 调用本接口同步公司密钥信息。
     *
     * @param request - SyncSecretKeyRequest
     * @returns SyncSecretKeyResponse
     */
    async syncSecretKey(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new SyncSecretKeyHeaders({});
        return await this.syncSecretKeyWithOptions(request, headers, runtime);
    }
    /**
     * 新差旅-同步发票
     *
     * @param tmpReq - SyncTripInvoiceRequest
     * @param headers - SyncTripInvoiceHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns SyncTripInvoiceResponse
     */
    async syncTripInvoiceWithOptions(tmpReq, headers, runtime) {
        tea_util_1.default.validateModel(tmpReq);
        let request = new SyncTripInvoiceShrinkRequest({});
        openapi_util_1.default.convert(tmpReq, request);
        if (!tea_util_1.default.isUnset(tmpReq.invoiceDetailList)) {
            request.invoiceDetailListShrink = openapi_util_1.default.arrayToStringWithSpecifiedStyle(tmpReq.invoiceDetailList, "invoiceDetailList", "json");
        }
        let query = {};
        if (!tea_util_1.default.isUnset(request.channelOrderNo)) {
            query["channelOrderNo"] = request.channelOrderNo;
        }
        if (!tea_util_1.default.isUnset(request.channelType)) {
            query["channelType"] = request.channelType;
        }
        if (!tea_util_1.default.isUnset(request.customerCorpId)) {
            query["customerCorpId"] = request.customerCorpId;
        }
        if (!tea_util_1.default.isUnset(request.dingUserId)) {
            query["dingUserId"] = request.dingUserId;
        }
        if (!tea_util_1.default.isUnset(request.invoiceDetailListShrink)) {
            query["invoiceDetailList"] = request.invoiceDetailListShrink;
        }
        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: "SyncTripInvoice",
            version: "trip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/trip/tripInvoices/sync`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new SyncTripInvoiceResponse({}));
    }
    /**
     * 新差旅-同步发票
     *
     * @param request - SyncTripInvoiceRequest
     * @returns SyncTripInvoiceResponse
     */
    async syncTripInvoice(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new SyncTripInvoiceHeaders({});
        return await this.syncTripInvoiceWithOptions(request, headers, runtime);
    }
    /**
     * 同步出行订单变更事件
     *
     * @param request - SyncTripOrderRequest
     * @param headers - SyncTripOrderHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns SyncTripOrderResponse
     */
    async syncTripOrderWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.bizExtension)) {
            body["bizExtension"] = request.bizExtension;
        }
        if (!tea_util_1.default.isUnset(request.channelType)) {
            body["channelType"] = request.channelType;
        }
        if (!tea_util_1.default.isUnset(request.currency)) {
            body["currency"] = request.currency;
        }
        if (!tea_util_1.default.isUnset(request.dingUserId)) {
            body["dingUserId"] = request.dingUserId;
        }
        if (!tea_util_1.default.isUnset(request.discountAmount)) {
            body["discountAmount"] = request.discountAmount;
        }
        if (!tea_util_1.default.isUnset(request.endorseFlag)) {
            body["endorseFlag"] = request.endorseFlag;
        }
        if (!tea_util_1.default.isUnset(request.enterprisePayAmount)) {
            body["enterprisePayAmount"] = request.enterprisePayAmount;
        }
        if (!tea_util_1.default.isUnset(request.event)) {
            body["event"] = request.event;
        }
        if (!tea_util_1.default.isUnset(request.gmtOrder)) {
            body["gmtOrder"] = request.gmtOrder;
        }
        if (!tea_util_1.default.isUnset(request.gmtPay)) {
            body["gmtPay"] = request.gmtPay;
        }
        if (!tea_util_1.default.isUnset(request.gmtRefund)) {
            body["gmtRefund"] = request.gmtRefund;
        }
        if (!tea_util_1.default.isUnset(request.hasInvoice)) {
            body["hasInvoice"] = request.hasInvoice;
        }
        if (!tea_util_1.default.isUnset(request.invoiceApplyRole)) {
            body["invoiceApplyRole"] = request.invoiceApplyRole;
        }
        if (!tea_util_1.default.isUnset(request.invoiceApplyType)) {
            body["invoiceApplyType"] = request.invoiceApplyType;
        }
        if (!tea_util_1.default.isUnset(request.invoiceApplyUrl)) {
            body["invoiceApplyUrl"] = request.invoiceApplyUrl;
        }
        if (!tea_util_1.default.isUnset(request.invoiceParty)) {
            body["invoiceParty"] = request.invoiceParty;
        }
        if (!tea_util_1.default.isUnset(request.invoiceType)) {
            body["invoiceType"] = request.invoiceType;
        }
        if (!tea_util_1.default.isUnset(request.journeyBizNo)) {
            body["journeyBizNo"] = request.journeyBizNo;
        }
        if (!tea_util_1.default.isUnset(request.journeySubmitUserId)) {
            body["journeySubmitUserId"] = request.journeySubmitUserId;
        }
        if (!tea_util_1.default.isUnset(request.orderDetails)) {
            body["orderDetails"] = request.orderDetails;
        }
        if (!tea_util_1.default.isUnset(request.orderNo)) {
            body["orderNo"] = request.orderNo;
        }
        if (!tea_util_1.default.isUnset(request.orderPaymentType)) {
            body["orderPaymentType"] = request.orderPaymentType;
        }
        if (!tea_util_1.default.isUnset(request.orderUrl)) {
            body["orderUrl"] = request.orderUrl;
        }
        if (!tea_util_1.default.isUnset(request.personalPayAmount)) {
            body["personalPayAmount"] = request.personalPayAmount;
        }
        if (!tea_util_1.default.isUnset(request.processId)) {
            body["processId"] = request.processId;
        }
        if (!tea_util_1.default.isUnset(request.realAmount)) {
            body["realAmount"] = request.realAmount;
        }
        if (!tea_util_1.default.isUnset(request.refundAmount)) {
            body["refundAmount"] = request.refundAmount;
        }
        if (!tea_util_1.default.isUnset(request.relativeOrderNo)) {
            body["relativeOrderNo"] = request.relativeOrderNo;
        }
        if (!tea_util_1.default.isUnset(request.source)) {
            body["source"] = request.source;
        }
        if (!tea_util_1.default.isUnset(request.supplyLogo)) {
            body["supplyLogo"] = request.supplyLogo;
        }
        if (!tea_util_1.default.isUnset(request.supplyName)) {
            body["supplyName"] = request.supplyName;
        }
        if (!tea_util_1.default.isUnset(request.targetCorpId)) {
            body["targetCorpId"] = request.targetCorpId;
        }
        if (!tea_util_1.default.isUnset(request.tmcCorpId)) {
            body["tmcCorpId"] = request.tmcCorpId;
        }
        if (!tea_util_1.default.isUnset(request.totalAmount)) {
            body["totalAmount"] = request.totalAmount;
        }
        if (!tea_util_1.default.isUnset(request.type)) {
            body["type"] = request.type;
        }
        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: "SyncTripOrder",
            version: "trip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/trip/tripOrders/sync`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new SyncTripOrderResponse({}));
    }
    /**
     * 同步出行订单变更事件
     *
     * @param request - SyncTripOrderRequest
     * @returns SyncTripOrderResponse
     */
    async syncTripOrder(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new SyncTripOrderHeaders({});
        return await this.syncTripOrderWithOptions(request, headers, runtime);
    }
    /**
     * 预订管理产品线配置同步
     *
     * @param request - SyncTripProductConfigRequest
     * @param headers - SyncTripProductConfigHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns SyncTripProductConfigResponse
     */
    async syncTripProductConfigWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.targetCorpId)) {
            body["targetCorpId"] = request.targetCorpId;
        }
        if (!tea_util_1.default.isUnset(request.tripProductConfigList)) {
            body["tripProductConfigList"] = request.tripProductConfigList;
        }
        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: "SyncTripProductConfig",
            version: "trip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/trip/productConfigs/sync`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new SyncTripProductConfigResponse({}));
    }
    /**
     * 预订管理产品线配置同步
     *
     * @param request - SyncTripProductConfigRequest
     * @returns SyncTripProductConfigResponse
     */
    async syncTripProductConfig(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new SyncTripProductConfigHeaders({});
        return await this.syncTripProductConfigWithOptions(request, headers, runtime);
    }
    /**
     * 智能差旅平台数据互通统一入口
     *
     * @param request - TripPlatformUnifiedEntryRequest
     * @param headers - TripPlatformUnifiedEntryHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns TripPlatformUnifiedEntryResponse
     */
    async tripPlatformUnifiedEntryWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.messages)) {
            body["messages"] = request.messages;
        }
        if (!tea_util_1.default.isUnset(request.method)) {
            body["method"] = request.method;
        }
        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: "TripPlatformUnifiedEntry",
            version: "trip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/trip/platforms/entrances/unify`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new TripPlatformUnifiedEntryResponse({}));
    }
    /**
     * 智能差旅平台数据互通统一入口
     *
     * @param request - TripPlatformUnifiedEntryRequest
     * @returns TripPlatformUnifiedEntryResponse
     */
    async tripPlatformUnifiedEntry(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new TripPlatformUnifiedEntryHeaders({});
        return await this.tripPlatformUnifiedEntryWithOptions(request, headers, runtime);
    }
    /**
     * 升级套件
     *
     * @param request - UpgradeTemplateRequest
     * @param headers - UpgradeTemplateHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UpgradeTemplateResponse
     */
    async upgradeTemplateWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.channelCorpId)) {
            body["channelCorpId"] = request.channelCorpId;
        }
        if (!tea_util_1.default.isUnset(request.forceUpgrade)) {
            body["forceUpgrade"] = request.forceUpgrade;
        }
        if (!tea_util_1.default.isUnset(request.tmcCorpId)) {
            body["tmcCorpId"] = request.tmcCorpId;
        }
        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: "UpgradeTemplate",
            version: "trip_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/trip/process/templates/upgrade`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UpgradeTemplateResponse({}));
    }
    /**
     * 升级套件
     *
     * @param request - UpgradeTemplateRequest
     * @returns UpgradeTemplateResponse
     */
    async upgradeTemplate(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UpgradeTemplateHeaders({});
        return await this.upgradeTemplateWithOptions(request, headers, runtime);
    }
}
exports.default = Client;
//# sourceMappingURL=client.js.map