const xmlConstants = {
    deviceType: {
        vehicleValidator: 'vehicleValidator',
        vehicleTicketingMachine: 'vehicleTicketingMachine',
        vehicleDriverConsole: 'vehicleDriverConsole',
        officePersonalizationStation: 'officePersonalizationStation',
        officeInitializationStation: 'officeInitializationStation',
        officePos: 'officePos',
        mobileInspectionDevice: 'mobileInspectionDevice',
        mobileTicketingMachine: 'mobileTicketingMachine',
        mobileValidator: 'mobileValidator',
        networkWebPortal: 'networkWebPortal',
        centralSystem: 'centralSystem',
        networkMobileTicketingPortal: 'networkMobileTicketingPortal'
    },
    componentType: {
        undefined: 'undefined',
        smartCardReader: 'smartCardReader',
        engravingMachine: 'engravingMachine',
        ticketPrinter: 'ticketPrinter',
        qrCodeReader: 'qrCodeReader',
        mainCpuBoard: 'mainCpuBoard',
        creditCardReader: 'creditCardReader',
        sam: 'sam',
        radio3G: 'radio3G',
        camera: 'camera',
        laserPrinter: 'laserPrinter',
        documentScanner: 'documentScanner',
        smartCardPrinter: 'smartCardPrinter',
        customerDisplay: 'customerDisplay',
        cashTransportBag: 'cashTransportBag',
        cashTransportEnvelope: 'cashTransportEnvelope',
        banknoteCashbox: 'banknoteCashbox'
    },
    componentCounterNames: {
        succefullTransactions: 'succefullTransactions',
        unsuccefullTransactions: 'unsuccefullTransactions',
        ticketsPrinted: 'ticketsPrinted',
        documentsScanned: 'documentsScanned',
        error: 'error'
    },
    componentGroup: {
        hardware: 'hardware',
        software: 'software',
        configuration: 'configuration'
    },
    revenueMode: {
        inService: 'inService',
        revenueTest: 'revenueTest',
        nonRevenueTest: 'nonRevenueTest'
    },
    operationMode: {
        issuingValidation: 'issuingValidation',
        inspection: 'inspection',
        validation: 'validation',
        issuing: 'issuing',
        maintenance: 'maintenance'
    },
    routeStatus: {
        unknown: 'unknown',
        onRoute: 'onRoute',
        offRoute: 'offRoute'
    },
    routeSystemType: {
        open: 'open',
        closed: 'closed'
    },
    fareSystemModel: {
        flat: 'flat',
        distanceBased: 'distanceBased',
        distanceBasedStaged: 'distanceBasedStaged',
        distanceBasedPerKilometer: 'distanceBasedPerKilometer',
        polygons: 'polygons',
        fromToStation: 'fromToStation',
        zones: 'zones'
    },
    fareType: {
        oneway: 'One Way',
        return: 'Return'
    },
    validationStatus: {
        validationSuccessful: 'validationSuccessful',
        validationDenied: 'validationDenied'
    },
    denyReason: {
        unknown: 'unknown',
        expired: 'expired',
        extensionFareNeeded: 'extensionFareNeeded',
        wrongRiderType: 'wrongRiderType',
        blockedIssuingDevice: 'blockedIssuingDevice',
        passedBackDetected: 'passedBackDetected'
    },
    activityType: {
        issue: 'issue',
        issueReversal: 'issueReversal',
        extensionIssue: 'extensionIssue',
        validation: 'validation',
        tallyCounting: 'tallyCounting',
        issueAndValidation: 'issueAndValidation',
        penaltyIssue: 'penaltyIssue',
        inspection: 'inspection',
        credit: 'credit',
        debit: 'debit',
        actionExecuted: 'actionExecuted',
        manageSmartCard: 'manageSmartCard',
        remoteManageSmartCard: 'remoteManageSmartCard',
        correctSmartCard: 'correctSmartCard',
        remoteCorrectSmartCard: 'remoteCorrectSmartCard',
        penaltyPayment: 'penaltyPayment',
        penaltyPaymentReversal: 'penaltyPaymentReversal',
        manageAccount: 'manageAccount',
        payment: 'payment',
        paymentReversal: 'paymentReversal'
    },
    fareItemCategory: {
        fareProduct: 'fareProduct',
        fareThirdPartySaleItem: 'fareThirdPartySaleItem',
        fareSingleRide: 'fareSingleRide',
        fareSingleRideGroup: 'fareSingleRideGroup',
        fareTallyItem: 'fareTallyItem',
        farePenaltyItem: 'farePenaltyItem',
        fareEpurse: 'fareEpurse',
        fareJourney: 'fareJourney',
        fareJourneyGroup: 'fareJourneyGroup',
        initSmartCard: 'initSmartCard',
        hotlistSmartCard: 'hotlistSmartCard',
        fareFeeItem: 'fareFeeItem',
        fareDepositItem: 'fareDepositItem',
        blockType: 'blockType',
        fareReturnSingleRide: 'fareReturnSingleRide',
        fareReturnSingleRideGroup: 'fareReturnSingleRideGroup',
        accountIdentifierMedia: 'accountIdentifierMedia',
        salesOrderType: 'salesOrderType'
    },
    fareItemType: {
        productTicket: 'productTicket',
        productUpgradeTicket: 'productUpgradeTicket',
        penaltyTicket: 'penaltyTicket',
        singleRideTicket: 'singleRideTicket',
        singleRideElectronicTicket: 'singleRideElectronicTicket',
        singleRideGroupTicket: 'singleRideGroupTicket',
        singleRideGroupElectronicTicket: 'singleRideGroupElectronicTicket',
        extensionSingleRideTicket: 'extensionSingleRideTicket',
        extensionSingleRideMobileTicket: 'extensionSingleRideMobileTicket',
        pardonSingleRideTicket: 'pardonSingleRideTicket',
        singleJourneyTicket: 'singleJourneyTicket',
        journeyTicket: 'journeyTicket',
        journeyGroupTicket: 'journeyGroupTicket',
        journeyElectronicTicket: 'journeyElectronicTicket',
        journeyGroupElectronicTicket: 'journeyGroupElectronicTicket',
        singleJourneyUpgradeTicket: 'singleJourneyUpgradeTicket',
        journeyUpgradeTicket: 'journeyUpgradeTicket',
        thirdPartySaleTicket: 'thirdPartySaleTicket',
        thirdPartySaleElectronicTicket: 'thirdPartySaleElectronicTicket',
        personTallies: 'personTallies',
        nonPersonTallies: 'nonPersonTallies',
        creditEpurseSmartCard: 'creditEpurseSmartCard',
        creditEpurseAccount: 'creditEpurseAccount',
        creditBonusEpurseSmartCard: 'creditBonusEpurseSmartCard',
        creditBonusEpurseAccount: 'creditBonusEpurseAccount',
        refundEpurseSmartCard: 'refundEpurseSmartCard',
        refundEpurseAccount: 'refundEpurseAccount',
        journeySmartCard: 'journeySmartCard',
        journeyEpurseSmartCard: 'journeyEpurseSmartCard',
        journeyEpurseAccount: 'journeyEpurseAccount',
        journeyGroupSmartCard: 'journeyGroupSmartCard',
        journeyGroupEpurseSmartCard: 'journeyGroupEpurseSmartCard',
        journeyGroupEpurseAccount: 'journeyGroupEpurseAccount',
        singleRideEpurseSmartCard: 'singleRideEpurseSmartCard',
        singleRideEpurseSmartCardCapping: 'singleRideEpurseSmartCardCapping',
        singleRideEpurseAccountCapping: 'singleRideEpurseAccountCapping',
        journeyEpurseSmartCardCapping: 'journeyEpurseSmartCardCapping',
        journeyEpurseAccountCapping: 'journeyEpurseAccountCapping',
        singleRideEpurseAccount: 'singleRideEpurseAccount',
        singleRideGroupEpurseSmartCard: 'singleRideGroupEpurseSmartCard',
        singleRideGroupEpurseAccount: 'singleRideGroupEpurseAccount',
        issueSmartCard: 'issueSmartCard',
        reIssueSmartCard: 'reIssueSmartCard',
        assignRiderTypeSmartCard: 'assignRiderTypeSmartCard',
        createEpurseSmartCard: 'createEpurseSmartCard',
        blockSmartCard: 'blockSmartCard',
        blockAccount: 'blockAccount',
        unblockSmartCard: 'unblockSmartCard',
        unblockAccount: 'unblockAccount',
        productSmartCard: 'productSmartCard',
        blockProductSmartCard: 'blockProductSmartCard',
        unblockProductSmartCard: 'unblockProductSmartCard',
        freezeProductSmartCard: 'freezeProductSmartCard',
        unFreezeProductSmartCard: 'unFreezeProductSmartCard',
        freezeProductAccount: 'freezeProductAccount',
        unFreezeProductAccount: 'unFreezeProductAccount',
        blockProductAccount: 'blockProductAccount',
        unblockProductAccount: 'unblockProductAccount',
        productAccount: 'productAccount',
        productUpgradeSmartCard: 'productUpgradeSmartCard',
        productUpgradeAccount: 'productUpgradeAccount',
        penatltySmartCard: 'penatltySmartCard',
        penaltySmartCard: 'penaltySmartCard',
        creditDepositSmartCard: 'creditDepositSmartCard',
        refundDepositSmartCard: 'refundDepositSmartCard',
        debitEpurseSmartCard: 'debitEpurseSmartCard',
        debitEpurseAccount: 'debitEpurseAccount',
        returnSingleRideElectronicTicket: 'returnSingleRideElectronicTicket',
        returnSingleRideTicket: 'returnSingleRideTicket',
        returnSingleRideGroupTicket: 'returnSingleRideGroupTicket',
        returnSingleRideGroupElectronicTicket: 'returnSingleRideGroupElectronicTicket',
        registerAndAttachAccountIdentifierMedia: 'registerAndAttachAccountIdentifierMedia',
        deAttachAccountIdentifierMedia: 'deAttachAccountIdentifierMedia',
        initSmartCard: 'initSmartCard',
        salesOrder: 'salesOrder'
    },
    fareItemName: {
        na: 'N/A',
        eWallet: 'E-Wallet',
        stopToStop: 'Stop To Stop',
        topUpRelative: 'Top Up Relative',
        flatTicketFare: 'Flat Ticket Fare',
        singleRideTicket: 'Single Ride Ticket',
        singleJourneyTicket: 'Single Journey Ticket',
        distanceStageFare: 'Distance Stage Fare',
        zoneTicketFare: 'Zone Ticket Fare"',
        storedValueRelative: 'Stored Value Relative',
        smartcard: 'Smartcard',
        luggageProduct: 'Luggage Product',
        salesOrderPayment: 'Sales Order Payment'
    },
    paymentInstrument: {
        prepayCash: 'prepayCash',
        none: 'none',
        prepayCreditCard: 'prepayCreditCard',
        prepayDebitCard: 'prepayDebitCard',
        prepayEmvCreditCard: 'prepayEmvCreditCard',
        prepayEmvDebitCard: 'prepayEmvDebitCard',
        prepaytBankToBank: 'prepaytBankToBank',
        prepaySmartCardEPurse: 'prepaySmartCardEPurse',
        prepayAccountEPurse: 'prepayAccountEPurse',
        postpayment: 'postpayment'
    },
    paymentMethod: {
        manualyCollected: 'manualyCollected',
        automaticalyCollected: 'automaticalyCollected',
        magneticSwipe: 'magneticSwipe',
        contactSmartCard: 'contactSmartCard',
        contactlessSmartCard: 'contactlessSmartCard',
        internetPayment: 'internetPayment',
        qrCode: 'qrCode',
        barCode: 'barCode',
        nfc: 'nfc',
        none: 'none',
        unknown: 'unknown'
    },
    currencyCode: {
        EUR: 'EUR',
        OMR: 'OMR',
        AED: 'AED',
        SAR: 'SAR',
        MXN: 'MXN',
        KWD: 'KWD'
    },
    currencyHexCode: {
        EUR: '03D2',
        OMR: '0002',
        AED: '1003',
        SAR: 'AA02',
        MXN: 'E401',
        KWD: '9E01'
    },
    currencyIsoCode: {
        978: 'EUR',
        512: 'OMR',
        784: 'AED',
        682: 'SAR',
        484: 'MXN',
        414: 'KWD'
    },
    languageCode: {
        en: 'EN',
        ar: 'AR',
        es: 'ES'
    },
    languageHexCode: {
        en: '656E',
        ar: '6172',
        es: '6573'
    },
    denominatorType: {
        note: 'note',
        coin: 'coin'
    },
    denominatorValue: {
        1: '1',
        2: '2',
        5: '5',
        10: '10',
        20: '20',
        25: '25',
        50: '50',
        100: '100',
        500: '500',
        1000: '1000',
        2000: '2000',
        5000: '5000'
    },
    boardingActivity: {
        issuing: 'issuing',
        boarding: 'boarding',
        aligthing: 'aligthing',
        boardingAlighting: 'boardingAlighting'
    },
    transactionTicketType: {
        singlePassenger: 'singlePassenger',
        multiplePassengers: 'multiplePassengers'
    },
    errorStatusType: {
        errorRaised: 'errorRaised',
        errorClosed: 'errorClosed',
        errorTransient: 'errorTransient'
    },
    desiredStateType: {
        logon: 'logon',
        logoff: 'logoff',
        lock: 'lock',
        unlock: 'unlock'
    },
    logOnOffMethodType: {
        smartCard: 'smartCard',
        timerExpired: 'timerExpired',
        powerOff: 'powerOff',
        standbyMode: 'standbyMode',
        manual: 'manual'
    },
    modeType: {
        revenueMode: 'revenueMode',
        maintenanceMode: 'maintenanceMode'
    },
    finalStateType: {
        loggedIn: 'loggedIn',
        loggedOff: 'loggedOff',
        locked: 'locked'
    },
    summaryActivityType: {
        openSummary: 'openSummary',
        closeSummary: 'closeSummary'
    },
    summaryType: {
        routeExecution: 'routeExecution',
        workingInterval: 'workingInterval'
    },
    stockType: {
        smartCard: 'smartCard',
        printerPaperRoll: 'printerPaperRoll'
    },
    cardHolderGenderType: {
        male: 'male',
        female: 'female',
        other: 'other'
    },
    cardHolderType: {
        personalized: 'personalized',
        nonPersonalized: 'nonPersonalized',
        anonymous: 'anonymous',
        agencyEmployee: 'agencyEmployee',
        externalDeviceOperator: 'externalDeviceOperator',
        ptoEmployee: 'ptoEmployee',
        externalEmployee: 'externalEmployee'
    },
    cardHolderIdentificationType: {
        idCard: 'idCard',
        passport: 'passport',
        driverLicence: 'driverLicence',
        other: 'other'
    },
    blockStatusType: {
        notBlocked: 'notBlocked',
        blocked: 'blocked',
        inactive: 'inactive',
        expired: 'expired'
    },
    contractStatusType: {
        active: 'active',
        pending: 'pending',
        invalid: 'invalid'
    },
    issuedFormatType: {
        printedPaperTicket: 'printedPaperTicket',
        permanentQrCodeAccountStored: 'permanentQrCodeAccountStored'
    },
    smartCardType: {
        standard: 'Standard'
    },
    smartCardPhysicalType: {
        mifareDesfireEv1: 'mifareDesfireEv1',
        mifareDesfireEv2: 'mifareDesfireEv2',
        mifareDesfireEv3: 'mifareDesfireEv3',
        mifareDesfireLight: 'mifareDesfireLight',
        mifarePlusEv1: 'mifarePlusEv1',
        mifarePlusX: 'mifarePlusX',
        mifarePlusSe: 'mifarePlusSe',
        mifareUltralightC: 'mifareUltralightC',
        mifareUltralightEV1: 'mifareUltralightEV1',
        mifareUltralightNano: 'mifareUltralightNano',
        mifareClassicEv1: 'mifareClassicEv1',
        nfcUcode: 'nfcUcode',
        nfcUcodeDna: 'nfcUcodeDna',
        nfcUcodeTrack: 'nfcUcodeTrack',
        nfcUcodeCity: 'nfcUcodeCity',
        nfcNtag: 'nfcNtag',
        nfcNtag424: 'nfcNtag424',
        nfcNtag213: 'nfcNtag213',
        calypso: 'calypso'
    },
    smartCardVersion: {
        employee: 'Employee',
        anonymous: 'Anonymous',
        personalized: 'Personalized'
    },
    smartCardContractType: {
        ePurse: 'ePurse',
        eWallet: 'eWallet',
        storedRides: 'StoredRides',
        topUpRelative: 'StoredValueRelative',
        topUpFixed: 'StoredValueFixed',
        periodPass: 'PeriodPassXDays',
        luggage: 'Luggage',
        penaltyFee: 'PenaltyFee',
        absolutePenalty: 'AbsolutePenalty'
    },
    contractType: {
        undefined: 'undefined',
        ePurse: 'ePurse',
        storedRides: 'storedRides',
        periodPass: 'periodPass',
        auxiliary: 'auxiliary'
    },
    smartCardIssueType: {
        issue: 'issue',
        reIssue: 'reIssue'
    },
    smartCardBlockStatus: {
        0: 'notBlocked',
        1: 'blocked',
        2: 'permanentlyBlocked'
    },
    smartCardContractStatus: {
        0: 'invalid',
        1: 'active',
        2: 'blocked',
        3: 'pending',
        4: 'frozen',
        5: 'other'
    },
    smartCardContractCategory: {
        0: 'undefined',
        1: 'ePurse',
        2: 'PeriodPassXDays',
        3: '',
        4: 'StoredRides'
    },
    riderType: {
        anonymous: 'Anonymous',
        adult: 'Adult'
    },
    mediaType: {
        staticNonTransportationNfcTag: 'staticNonTransportationNfcTag'
    },
    mediaTechnologyType: {
        nfcNtag: 'nfcNtag'
    },
    smartCardPreferredLanguage: {
        en: 'en',
        ar: 'ar',
        es: 'es'
    },
    cashOperationType: {
        cashContainerInsert: 'cashContainerInsert',
        cashContainerRemoval: 'cashContainerRemoval'
    },
    cashActivityType: {
        cashCollection: 'cashCollection'
    },
    collectedByUserType: {
        afcDeviceUser: 'afcDeviceUser'
    },
    cashContainerOperationalStatus: {
        active: 'active',
        inActive: 'inActive',
        transportInProgress: 'transportInProgress'
    },
    cashContainerLevelStatus: {
        empty: 'empty',
        full: 'full'
    },
    cashContainerBlockStatus: {
        notBlocked: 'notBlocked'
    },
    boardingActivityType: {
        issuing: 'issuing',
        boarding: 'boarding',
        aligthing: 'aligthing',
        boardingAlighting: 'boardingAlighting'
    },
    salesChannel: {
        spos: 'SPOS',
        mtb: 'MTB',
        asp: 'ASP',
        kio: 'KIO',
        mob: 'MOB',
        mpos: 'MPOS'
    },
    dynamicDiscountType: {
        flashingDiscount: 'FlashingDiscount',
        campaignDiscount: 'CampaignDiscount',
        promoCode: 'PromoCode',
        supervisorDiscount: 'SupervisorDiscount',
        returnDiscount: 'ReturnDiscount',
        transferDiscount: 'TransferDiscount',
        aggregatedDiscount: 'AggregatedDiscount'
    }
};

module.exports = xmlConstants;
