export default {
    globalItems: {
        applicationsMenuButton: '#apps',
        userMenuButton: '#user',
        logoutButton: '#logout',
        applicationsMenuVisible: '.modules-menu',
        clientsButton: '.modules-menu [ui-sref="client.index"]',
        itemsButton: '.modules-menu [ui-sref="item.index"]',
        ticketsButton: '.modules-menu [ui-sref="ticket.index"]',
        invoiceOutButton: '.modules-menu [ui-sref="invoiceOut.index"]',
        claimsButton: '.modules-menu [ui-sref="claim.index"]',
        returnToModuleIndexButton: 'a[name="goToModuleIndex"]',
        homeButton: 'vn-topbar > div.side.start > a',
        userLocalWarehouse: '.user-popover vn-autocomplete[ng-model="$ctrl.localWarehouseFk"]',
        userLocalBank: '.user-popover vn-autocomplete[ng-model="$ctrl.localBankFk"]',
        userLocalCompany: '.user-popover vn-autocomplete[ng-model="$ctrl.localCompanyFk"]',
        userWarehouse: '.user-popover vn-autocomplete[ng-model="$ctrl.warehouseFk"]',
        userCompany: '.user-popover vn-autocomplete[ng-model="$ctrl.companyFk"]',
        userConfigFirstAutocomplete: '#localWarehouse',
        userConfigSecondAutocomplete: '#localBank',
        userConfigThirdAutocomplete: '#localCompany',
        acceptButton: '.vn-confirm.shown button[response=accept]',
        searchButton: 'vn-searchbar vn-icon[icon="search"]'
    },
    moduleIndex: {
        anyStarredModule: 'vn-home > div:nth-child(1) > div.modules > a',
        firstModulePinIcon: 'vn-home a:nth-child(1) vn-icon[icon="push_pin"]',
        firstModuleRemovePinIcon: 'vn-home a:nth-child(1) vn-icon[icon="remove_circle"]'
    },
    accountIndex: {
        addAccount: 'vn-user-index button vn-icon[icon="add"]',
        newName: 'vn-user-create vn-textfield[ng-model="$ctrl.user.name"]',
        newNickname: 'vn-user-create vn-textfield[ng-model="$ctrl.user.nickname"]',
        newEmail: 'vn-user-create vn-textfield[ng-model="$ctrl.user.email"]',
        newRole: 'vn-user-create vn-autocomplete[ng-model="$ctrl.user.roleFk"]',
        newPassword: 'vn-user-create vn-textfield[ng-model="$ctrl.user.password"]',
        createAccountButton: 'vn-user-create button[type="submit"]',
    },
    accountBasicData: {
        name: 'vn-user-basic-data vn-textfield[ng-model="$ctrl.user.name"]',
        nickname: 'vn-user-basic-data vn-textfield[ng-model="$ctrl.user.nickname"]',
        email: 'vn-user-basic-data vn-textfield[ng-model="$ctrl.user.email"]',
        language: 'vn-user-basic-data vn-autocomplete[ng-model="$ctrl.user.lang"]',
        save: 'vn-user-basic-data button[type="submit"]'
    },
    accountRoles: {
        anyResult: 'vn-user-roles > vn-data-viewer vn-list > a'
    },
    accountDescriptor: {
        menuButton: 'vn-user-descriptor vn-icon-button[icon="more_vert"]',
        deleteAccount: '.vn-menu [name="deleteUser"]',
        changeRole: '.vn-menu [name="changeRole"]',
        setPassword: '.vn-menu [name="setPassword"]',
        activateAccount: '.vn-menu [name="enableAccount"]',
        activateUser: '.vn-menu [name="activateUser"]',
        newPassword: 'vn-textfield[ng-model="$ctrl.newPassword"]',
        repeatPassword: 'vn-textfield[ng-model="$ctrl.repeatPassword"]',
        newRole: 'vn-autocomplete[ng-model="$ctrl.newRole"]',
        activeAccountIcon: 'vn-icon[icon="contact_mail"]',
        activeUserIcon: 'vn-icon[icon="icon-disabled"]',
        acceptButton: 'button[response="accept"]',
    },
    accountAliasIndex: {
        addAlias: 'vn-alias-index button vn-icon[icon="add"]',
        newName: 'vn-alias-create vn-textfield[ng-model="$ctrl.alias.alias"]',
        newDescription: 'vn-alias-create vn-textfield[ng-model="$ctrl.alias.description"]',
        createAliasButton: 'vn-alias-create button[type="submit"]',
    },
    accountAliasBasicData: {
        name: 'vn-alias-basic-data vn-textfield[ng-model="$ctrl.alias.alias"]',
        description: 'vn-alias-basic-data vn-textfield[ng-model="$ctrl.alias.description"]',
        save: 'vn-alias-basic-data button[type="submit"]'
    },
    accountAliasUsers: {
        anyResult: 'vn-alias-users > vn-data-viewer vn-tr'
    },
    accountRoleIndex: {
        addRole: 'vn-role-index button vn-icon[icon="add"]',
        newName: 'vn-role-create vn-textfield[ng-model="$ctrl.role.name"]',
        newDescription: 'vn-role-create vn-textfield[ng-model="$ctrl.role.description"]',
        createRoleButton: 'vn-role-create button[type="submit"]',
    },
    accountRoleBasicData: {
        name: 'vn-role-basic-data vn-textfield[ng-model="$ctrl.role.name"]',
        description: 'vn-role-basic-data vn-textfield[ng-model="$ctrl.role.description"]',
        save: 'vn-role-basic-data button[type="submit"]'
    },
    accountSubroles: {
        addSubrole: 'vn-role-subroles button vn-icon[icon="add"]',
        role: 'vn-autocomplete[ng-model="$ctrl.addData.inheritsFrom"]',
        save: 'button[response="accept"]',
        anyResult: 'vn-role-subroles > vn-data-viewer > div > div > vn-card > vn-list > a'
    },
    accountRoleInheritance: {
        anyResult: 'vn-role-inherited > vn-data-viewer > div > div > vn-card > vn-list > a'
    },
    accountMailForwarding: {
        mailForwardingCheckbox: 'vn-user-mail-forwarding vn-check[ng-model="watcher.hasData"]',
        email: 'vn-user-mail-forwarding vn-textfield[ng-model="data.forwardTo"]',
        save: 'vn-user-mail-forwarding vn-submit'
    },
    clientsIndex: {
        createClientButton: `vn-float-button`
    },
    clientSummary: {
        header: 'vn-client-summary > vn-card > h5',
        email: 'vn-client-summary vn-label-value[label="Email"]',
        street: 'vn-client-summary vn-label-value[label="Street"]',
        verifiedData: 'vn-client-summary > vn-card > vn-horizontal vn-check[ng-model="$ctrl.summary.isTaxDataChecked"]',
        payMethod: 'vn-client-summary vn-label-value[label="Pay method"]',
        defaultAdressName: 'vn-client-summary vn-label-value[label="Name"]',
        userName: 'vn-client-summary vn-label-value[label="User"]',
        rate: 'vn-client-summary vn-label-value[label="Rate"]',
        credit: 'vn-client-summary vn-label-value[label="Credit"]',
    },
    createClientView: {
        name: 'vn-client-create vn-textfield[ng-model="$ctrl.client.name"]',
        taxNumber: 'vn-client-create vn-textfield[ng-model="$ctrl.client.fi"]',
        socialName: 'vn-client-create vn-textfield[ng-model="$ctrl.client.socialName"]',
        street: 'vn-client-create vn-textfield[ng-model="$ctrl.client.street"]',
        addPostCode: 'vn-client-create vn-datalist[ng-model="$ctrl.client.postcode"] vn-icon-button[icon="add_circle"]',
        addProvince: 'vn-autocomplete[ng-model="$ctrl.location.provinceFk"] vn-icon-button[icon="add_circle"]',
        addCity: 'vn-autocomplete[ng-model="$ctrl.location.townFk"] vn-icon-button[icon="add_circle"]',
        newProvinceName: 'vn-textfield[ng-model="$ctrl.province.name"]',
        newCityName: 'vn-textfield[ng-model="$ctrl.city.name"]',
        newCityProvince: 'vn-autocomplete[ng-model="$ctrl.city.provinceFk"]',
        newPostcode: 'vn-textfield[ng-model="$ctrl.location.code"]',
        postcode: 'vn-client-create vn-datalist[ng-model="$ctrl.client.postcode"]',
        city: 'vn-client-create vn-datalist[ng-model="$ctrl.client.city"]',
        province: 'vn-autocomplete[ng-model="$ctrl.client.provinceFk"]',
        country: 'vn-client-create vn-autocomplete[ng-model="$ctrl.client.countryFk"]',
        dialogCountry: 'vn-autocomplete[ng-model="$ctrl.province.countryFk"]',
        userName: 'vn-client-create vn-textfield[ng-model="$ctrl.client.userName"]',
        email: 'vn-client-create vn-textfield[ng-model="$ctrl.client.email"]',
        salesPerson: 'vn-client-create vn-autocomplete[ng-model="$ctrl.client.salesPersonFk"]',
        saveNewProvicenButton: '#saveProvince',
        saveNewCityButton: '#saveCity',
        saveNewPoscode: '#savePostcode',
        createButton: 'vn-client-create button[type=submit]'
    },
    clientDescriptor: {
        moreMenu: 'vn-client-descriptor vn-icon-button[icon=more_vert]',
        simpleTicketButton: '.vn-menu [name="simpleTicket"]'
    },
    clientBasicData: {
        name: 'vn-client-basic-data vn-textfield[ng-model="$ctrl.client.name"]',
        contact: 'vn-client-basic-data vn-textfield[ng-model="$ctrl.client.contact"]',
        email: 'vn-client-basic-data vn-textfield[ng-model="$ctrl.client.email"]',
        phone: 'vn-client-basic-data vn-textfield[ng-model="$ctrl.client.phone"]',
        mobile: 'vn-client-basic-data vn-textfield[ng-model="$ctrl.client.mobile"]',
        salesPerson: 'vn-client-basic-data vn-autocomplete[ng-model="$ctrl.client.salesPersonFk"]',
        channel: 'vn-client-basic-data vn-autocomplete[ng-model="$ctrl.client.contactChannelFk"]',
        saveButton: 'vn-client-basic-data button[type=submit]'
    },
    clientFiscalData: {
        fiscalDataButton: 'vn-left-menu a[ui-sref="client.card.fiscalData"]',
        socialName: 'vn-client-fiscal-data vn-textfield[ng-model="$ctrl.client.socialName"]',
        fiscalId: 'vn-client-fiscal-data vn-textfield[ng-model="$ctrl.client.fi"]',
        equalizationTaxCheckbox: 'vn-client-fiscal-data vn-check[ng-model="$ctrl.client.isEqualizated"]',
        address: 'vn-client-fiscal-data vn-textfield[ng-model="$ctrl.client.street"]',
        postcode: 'vn-client-fiscal-data vn-datalist[ng-model="$ctrl.client.postcode"]',
        sageTax: 'vn-client-fiscal-data vn-autocomplete[ng-model="$ctrl.client.sageTaxTypeFk"]',
        sageTransaction: 'vn-client-fiscal-data vn-autocomplete[ng-model="$ctrl.client.sageTransactionTypeFk"]',
        transferor: 'vn-client-fiscal-data vn-autocomplete[ng-model="$ctrl.client.transferorFk"]',
        city: 'vn-client-fiscal-data vn-datalist[ng-model="$ctrl.client.city"]',
        province: 'vn-client-fiscal-data vn-autocomplete[ng-model="$ctrl.client.provinceFk"]',
        country: 'vn-client-fiscal-data vn-autocomplete[ng-model="$ctrl.client.countryFk"]',
        activeCheckbox: 'vn-client-fiscal-data vn-check[label="Active"]',
        frozenCheckbox: 'vn-client-fiscal-data vn-check[label="Frozen"]',
        invoiceByAddressCheckbox: 'vn-client-fiscal-data vn-check[label="Invoice by address"]',
        verifiedDataCheckbox: 'vn-client-fiscal-data vn-check[label="Verified data"]',
        hasToInvoiceCheckbox: 'vn-client-fiscal-data vn-check[label="Has to invoice"]',
        notifyByMailCheckbox: 'vn-client-fiscal-data vn-check[label="Notify by email"]',
        viesCheckbox: 'vn-client-fiscal-data vn-check[label="Vies"]',
        saveButton: 'button[type=submit]',
        watcher: 'vn-client-fiscal-data vn-watcher'
    },
    clientBillingData: {
        payMethod: 'vn-client-billing-data vn-autocomplete[ng-model="$ctrl.client.payMethodFk"]',
        IBAN: 'vn-client-billing-data vn-textfield[ng-model="$ctrl.client.iban"]',
        dueDay: 'vn-client-billing-data vn-input-number[ng-model="$ctrl.client.dueDay"]',
        receivedCoreLCRCheckbox: 'vn-client-billing-data vn-check[label="Received LCR"]',
        receivedCoreVNLCheckbox: 'vn-client-billing-data vn-check[label="Received core VNL"]',
        receivedB2BVNLCheckbox: 'vn-client-billing-data vn-check[label="Received B2B VNL"]',
        swiftBic: 'vn-client-billing-data vn-autocomplete[ng-model="$ctrl.client.bankEntityFk"]',
        newBankEntityButton: 'vn-client-billing-data vn-icon-button[vn-tooltip="New bank entity"] > button',
        newBankEntityName: '.vn-dialog.shown vn-textfield[ng-model="$ctrl.newBankEntity.name"]',
        newBankEntityBIC: '.vn-dialog.shown vn-textfield[ng-model="$ctrl.newBankEntity.bic"]',
        newBankEntityCode: '.vn-dialog.shown vn-textfield[ng-model="$ctrl.newBankEntity.id"]',
        acceptBankEntityButton: '.vn-dialog.shown button[response="accept"]',
        saveButton: 'vn-client-billing-data button[type=submit]',
        watcher: 'vn-client-billing-data vn-watcher'
    },
    clientAddresses: {
        addressesButton: 'vn-left-menu a[ui-sref="client.card.address.index"]',
        createAddress: 'vn-client-address-index vn-float-button',
        defaultCheckbox: 'vn-check[label="Default"]',
        consignee: 'vn-textfield[ng-model="$ctrl.address.nickname"]',
        streetAddress: 'vn-textfield[ng-model="$ctrl.address.street"]',
        postcode: 'vn-datalist[ng-model="$ctrl.address.postalCode"]',
        city: 'vn-datalist[ng-model="$ctrl.address.city"]',
        province: 'vn-autocomplete[ng-model="$ctrl.address.provinceFk"]',
        agency: 'vn-autocomplete[ng-model="$ctrl.address.agencyModeFk"]',
        phone: 'vn-textfield[ng-model="$ctrl.address.phone"]',
        mobileInput: 'vn-textfield[ng-model="$ctrl.address.mobile"]',
        defaultAddress: 'vn-client-address-index div:nth-child(1) div[name="street"]',
        incoterms: 'vn-autocomplete[ng-model="$ctrl.address.incotermsFk"]',
        addNewCustomsAgent: 'vn-client-address-create vn-autocomplete[ng-model="$ctrl.address.customsAgentFk"] vn-icon-button[icon="add_circle"]',
        newCustomsAgentFiscalID: 'vn-textfield[ng-model="$ctrl.newCustomsAgent.nif"]',
        newCustomsAgentFiscalName: 'vn-textfield[ng-model="$ctrl.newCustomsAgent.fiscalName"]',
        newCustomsAgentStreet: 'vn-textfield[ng-model="$ctrl.newCustomsAgent.street"]',
        newCustomsAgentPhone: 'vn-textfield[ng-model="$ctrl.newCustomsAgent.phone"]',
        saveNewCustomsAgentButton: 'button[response="accept"]',
        customsAgent: 'vn-autocomplete[ng-model="$ctrl.address.customsAgentFk"]',
        secondMakeDefaultStar: 'vn-client-address-index vn-card div:nth-child(2) vn-icon-button[icon="star_border"]',
        firstEditAddress: 'vn-client-address-index div:nth-child(1) > a',
        secondEditAddress: 'vn-client-address-index div:nth-child(2) > a',
        activeCheckbox: 'vn-check[label="Enabled"]',
        equalizationTaxCheckbox: 'vn-client-address-edit vn-check[label="Is equalizated"]',
        firstObservationType: 'vn-client-address-edit [name=observations] vn-horizontal:nth-child(1) vn-autocomplete[ng-model="observation.observationTypeFk"]',
        firstObservationDescription: 'vn-client-address-edit [name=observations] vn-horizontal:nth-child(1) vn-textfield[ng-model="observation.description"]',
        secondObservationType: 'vn-client-address-edit [name=observations] vn-horizontal:nth-child(2) vn-autocomplete[ng-model="observation.observationTypeFk"]',
        secondObservationDescription: 'vn-client-address-edit [name=observations] vn-horizontal:nth-child(2) vn-textfield[ng-model="observation.description"]',
        addObservationButton: 'vn-client-address-edit div[name="observations"] vn-icon-button[icon="add_circle"]',
        saveButton: 'button[type=submit]',
        cancelEditAddressButton: 'vn-client-address-edit > form > vn-button-bar > vn-button > button',
        watcher: 'vn-client-address-edit vn-watcher'
    },
    clientWebAccess: {
        enableWebAccessCheckbox: 'vn-check[label="Enable web access"]',
        userName: 'vn-client-web-access vn-textfield[ng-model="$ctrl.account.name"]',
        saveButton: 'button[type=submit]'
    },
    clientNotes: {
        addNoteFloatButton: 'vn-float-button',
        note: 'vn-textarea[ng-model="$ctrl.note.text"]',
        saveButton: 'button[type=submit]',
        firstNoteText: 'vn-client-note .text'
    },
    clientCredit: {
        addCreditFloatButton: 'vn-float-button',
        credit: 'vn-client-credit-create vn-input-number[ng-model="$ctrl.client.credit"]',
        firstCreditText: 'vn-client-credit-index vn-card vn-table vn-tbody > vn-tr',
        saveButton: 'button[type=submit]'
    },
    clientGreuge: {
        addGreugeFloatButton: 'vn-float-button',
        amount: 'vn-client-greuge-create vn-input-number[ng-model="$ctrl.greuge.amount"]',
        description: 'vn-client-greuge-create vn-textfield[ng-model="$ctrl.greuge.description"]',
        type: 'vn-autocomplete[ng-model="$ctrl.greuge.greugeTypeFk"]',
        saveButton: 'button[type=submit]',
        firstGreugeText: 'vn-client-greuge-index vn-card vn-table vn-tbody > vn-tr'
    },
    clientMandate: {
        firstMandateText: 'vn-client-mandate vn-card vn-table vn-tbody > vn-tr'
    },
    clientLog: {
        lastModificationPreviousValue: 'vn-client-log vn-table vn-td.before',
        lastModificationCurrentValue: 'vn-client-log vn-table vn-td.after'

    },
    clientBalance: {
        company: 'vn-client-balance-index vn-autocomplete[ng-model="$ctrl.companyId"]',
        newPaymentButton: `vn-float-button`,
        newPaymentBank: '.vn-dialog.shown vn-autocomplete[ng-model="$ctrl.bankFk"]',
        newPaymentAmount: '.vn-dialog.shown vn-input-number[ng-model="$ctrl.amountPaid"]',
        newDescription: 'vn-textfield[ng-model="$ctrl.receipt.description"]',
        deliveredAmount: '.vn-dialog vn-input-number[ng-model="$ctrl.deliveredAmount"]',
        refundAmount: '.vn-dialog vn-input-number[ng-model="$ctrl.amountToReturn"]',
        saveButton: '.vn-dialog.shown [response="accept"]',
        firstLineBalance: 'vn-client-balance-index vn-tbody > vn-tr:nth-child(1) > vn-td:nth-child(8)',
        firstLineReference: 'vn-client-balance-index vn-tbody > vn-tr:nth-child(1) > vn-td-editable',
        firstLineReferenceInput: 'vn-client-balance-index vn-tbody > vn-tr:nth-child(1) > vn-td-editable > div > field > vn-textfield'
    },
    webPayment: {
        confirmFirstPaymentButton: 'vn-client-web-payment vn-tr:nth-child(1) vn-icon-button[icon="done_all"]',
        firstPaymentConfirmed: 'vn-client-web-payment vn-tr:nth-child(1) vn-icon[icon="check"]'
    },
    dms: {
        deleteFileButton: 'vn-client-dms-index vn-tr:nth-child(1) vn-icon-button[icon="delete"]',
        firstDocWorker: 'vn-client-dms-index vn-td:nth-child(8) > span',
        firstDocWorkerDescriptor: '.vn-popover.shown vn-worker-descriptor'
    },
    clientCreditInsurance: {
        addNewContract: 'vn-client-credit-insurance-index vn-float-button[ui-sref="client.card.creditInsurance.create"]',
        newCreditClassification: 'vn-client-credit-insurance-create vn-input-number[ng-model="$ctrl.creditClassification.credit"]',
        newInsuranceCredit: 'vn-client-credit-insurance-insurance-create vn-input-number[ng-model="$ctrl.insurance.credit"]',
        newClassificationGrade: 'vn-client-credit-insurance-create vn-input-number[ng-model="$ctrl.creditClassification.grade"]',
        newInsuranceGrade: 'vn-client-credit-insurance-insurance-create vn-input-number[ng-model="$ctrl.insurance.grade"]',
        newClassificationStartingDate: 'vn-client-credit-insurance-create vn-date-picker[ng-model="$ctrl.creditClassification.started"]',
        newInsuranceStartingDate: 'vn-client-credit-insurance-insurance-create vn-date-picker[ng-model="$ctrl.insurance.created"]',
        endCurrentContract: 'vn-client-credit-insurance-index vn-icon-button[icon="lock"]',
        firstContratViewCreditButton: 'vn-client-credit-insurance-index vn-card > vn-horizontal:nth-child(1) vn-icon-button[icon="preview"]',
        addNewCredit: 'vn-client-credit-insurance-insurance-index vn-float-button vn-icon[icon="add"]',
        saveNewContract: 'vn-client-credit-insurance-create vn-submit',
        saveNewInsuranceCredit: 'vn-client-credit-insurance-insurance-create button[type="submit"]',
        anyCreditInsuranceLine: 'vn-client-credit-insurance-insurance-index vn-tbody > vn-tr',
    },
    clientContacts: {
        addContactButton: 'vn-client-contact vn-icon[icon="add_circle"]',
        name: 'vn-client-contact vn-textfield[ng-model="contact.name"]',
        phone: 'vn-client-contact vn-textfield[ng-model="contact.phone"]',
        deleteFirstPhone: 'vn-client-contact vn-icon[icon="delete"]',
        saveButton: 'button[type=submit]'
    },
    itemsIndex: {
        createItemButton: `vn-float-button`,
        firstSearchResult: 'vn-item-index a:nth-child(1)',
        searchResult: 'vn-item-index a.vn-tr',
        firstResultPreviewButton: 'vn-item-index vn-tbody > :nth-child(1) .buttons > [icon="preview"]',
        searchResultCloneButton: 'vn-item-index .buttons > [icon="icon-clone"]',
        acceptClonationAlertButton: '.vn-confirm.shown [response="accept"]',
        closeItemSummaryPreview: '.vn-popup.shown',
        fieldsToShowButton: 'vn-item-index vn-table > div > div > vn-icon-button[icon="more_vert"]',
        fieldsToShowForm: '.vn-popover.shown .content',
        firstItemImage: 'vn-item-index vn-tbody > a:nth-child(1) > vn-td:nth-child(1) > img',
        firstItemImageTd: 'vn-item-index vn-table a:nth-child(1) vn-td:nth-child(1)',
        firstItemId: 'vn-item-index vn-tbody > a:nth-child(1) > vn-td:nth-child(2)',
        idCheckbox: '.vn-popover.shown vn-horizontal:nth-child(1) > vn-check',
        stemsCheckbox: '.vn-popover.shown vn-horizontal:nth-child(2) > vn-check',
        sizeCheckbox: '.vn-popover.shown vn-horizontal:nth-child(3) > vn-check',
        nicheCheckbox: '.vn-popover.shown vn-horizontal:nth-child(4) > vn-check',
        typeCheckbox: '.vn-popover.shown vn-horizontal:nth-child(5) > vn-check',
        categoryCheckbox: '.vn-popover.shown vn-horizontal:nth-child(6) > vn-check',
        intrastadCheckbox: '.vn-popover.shown vn-horizontal:nth-child(7) > vn-check',
        originCheckbox: '.vn-popover.shown vn-horizontal:nth-child(8) > vn-check',
        buyerCheckbox: '.vn-popover.shown vn-horizontal:nth-child(9) > vn-check',
        destinyCheckbox: '.vn-popover.shown vn-horizontal:nth-child(10) > vn-check',
        taxClassCheckbox: '.vn-popover.shown vn-horizontal:nth-child(11) > vn-check',
        saveFieldsButton: '.vn-popover.shown vn-button[label="Save"] > button'
    },
    itemFixedPrice: {
        add: 'vn-fixed-price vn-icon[icon="add_circle"]',
        fourthFixedPrice: 'vn-fixed-price vn-tr:nth-child(4)',
        fourthItemID: 'vn-fixed-price vn-tr:nth-child(4) vn-autocomplete[ng-model="price.itemFk"]',
        fourthWarehouse: 'vn-fixed-price vn-tr:nth-child(4) vn-autocomplete[ng-model="price.warehouseFk"]',
        fourthPPU: 'vn-fixed-price vn-tr:nth-child(4) > vn-td-editable:nth-child(4)',
        fourthPPP: 'vn-fixed-price vn-tr:nth-child(4) > vn-td-editable:nth-child(5)',
        fourthMinPrice: 'vn-fixed-price vn-tr:nth-child(4) > vn-td-editable:nth-child(6)',
        fourthStarted: 'vn-fixed-price vn-tr:nth-child(4) vn-date-picker[ng-model="price.started"]',
        fourthEnded: 'vn-fixed-price vn-tr:nth-child(4) vn-date-picker[ng-model="price.ended"]',
        fourthDeleteIcon: 'vn-fixed-price vn-tr:nth-child(4) > vn-td:nth-child(9) > vn-icon-button[icon="delete"]'
    },
    itemCreateView: {
        temporalName: 'vn-item-create vn-textfield[ng-model="$ctrl.item.provisionalName"]',
        type: 'vn-autocomplete[ng-model="$ctrl.item.typeFk"]',
        intrastat: 'vn-autocomplete[ng-model="$ctrl.item.intrastatFk"]',
        origin: 'vn-autocomplete[ng-model="$ctrl.item.originFk"]',
        createButton: 'button[type=submit]',
        cancelButton: 'vn-button[ui-sref="item.index"]'
    },
    itemDescriptor: {
        goBackToModuleIndexButton: 'vn-item-descriptor a[href="#!/item/index"]',
        moreMenu: 'vn-item-descriptor vn-icon-button[icon=more_vert]',
        moreMenuRegularizeButton: '.vn-menu [name="regularizeStock"]',
        regularizeQuantity: '.vn-dialog.shown vn-textfield[ng-model="$ctrl.quantity"]',
        regularizeWarehouse: '.vn-dialog.shown vn-autocomplete[ng-model="$ctrl.warehouseFk"]',
        editButton: 'vn-item-descriptor vn-float-button[icon="edit"]',
        regularizeSaveButton: '.vn-dialog.shown tpl-buttons > button',
        inactiveIcon: 'vn-item-descriptor vn-icon[icon="icon-unavailable"]'
    },
    itemRequest: {
        firstRequestItemID: 'vn-item-request vn-tbody > vn-tr:nth-child(1) > vn-td-editable:nth-child(7)',
        firstRequestQuantity: 'vn-item-request vn-tbody > vn-tr:nth-child(1) > vn-td-editable:nth-child(8)',
        firstRequestConcept: 'vn-item-request vn-tbody > vn-tr:nth-child(1) > vn-td:nth-child(9)',
        firstRequestStatus: 'vn-item-request vn-tbody > vn-tr:nth-child(1) > vn-td:nth-child(10)',
        secondRequestStatus: 'vn-item-request vn-tbody > vn-tr:nth-child(2) > vn-td:nth-child(10)',
        secondRequestDecline: 'vn-item-request vn-tr:nth-child(2) vn-icon-button[icon="thumb_down"]',
        declineReason: 'vn-textarea[ng-model="$ctrl.denyObservation"]'
    },
    itemBasicData: {
        goToItemIndexButton: 'vn-item-descriptor [ui-sref="item.index"]',
        type: 'vn-autocomplete[ng-model="$ctrl.item.typeFk"]',
        intrastat: 'vn-autocomplete[ng-model="$ctrl.item.intrastatFk"]',
        name: 'vn-item-basic-data vn-textfield[ng-model="$ctrl.item.name"]',
        relevancy: 'vn-item-basic-data vn-input-number[ng-model="$ctrl.item.relevancy"]',
        origin: 'vn-autocomplete[ng-model="$ctrl.item.originFk"]',
        compression: 'vn-item-basic-data vn-input-number[ng-model="$ctrl.item.compression"]',
        isFragile: 'vn-check[ng-model="$ctrl.item.isFragile"]',
        longName: 'vn-textfield[ng-model="$ctrl.item.longName"]',
        isActiveCheckbox: 'vn-check[label="Active"]',
        priceInKgCheckbox: 'vn-check[label="Price in kg"]',
        newIntrastatButton: 'vn-item-basic-data vn-icon-button[vn-tooltip="New intrastat"] > button',
        newIntrastatId: '.vn-dialog.shown vn-input-number[ng-model="$ctrl.newIntrastat.intrastatId"]',
        newIntrastatDescription: '.vn-dialog.shown vn-textfield[ng-model="$ctrl.newIntrastat.description"]',
        acceptIntrastatButton: '.vn-dialog.shown button[response="accept"]',
        submitBasicDataButton: `button[type=submit]`
    },
    itemTags: {
        fourthTag: 'vn-item-tags vn-horizontal:nth-child(4) > vn-autocomplete[ng-model="itemTag.tagFk"]',
        fourthValue: 'vn-item-tags vn-horizontal:nth-child(4) vn-textfield[ng-model="itemTag.value"]',
        fourthRelevancy: 'vn-item-tags vn-horizontal:nth-child(4) [ng-model="itemTag.priority"]',
        fourthRemoveTagButton: 'vn-item-tags vn-horizontal:nth-child(4) vn-icon-button[icon="delete"]',
        fifthTag: 'vn-item-tags vn-horizontal:nth-child(5) > vn-autocomplete[ng-model="itemTag.tagFk"]',
        fifthValue: 'vn-item-tags vn-horizontal:nth-child(5) vn-autocomplete[ng-model="itemTag.value"]',
        fifthRelevancy: 'vn-item-tags vn-horizontal:nth-child(5) vn-input-number[ng-model="itemTag.priority"]',
        sixthTag: 'vn-item-tags vn-horizontal:nth-child(6) > vn-autocomplete[ng-model="itemTag.tagFk"]',
        sixthValue: 'vn-item-tags vn-horizontal:nth-child(6) vn-textfield[ng-model="itemTag.value"]',
        sixthRelevancy: 'vn-item-tags vn-horizontal:nth-child(6) vn-input-number[ng-model="itemTag.priority"]',
        seventhTag: 'vn-item-tags vn-horizontal:nth-child(7) > vn-autocomplete[ng-model="itemTag.tagFk"]',
        seventhValue: 'vn-item-tags vn-horizontal:nth-child(7) vn-textfield[ng-model="itemTag.value"]',
        seventhRelevancy: 'vn-item-tags vn-horizontal:nth-child(7) vn-input-number[ng-model="itemTag.priority"]',
        addItemTagButton: 'vn-item-tags vn-icon-button[icon="add_circle"]',
        submitItemTagsButton: 'vn-item-tags button[type=submit]'
    },
    itemTax: {
        undoChangesButton: 'vn-item-tax vn-button-bar > vn-button[label="Undo changes"]',
        firstClass: 'vn-item-tax vn-horizontal:nth-child(1) > vn-autocomplete[ng-model="tax.taxClassFk"]',
        secondClass: 'vn-item-tax vn-horizontal:nth-child(2) > vn-autocomplete[ng-model="tax.taxClassFk"]',
        thirdClass: 'vn-item-tax vn-horizontal:nth-child(3) > vn-autocomplete[ng-model="tax.taxClassFk"]',
        submitTaxButton: 'vn-item-tax button[type=submit]'
    },
    itemBarcodes: {
        addBarcodeButton: 'vn-item-barcode vn-icon[icon="add_circle"]',
        thirdCode: 'vn-item-barcode vn-horizontal:nth-child(3) vn-textfield[ng-model="barcode.code"]',
        submitBarcodesButton: 'vn-item-barcode button[type=submit]',
        firstCodeRemoveButton: 'vn-item-barcode vn-horizontal:nth-child(1) vn-icon[icon="delete"]'
    },
    itemNiches: {
        addNicheButton: 'vn-item-niche vn-icon[icon="add_circle"]',
        firstWarehouse: 'vn-item-niche vn-autocomplete[ng-model="niche.warehouseFk"]',
        firstCode: 'vn-item-niche vn-horizontal:nth-child(1) vn-textfield[ng-model="niche.code"]',
        secondWarehouse: 'vn-item-niche vn-horizontal:nth-child(2) > vn-autocomplete[ng-model="niche.warehouseFk"]',
        secondCode: 'vn-item-niche vn-horizontal:nth-child(2) vn-textfield[ng-model="niche.code"]',
        secondNicheRemoveButton: 'vn-item-niche vn-horizontal:nth-child(2) > vn-none > vn-icon-button[icon="delete"]',
        thirdWarehouse: 'vn-item-niche vn-horizontal:nth-child(3) > vn-autocomplete[ng-model="niche.warehouseFk"]',
        thirdCode: 'vn-item-niche vn-horizontal:nth-child(3) vn-textfield[ng-model="niche.code"]',
        submitNichesButton: 'vn-item-niche button[type=submit]'
    },
    itemBotanical: {
        genus: 'vn-item-botanical vn-autocomplete[ng-model="$ctrl.botanical.genusFk"]',
        species: 'vn-item-botanical vn-autocomplete[ng-model="$ctrl.botanical.specieFk"]',
        submitBotanicalButton: `vn-item-botanical button[type=submit]`
    },
    itemSummary: {
        basicData: 'vn-item-summary [name="basicData"]',
        vat: 'vn-item-summary [name="tax"]',
        tags: 'vn-item-summary [name="tags"]',
        niche: 'vn-item-summary [name="niche"]',
        botanical: 'vn-item-summary [name="botanical"]',
        barcode: 'vn-item-summary [name="barcode"]'
    },
    itemDiary: {
        secondTicketId: 'vn-item-diary vn-tbody > vn-tr:nth-child(2) > vn-td:nth-child(2) > span',
        fourthBalance: 'vn-item-diary vn-tbody > vn-tr:nth-child(4) > vn-td.balance  > span',
        firstBalance: 'vn-item-diary vn-tbody > vn-tr:nth-child(1) > vn-td.balance'
    },
    itemLog: {
        anyLineCreated: 'vn-item-log > vn-log vn-tbody > vn-tr',
        fifthLineCreatedProperty: 'vn-item-log > vn-log vn-tbody > vn-tr:nth-child(5) > vn-td > vn-one:nth-child(3) > div span:nth-child(3)',
    },
    ticketSummary: {
        header: 'vn-ticket-summary > vn-card > h5',
        state: 'vn-ticket-summary vn-label-value[label="State"] > section > span',
        route: 'vn-ticket-summary vn-label-value[label="Route"] > section > span > span',
        total: 'vn-ticket-summary vn-one.taxes > p:nth-child(3) > strong',
        sale: 'vn-ticket-summary [name="sales"] vn-table > div > vn-tbody > vn-tr',
        firstSaleItemId: 'vn-ticket-summary [name="sales"] vn-table vn-tbody > :nth-child(1) > vn-td:nth-child(2) > span',
        firstSaleDescriptorImage: '.vn-popover.shown vn-item-descriptor img',
        itemDescriptorPopover: '.vn-popover.shown vn-item-descriptor',
        itemDescriptorPopoverItemDiaryButton: 'vn-item-descriptor a[href="#!/item/2/diary?warehouseFk=5&lineFk=16"]',
        popoverDiaryButton: '.vn-popover.shown vn-item-descriptor vn-icon[icon="icon-transaction"]',
        firstSaleQuantity: 'vn-ticket-summary [name="sales"] vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(3)',
        firstSaleDiscount: 'vn-ticket-summary [name="sales"] vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(6)',
        invoiceOutRef: 'vn-ticket-summary > vn-card > vn-horizontal > vn-one:nth-child(1) > vn-label-value:nth-child(7) > section > span',
        setOk: 'vn-ticket-summary vn-button[label="SET OK"] > button',
        descriptorTicketId: 'vn-ticket-descriptor > vn-descriptor-content > div > div.body > div.top > div'
    },
    ticketsIndex: {
        anySearchResult: 'vn-ticket-index vn-tbody > a',
        openAdvancedSearchButton: 'vn-searchbar .append vn-icon[icon="arrow_drop_down"]',
        advancedSearchInvoiceOut: 'vn-ticket-search-panel vn-textfield[ng-model="filter.refFk"]',
        advancedSearchDaysOnward: 'vn-ticket-search-panel vn-input-number[ng-model="filter.scopeDays"]',
        advancedSearchClient: 'vn-ticket-search-panel vn-textfield[ng-model="filter.clientFk"]',
        advancedSearchButton: 'vn-ticket-search-panel button[type=submit]',
        newTicketButton: 'vn-ticket-index a[ui-sref="ticket.create"]',
        searchResult: 'vn-ticket-index vn-card > vn-table > div > vn-tbody > a.vn-tr',
        firstTicketCheckbox: 'vn-ticket-index vn-tbody > a:nth-child(1) > vn-td:nth-child(1) > vn-check',
        secondTicketCheckbox: 'vn-ticket-index vn-tbody > a:nth-child(2) > vn-td:nth-child(1) > vn-check',
        thirdTicketCheckbox: 'vn-ticket-index vn-tbody > a:nth-child(3) > vn-td:nth-child(1) > vn-check',
        sixthTicketCheckbox: 'vn-ticket-index vn-tbody > a:nth-child(6) > vn-td:nth-child(1) > vn-check',
        payoutButton: 'vn-ticket-index vn-button[icon="icon-recovery"]',
        payoutCompany: '.vn-dialog vn-autocomplete[ng-model="$ctrl.receipt.companyFk"]',
        payoutBank: '.vn-dialog vn-autocomplete[ng-model="$ctrl.bankFk"]',
        payoutDescription: 'vn-textfield[ng-model="$ctrl.receipt.description"]',
        submitPayout: '.vn-dialog button[response="accept"]',
        searchWeeklyResult: 'vn-ticket-weekly-index vn-table vn-tbody > vn-tr',
        searchResultDate: 'vn-ticket-summary [label=Landed] span',
        topbarSearch: 'vn-searchbar',
        moreMenu: 'vn-ticket-index vn-icon-button[icon=more_vert]',
        sixthWeeklyTicket: 'vn-ticket-weekly-index vn-table vn-tr:nth-child(6)',
        weeklyTicket: 'vn-ticket-weekly-index vn-table > div > vn-tbody > vn-tr',
        firstWeeklyTicketDeleteIcon: 'vn-ticket-weekly-index vn-tr:nth-child(1) vn-icon-button[icon="delete"]',
        firstWeeklyTicketAgency: 'vn-ticket-weekly-index vn-tr:nth-child(1) [ng-model="weekly.agencyModeFk"]',
        acceptDeleteTurn: '.vn-confirm.shown button[response="accept"]'
    },
    createTicketView: {
        client: 'vn-ticket-create vn-autocomplete[ng-model="$ctrl.clientId"]',
        address: 'vn-ticket-create vn-autocomplete[ng-model="$ctrl.addressId"]',
        deliveryDate: 'vn-ticket-create vn-date-picker[ng-model="$ctrl.landed"]',
        warehouse: 'vn-ticket-create vn-autocomplete[ng-model="$ctrl.warehouseId"]',
        agency: 'vn-ticket-create vn-autocomplete[ng-model="$ctrl.agencyModeId"]',
        createButton: `button[type=submit]`
    },
    ticketDescriptor: {
        id: 'vn-descriptor-content div.top > div',
        stateLabelValue: 'vn-ticket-descriptor vn-label-value[label="State"]',
        isDeletedIcon: 'vn-ticket-descriptor vn-icon[icon="icon-deletedTicket"]',
        goBackToModuleIndexButton: 'vn-ticket-descriptor a[ui-sref="ticket.index"]',
        moreMenu: 'vn-ticket-descriptor vn-ticket-descriptor-menu > vn-icon-button[icon=more_vert]',
        moreMenuAddStowaway: '.vn-menu [name="addStowaway"]',
        moreMenuDeleteStowawayButton: '.vn-menu [name="deleteStowaway"]',
        moreMenuAddToTurn: '.vn-menu [name="addTurn"]',
        moreMenuDeleteTicket: '.vn-menu [name="deleteTicket"]',
        moreMenuRestoreTicket: '.vn-menu [name="restoreTicket"]',
        moreMenuMakeInvoice: '.vn-menu [name="makeInvoice"]',
        moreMenuRegenerateInvoice: '.vn-menu [name="regenerateInvoice"]',
        moreMenuChangeShippedHour: '.vn-menu [name="changeShipped"]',
        moreMenuPaymentSMS: '.vn-menu [name="sendPaymentSms"]',
        moreMenuSendImportSms: '.vn-menu [name="sendImportSms"]',
        SMStext: 'textarea[name="message"]',
        sendSMSbutton: 'button[response="accept"]',
        changeShippedHourDialog: '.vn-dialog.shown',
        changeShippedHour: '.vn-dialog.shown vn-input-time[ng-model="$ctrl.newShipped"]',
        addStowawayDialogFirstTicket: '.vn-dialog.shown vn-table vn-tbody vn-tr',
        shipButton: 'vn-ticket-descriptor vn-icon[icon="icon-stowaway"]',
        thursdayButton: '.vn-popup.shown vn-tool-bar > vn-button:nth-child(4)',
        saturdayButton: '.vn-popup.shown vn-tool-bar > vn-button:nth-child(6)',
        acceptDialog: '.vn-dialog.shown button[response="accept"]',
        acceptChangeHourButton: '.vn-dialog.shown button[response="accept"]',
        descriptorDeliveryDate: 'vn-ticket-descriptor slot-body > .attributes > vn-label-value:nth-child(3) > section > span',
        acceptInvoiceOutButton: '.vn-confirm.shown button[response="accept"]',
        acceptDeleteStowawayButton: '.vn-dialog.shown button[response="accept"]'
    },
    ticketNotes: {
        firstNoteRemoveButton: 'vn-icon[icon="delete"]',
        addNoteButton: 'vn-icon[icon="add_circle"]',
        firstNoteType: 'vn-autocomplete[ng-model="observation.observationTypeFk"]',
        firstDescription: 'vn-ticket-observation vn-textfield[ng-model="observation.description"]',
        submitNotesButton: 'button[type=submit]'
    },
    ticketExpedition: {
        secondExpeditionRemoveButton: 'vn-ticket-expedition vn-table div > vn-tbody > vn-tr:nth-child(2) > vn-td:nth-child(1) > vn-icon-button[icon="delete"]',
        expeditionRow: 'vn-ticket-expedition vn-table vn-tbody > vn-tr'
    },
    ticketPackages: {
        firstPackage: 'vn-autocomplete[label="Package"]',
        firstQuantity: 'vn-ticket-package vn-horizontal:nth-child(1) vn-input-number[ng-model="package.quantity"]',
        firstRemovePackageButton: 'vn-icon-button[vn-tooltip="Remove package"]',
        addPackageButton: 'vn-icon-button[vn-tooltip="Add package"]',
        savePackagesButton: `button[type=submit]`
    },
    ticketSales: {
        setOk: 'vn-ticket-sale vn-tool-bar > vn-button[label="Ok"] > button',
        saleLine: 'vn-table div > vn-tbody > vn-tr',
        saleDescriptorPopover: '.vn-popover.shown vn-item-descriptor',
        saleDescriptorPopoverSummaryButton: '.vn-popover.shown vn-item-descriptor a[ui-sref="item.card.summary({id: $ctrl.descriptor.id})"]',
        newItemButton: 'vn-ticket-sale vn-card vn-icon-button[icon="add_circle"]',
        moreMenu: 'vn-ticket-sale vn-button[label="More"]',
        moreMenuCreateClaim: 'vn-item[name="claim"]',
        moreMenuReserve: 'vn-item[name="reserve"]',
        moreMenuUnmarkReseved: 'vn-item[name="unreserve"]',
        moreMenuUpdateDiscount: 'vn-item[name="discount"]',
        moreMenuUpdateDiscountInput: 'vn-input-number[ng-model="$ctrl.edit.discount"] input',
        transferQuantityInput: '.vn-popover.shown vn-table > div > vn-tbody > vn-tr > vn-td-editable > span > text',
        transferQuantityCell: '.vn-popover.shown vn-table > div > vn-tbody > vn-tr > vn-td-editable',
        firstSaleId: 'vn-ticket-sale vn-tbody > vn-tr:nth-child(1) > vn-td:nth-child(4) > span',
        firstSaleClaimIcon: 'vn-ticket-sale vn-table vn-tbody > vn-tr:nth-child(1) vn-icon[icon="icon-claims"]',
        firstSaleDescriptorImage: '.vn-popover.shown vn-item-descriptor img',
        firstSaleThumbnailImage: 'vn-ticket-sale:nth-child(1) vn-tr:nth-child(1) vn-td:nth-child(3) > img',
        firstSaleZoomedImage: 'body > div > div > img',
        firstSaleQuantity: 'vn-ticket-sale [ng-model="sale.quantity"]',
        firstSaleQuantityCell: 'vn-ticket-sale vn-tr:nth-child(1) > vn-td-editable:nth-child(5)',
        firstSalePrice: 'vn-ticket-sale vn-table vn-tr:nth-child(1) > vn-td:nth-child(7) > span',
        firstSalePriceInput: '.vn-popover.shown input[ng-model="$ctrl.field"]',
        firstSaleDiscount: 'vn-ticket-sale vn-table vn-tr:nth-child(1) > vn-td:nth-child(8) > span',
        firstSaleDiscountInput: '.vn-popover.shown [ng-model="$ctrl.field"]',
        firstSaleImport: 'vn-ticket-sale:nth-child(1) vn-td:nth-child(9)',
        firstSaleReservedIcon: 'vn-ticket-sale vn-tr:nth-child(1) > vn-td:nth-child(2) > vn-icon:nth-child(3)',
        firstSaleColour: 'vn-ticket-sale vn-tr:nth-child(1) vn-fetched-tags section',
        firstSaleCheckbox: 'vn-ticket-sale vn-tr:nth-child(1) vn-check[ng-model="sale.checked"]',
        secondSaleText: 'vn-table div > vn-tbody > vn-tr:nth-child(2)',
        secondSaleId: 'vn-ticket-sale:nth-child(2) vn-td-editable:nth-child(4) text > span',
        secondSaleIdAutocomplete: 'vn-ticket-sale vn-tr:nth-child(2) vn-autocomplete[ng-model="sale.itemFk"]',
        secondSaleQuantity: 'vn-ticket-sale vn-table vn-tr:nth-child(2) vn-input-number',
        secondSaleQuantityCell: 'vn-ticket-sale > div > vn-card > vn-table > div > vn-tbody > vn-tr:nth-child(2) > vn-td-editable:nth-child(5)',
        secondSaleConceptCell: 'vn-ticket-sale vn-tbody > :nth-child(2) > :nth-child(6)',
        secondSaleConceptInput: 'vn-ticket-sale vn-tbody > :nth-child(2) > vn-td-editable.ng-isolate-scope.selected vn-textfield',
        totalImport: 'vn-ticket-sale vn-one.taxes > p:nth-child(3) > strong',
        selectAllSalesCheckbox: 'vn-ticket-sale vn-thead vn-check',
        secondSaleCheckbox: 'vn-ticket-sale vn-tr:nth-child(2) vn-check[ng-model="sale.checked"]',
        thirdSaleCheckbox: 'vn-ticket-sale vn-tr:nth-child(3) vn-check[ng-model="sale.checked"]',
        deleteSaleButton: 'vn-ticket-sale vn-tool-bar > vn-button[icon="delete"]',
        transferSaleButton: 'vn-ticket-sale vn-tool-bar > vn-button[icon="call_split"]',
        moveToTicketInput: 'form vn-input-number[ng-model="$ctrl.transfer.ticketId"] input',
        moveToTicketButton: '.vn-popover.shown vn-icon[icon="arrow_forward_ios"]',
        moveToNewTicketButton: '.vn-popover.shown vn-button[label="New ticket"]',
        stateMenuButton: 'vn-ticket-sale vn-tool-bar > vn-button-menu[label="State"]',
        moreMenuState: 'body > div > div > div.content > div.filter.ng-scope > vn-textfield'
    },
    ticketTracking: {
        createStateButton: 'vn-float-button'
    },
    ticketBasicData: {
        agency: 'vn-autocomplete[ng-model="$ctrl.agencyModeId"]',
        zone: 'vn-autocomplete[ng-model="$ctrl.zoneId"]',
        nextStepButton: 'vn-step-control .buttons > section:last-child vn-button',
        finalizeButton: 'vn-step-control .buttons > section:last-child button[type=submit]',
        stepTwoTotalPriceDif: 'vn-ticket-basic-data-step-two > vn-side-menu div:nth-child(4)',
        chargesReason: 'vn-ticket-basic-data-step-two div:nth-child(3) > vn-radio',
    },
    ticketComponents: {
        base: 'vn-ticket-components > vn-side-menu div:nth-child(1) > div:nth-child(2)'
    },
    ticketRequests: {
        addRequestButton: 'vn-ticket-request-index > a > vn-float-button > button',
        descriptionInput: 'vn-ticket-request-create [ng-model="$ctrl.ticketRequest.description"]',
        atender: 'vn-ticket-request-create vn-autocomplete[ng-model="$ctrl.ticketRequest.attenderFk"]',
        quantity: 'vn-ticket-request-create vn-input-number[ng-model="$ctrl.ticketRequest.quantity"]',
        price: 'vn-ticket-request-create vn-input-number[ng-model="$ctrl.ticketRequest.price"]',
        firstRequestQuantity: 'vn-ticket-request-index vn-table vn-tr:nth-child(1) > vn-td:nth-child(6) vn-input-number',
        secondRequestQuantity: 'vn-ticket-request-index vn-table vn-tr:nth-child(2) > vn-td:nth-child(6) vn-input-number',
        thirdDescription: 'vn-ticket-request-index vn-table vn-tr:nth-child(3) > vn-td:nth-child(2) vn-textfield',
        thirdRemoveRequestButton: 'vn-ticket-request-index vn-tr:nth-child(3) vn-icon[icon="delete"]',
        thirdRequestQuantity: 'vn-ticket-request-index vn-table vn-tr:nth-child(3) > vn-td:nth-child(6) vn-input-number',
        saveButton: 'vn-ticket-request-create button[type=submit]',

    },
    ticketLog: {
        firstTD: 'vn-ticket-log vn-table vn-td:nth-child(1)',
        logButton: 'vn-left-menu a[ui-sref="ticket.card.log"]',
        changedBy: 'vn-ticket-log > vn-log vn-tr:nth-child(1) > vn-td:nth-child(2) > span',
        actionTaken: 'vn-ticket-log > vn-log vn-td:nth-child(1) > div > div:nth-child(3) > span.value',
        changes: 'vn-ticket-log vn-data-viewer vn-tbody > vn-tr > vn-td:nth-child(7)',
        id: 'vn-ticket-log > vn-log vn-td.before > vn-one:nth-child(1) > div > span.value'
    },
    ticketService: {
        addServiceButton: 'vn-ticket-service vn-icon-button[vn-tooltip="Add service"] > button',
        firstAddServiceTypeButton: 'vn-ticket-service vn-icon-button[vn-tooltip="New service type"]',
        firstServiceType: 'vn-ticket-service vn-autocomplete[ng-model="service.ticketServiceTypeFk"]',
        firstQuantity: 'vn-ticket-service vn-input-number[ng-model="service.quantity"]',
        firstPrice: 'vn-ticket-service vn-horizontal:nth-child(1) vn-input-number[ng-model="service.price"]',
        fistDeleteServiceButton: 'vn-ticket-service form vn-horizontal:nth-child(1) vn-icon-button[icon="delete"]',
        newServiceTypeName: '.vn-dialog.shown vn-textfield[ng-model="newServiceType.name"]',
        serviceLine: 'vn-ticket-service > form > vn-card > vn-one:nth-child(2) > vn-horizontal',
        saveServiceButton: 'button[type=submit]',
        saveServiceTypeButton: '.vn-dialog.shown tpl-buttons > button'
    },
    createStateView: {
        state: 'vn-autocomplete[ng-model="$ctrl.stateFk"]',
        worker: 'vn-autocomplete[ng-model="$ctrl.workerFk"]',
        saveStateButton: `button[type=submit]`
    },
    claimsIndex: {
        searchResult: 'vn-claim-index vn-card > vn-table > div > vn-tbody > a'
    },
    claimDescriptor: {
        moreMenu: 'vn-claim-descriptor vn-icon-button[icon=more_vert]',
        moreMenuDeleteClaim: '.vn-menu [name="deleteClaim"]',
        acceptDeleteClaim: '.vn-confirm.shown button[response="accept"]'
    },
    claimSummary: {
        header: 'vn-claim-summary > vn-card > h5',
        state: 'vn-claim-summary vn-label-value[label="State"] > section > span',
        observation: 'vn-claim-summary vn-textarea[ng-model="$ctrl.summary.claim.observation"]',
        firstSaleItemId: 'vn-claim-summary vn-horizontal > vn-auto:nth-child(4) vn-table > div > vn-tbody > vn-tr:nth-child(1) > vn-td:nth-child(1) > span',
        firstSaleDescriptorImage: '.vn-popover.shown vn-item-descriptor img',
        itemDescriptorPopover: '.vn-popover.shown vn-item-descriptor',
        itemDescriptorPopoverItemDiaryButton: '.vn-popover vn-item-descriptor vn-quick-link[icon="icon-transaction"] > a',
        firstDevelopmentWorker: 'vn-claim-summary vn-horizontal > vn-auto:nth-child(5) vn-table > div > vn-tbody > vn-tr:nth-child(1) > vn-td:nth-child(4) > span',
        firstDevelopmentWorkerGoToClientButton: '.vn-popover vn-worker-descriptor vn-quick-link[icon="person"] > a',
        firstActionTicketId: 'vn-claim-summary > vn-card > vn-horizontal > vn-auto:nth-child(6) vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(2) > span',
        firstActionTicketDescriptor: '.vn-popover.shown vn-ticket-descriptor'
    },
    claimBasicData: {
        claimState: 'vn-claim-basic-data vn-autocomplete[ng-model="$ctrl.claim.claimStateFk"]',
        observation: 'vn-textarea[ng-model="$ctrl.claim.observation"]',
        hasToPickUpCheckbox: 'vn-claim-basic-data vn-check[ng-model="$ctrl.claim.hasToPickUp"]',
        saveButton: `button[type=submit]`
    },
    claimDetail: {
        secondItemDiscount: 'vn-claim-detail > vn-vertical > vn-card > vn-vertical > vn-table > div > vn-tbody > vn-tr:nth-child(2) > vn-td:nth-child(6) > span',
        discount: '.vn-popover.shown vn-input-number[ng-model="$ctrl.newDiscount"]',
        discoutPopoverMana: '.vn-popover.shown .content > div > vn-horizontal > h5',
        addItemButton: 'vn-claim-detail a vn-float-button',
        firstClaimableSaleFromTicket: '.vn-dialog.shown vn-tbody > vn-tr',
        claimDetailLine: 'vn-claim-detail > vn-vertical > vn-card > vn-vertical > vn-table > div > vn-tbody > vn-tr',
        totalClaimed: 'vn-claim-detail > vn-vertical > vn-card > vn-vertical > vn-horizontal > div > vn-label-value:nth-child(2) > section > span',
        secondItemDeleteButton: 'vn-claim-detail > vn-vertical > vn-card > vn-vertical > vn-table > div > vn-tbody > vn-tr:nth-child(2) > vn-td:nth-child(8) > vn-icon-button > button > vn-icon > i'
    },
    claimDevelopment: {
        addDevelopmentButton: 'vn-claim-development > vn-vertical > vn-card > vn-vertical > vn-one > vn-icon-button > button > vn-icon',
        firstDeleteDevelopmentButton: 'vn-claim-development > vn-vertical > vn-card > vn-vertical > form > vn-horizontal:nth-child(2) > vn-icon-button > button > vn-icon',
        firstClaimReason: 'vn-claim-development vn-horizontal:nth-child(1) vn-autocomplete[ng-model="claimDevelopment.claimReasonFk"]',
        firstClaimResult: 'vn-claim-development vn-horizontal:nth-child(1) vn-autocomplete[ng-model="claimDevelopment.claimResultFk"]',
        firstClaimResponsible: 'vn-claim-development vn-horizontal:nth-child(1) vn-autocomplete[ng-model="claimDevelopment.claimResponsibleFk"]',
        firstClaimWorker: 'vn-claim-development vn-horizontal:nth-child(1) vn-autocomplete[ng-model="claimDevelopment.workerFk"]',
        firstClaimRedelivery: 'vn-claim-development vn-horizontal:nth-child(1) vn-autocomplete[ng-model="claimDevelopment.claimRedeliveryFk"]',
        secondClaimReason: 'vn-claim-development vn-horizontal:nth-child(2) vn-autocomplete[ng-model="claimDevelopment.claimReasonFk"]',
        secondClaimResult: 'vn-claim-development vn-horizontal:nth-child(2) vn-autocomplete[ng-model="claimDevelopment.claimResultFk"]',
        secondClaimResponsible: 'vn-claim-development vn-horizontal:nth-child(2) vn-autocomplete[ng-model="claimDevelopment.claimResponsibleFk"]',
        secondClaimWorker: 'vn-claim-development vn-horizontal:nth-child(2) vn-autocomplete[ng-model="claimDevelopment.workerFk"]',
        secondClaimRedelivery: 'vn-claim-development vn-horizontal:nth-child(2) vn-autocomplete[ng-model="claimDevelopment.claimRedeliveryFk"]',
        saveDevelopmentButton: 'button[type=submit]'
    },
    claimAction: {
        importClaimButton: 'vn-claim-action vn-button[label="Import claim"]',
        importTicketButton: 'vn-claim-action vn-button[label="Import ticket"]',
        secondImportableTicket: '.vn-popover.shown .content > div > vn-table > div > vn-tbody > vn-tr:nth-child(2)',
        firstLineDestination: 'vn-claim-action vn-tr:nth-child(1) vn-autocomplete[ng-model="saleClaimed.claimDestinationFk"]',
        secondLineDestination: 'vn-claim-action vn-tr:nth-child(2) vn-autocomplete[ng-model="saleClaimed.claimDestinationFk"]',
        firstDeleteLine: 'vn-claim-action vn-tr:nth-child(1) vn-icon-button[icon="delete"]',
        isPaidWithManaCheckbox: 'vn-claim-action vn-check[ng-model="$ctrl.claim.isChargedToMana"]'
    },
    ordersIndex: {
        secondSearchResultTotal: 'vn-order-index vn-card > vn-table > div > vn-tbody .vn-tr:nth-child(2) vn-td:nth-child(9)',
        advancedSearchButton: 'vn-order-search-panel vn-submit[label="Search"]',
        openAdvancedSearch: 'vn-searchbar vn-icon[icon="arrow_drop_down"]',
        advancedSearchShowEmptyCheckbox: 'vn-order-search-panel vn-check[label="Show empty"]',
        createOrderButton: 'vn-float-button',
    },
    orderDescriptor: {
        returnToModuleIndexButton: 'vn-order-descriptor a[ui-sref="order.index"]'
    },
    createOrderView: {
        client: 'vn-autocomplete[label="Client"]',
        agency: 'vn-autocomplete[label="Agency"]',
        landedDatePicker: 'vn-date-picker[label="Landed"]',
        createButton: 'button[type=submit]'
    },
    orderSummary: {
        id: 'vn-order-summary vn-one:nth-child(1) > vn-label-value:nth-child(1) span',
        alias: 'vn-order-summary vn-one:nth-child(1) > vn-label-value:nth-child(2) span',
        consignee: 'vn-order-summary vn-one:nth-child(2) > vn-label-value:nth-child(6) span',
        subtotal: 'vn-order-summary vn-one.taxes > p:nth-child(1)',
        vat: 'vn-order-summary vn-one.taxes > p:nth-child(2)',
        total: 'vn-order-summary vn-one.taxes > p:nth-child(3)',
        sale: 'vn-order-summary vn-tbody > vn-tr',
    },
    orderCatalog: {
        plantRealmButton: 'vn-order-catalog > vn-side-menu vn-icon[icon="icon-plant"]',
        type: 'vn-order-catalog vn-autocomplete[data="$ctrl.itemTypes"]',
        itemTagValue: 'vn-order-catalog vn-textfield[vn-id="search"]',
        openTagSearch: 'vn-order-catalog vn-vertical:nth-child(4) append > vn-icon > i',
        tag: 'vn-order-catalog-search-panel vn-autocomplete[ng-model="filter.tagFk"]',
        firstTagAutocomplete: 'vn-order-catalog-search-panel vn-horizontal:nth-child(2) vn-autocomplete[ng-model="tagValue.value"]',
        secondTagAutocomplete: 'vn-order-catalog-search-panel vn-horizontal:nth-child(3) vn-autocomplete[ng-model="tagValue.value"]',
        firstTagValue: 'vn-order-catalog-search-panel vn-horizontal:nth-child(2) vn-textfield[ng-model="tagValue.value"]',
        secondTagValue: 'vn-order-catalog-search-panel vn-horizontal:nth-child(3) vn-textfield[ng-model="tagValue.value"]',
        addTagButton: 'vn-order-catalog-search-panel vn-icon-button[icon="add_circle"]',
        searchTagButton: 'vn-order-catalog-search-panel button[type=submit]',
        thirdFilterRemoveButton: 'vn-order-catalog > vn-side-menu .chips > vn-chip:nth-child(3) vn-icon[icon=cancel]',
        fourthFilterRemoveButton: 'vn-order-catalog > vn-side-menu .chips > vn-chip:nth-child(4) vn-icon[icon=cancel]',
        fifthFilterRemoveButton: 'vn-order-catalog > vn-side-menu .chips > vn-chip:nth-child(5) vn-icon[icon=cancel]',
        sixthFilterRemoveButton: 'vn-order-catalog > vn-side-menu .chips > vn-chip:nth-child(6) vn-icon[icon=cancel]',
    },
    orderBasicData: {
        client: 'vn-autocomplete[label="Client"]',
        address: 'vn-autocomplete[label="Address"]',
        agency: 'vn-autocomplete[label="Agency"]',
        observation: 'vn-textarea[label="Notes"]',
        saveButton: `button[type=submit]`,
        acceptButton: '.vn-confirm.shown button[response="accept"]'
    },
    orderLine: {
        orderSubtotal: 'vn-order-line .header :first-child',
        firstLineDeleteButton: 'vn-order-line vn-tbody > vn-tr:nth-child(1) vn-icon[icon="delete"]',
        confirmOrder: 'vn-order-line vn-float-button',
        confirmButton: '.vn-confirm.shown button[response="accept"]',
    },
    routeIndex: {
        anyResult: 'vn-table a',
        firstRouteCheckbox: 'a:nth-child(1) vn-td:nth-child(1) > vn-check',
        addNewRouteButton: 'vn-route-index a[ui-sref="route.create"]',
        cloneButton: 'vn-route-index button > vn-icon[icon="icon-clone"]',
        submitClonationButton: 'tpl-buttons > button[response="accept"]',
        openAdvancedSearchButton: 'vn-searchbar .append vn-icon[icon="arrow_drop_down"]',
        searchAgencyAutocomlete: 'vn-route-search-panel vn-autocomplete[ng-model="filter.agencyModeFk"]',
        advancedSearchButton: 'vn-route-search-panel button[type=submit]',
    },
    createRouteView: {
        worker: 'vn-route-create vn-autocomplete[ng-model="$ctrl.route.workerFk"]',
        createdDatePicker: 'vn-route-create vn-date-picker[ng-model="$ctrl.route.created"]',
        vehicleAuto: 'vn-route-create vn-autocomplete[ng-model="$ctrl.route.vehicleFk"]',
        agency: 'vn-route-create vn-autocomplete[ng-model="$ctrl.route.agencyModeFk"]',
        description: 'vn-route-create [ng-model="$ctrl.route.description"]',
        submitButton: 'vn-route-create button[type=submit]'
    },
    routeDescriptor: {
        volume: 'vn-route-descriptor vn-label-value[label="Volume"] > section > span'
    },
    routeSummary: {
        header: 'vn-route-summary > vn-card > h5',
        cost: 'vn-route-summary vn-label-value[label="Cost"]',
        firstTicketID: 'vn-route-summary vn-tbody > vn-tr:nth-child(1) > vn-td:nth-child(2) > span',
        firstTicketDescriptor: '.vn-popover.shown vn-ticket-descriptor',
        firstAlias: 'vn-route-summary vn-tbody > vn-tr:nth-child(1) > vn-td:nth-child(3) > span',
        firstClientDescriptor: '.vn-popover.shown vn-client-descriptor',
    },
    routeBasicData: {
        worker: 'vn-route-basic-data vn-autocomplete[ng-model="$ctrl.route.workerFk"]',
        vehicle: 'vn-route-basic-data vn-autocomplete[ng-model="$ctrl.route.vehicleFk"]',
        kmStart: 'vn-route-basic-data vn-input-number[ng-model="$ctrl.route.kmStart"]',
        kmEnd: 'vn-route-basic-data vn-input-number[ng-model="$ctrl.route.kmEnd"]',
        createdDate: 'vn-route-basic-data vn-date-picker[ng-model="$ctrl.route.created"]',
        startedHour: 'vn-route-basic-data vn-input-time[ng-model="$ctrl.route.started"]',
        finishedHour: 'vn-route-basic-data vn-input-time[ng-model="$ctrl.route.finished"]',
        saveButton: 'vn-route-basic-data button[type=submit]'
    },
    routeTickets: {
        firstTicketPriority: 'vn-route-tickets vn-tr:nth-child(1) vn-input-number[ng-model="ticket.priority"]',
        firstTicketCheckbox: 'vn-route-tickets vn-tr:nth-child(1) vn-check',
        buscamanButton: 'vn-route-tickets vn-button[icon="icon-buscaman"]',
        firstTicketDeleteButton: 'vn-route-tickets vn-tr:nth-child(1) vn-icon[icon="delete"]',
        anyTicket: 'vn-route-tickets vn-tbody > vn-tr',
        confirmButton: '.vn-confirm.shown button[response="accept"]'
    },
    workerSummary: {
        header: 'vn-worker-summary h5',
        id: 'vn-worker-summary vn-one:nth-child(1) > vn-label-value:nth-child(3) > section > span',
        email: 'vn-worker-summary vn-one:nth-child(1) > vn-label-value:nth-child(4) > section > span',
        department: 'vn-worker-summary vn-one:nth-child(1) > vn-label-value:nth-child(5) > section > span',
        userId: 'vn-worker-summary vn-one:nth-child(2) > vn-label-value:nth-child(2) > section > span',
        userName: 'vn-worker-summary vn-one:nth-child(2) > vn-label-value:nth-child(3) > section > span',
        role: 'vn-worker-summary vn-one:nth-child(2) > vn-label-value:nth-child(4) > section > span',
        extension: 'vn-worker-summary vn-one:nth-child(2) > vn-label-value:nth-child(5) > section > span',

    },
    workerBasicData: {
        name: 'vn-worker-basic-data vn-textfield[ng-model="$ctrl.worker.firstName"]',
        surname: 'vn-worker-basic-data vn-textfield[ng-model="$ctrl.worker.lastName"]',
        phone: 'vn-worker-basic-data vn-textfield[ng-model="$ctrl.worker.phone"]',
        saveButton: 'vn-worker-basic-data button[type=submit]'
    },
    workerPbx: {
        extension: 'vn-worker-pbx vn-textfield[ng-model="$ctrl.worker.sip.extension"]',
        saveButton: 'vn-worker-pbx button[type=submit]'
    },
    workerTimeControl: {
        timeDialog: '.vn-dialog.shown vn-input-time[ng-model="$ctrl.newTime"]',
        mondayAddTimeButton: 'vn-worker-time-control vn-table > div > vn-tfoot > vn-tr:nth-child(2) > vn-td:nth-child(1) > vn-icon-button',
        tuesdayAddTimeButton: 'vn-worker-time-control vn-table > div > vn-tfoot > vn-tr:nth-child(2) > vn-td:nth-child(2) > vn-icon-button',
        wednesdayAddTimeButton: 'vn-worker-time-control vn-table > div > vn-tfoot > vn-tr:nth-child(2) > vn-td:nth-child(3) > vn-icon-button',
        thursdayAddTimeButton: 'vn-worker-time-control vn-table > div > vn-tfoot > vn-tr:nth-child(2) > vn-td:nth-child(4) > vn-icon-button',
        fridayAddTimeButton: 'vn-worker-time-control vn-table > div > vn-tfoot > vn-tr:nth-child(2) > vn-td:nth-child(5) > vn-icon-button',
        saturdayAddTimeButton: 'vn-worker-time-control vn-table > div > vn-tfoot > vn-tr:nth-child(2) > vn-td:nth-child(6) > vn-icon-button',
        sundayAddTimeButton: 'vn-worker-time-control vn-table > div > vn-tfoot > vn-tr:nth-child(2) > vn-td:nth-child(7) > vn-icon-button',
        firstEntryOfMonday: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(1) > section:nth-child(1) > vn-chip > div',
        firstEntryOfTuesday: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(2) > section:nth-child(1) > vn-chip > div',
        firstEntryOfWednesday: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(3) > section:nth-child(1) > vn-chip > div',
        firstEntryOfThursday: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(4) > section:nth-child(1) > vn-chip > div',
        firstEntryOfFriday: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(5) > section:nth-child(1) > vn-chip > div',
        firstEntryOfSaturday: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(6) > section:nth-child(1) > vn-chip > div',
        firstEntryOfSunday: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(7) > section:nth-child(1) > vn-chip > div',
        secondEntryOfMonday: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(1) > section:nth-child(2) > vn-chip > div',
        secondEntryOfTuesday: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(2) > section:nth-child(2) > vn-chip > div',
        secondEntryOfWednesday: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(3) > section:nth-child(2) > vn-chip > div',
        secondEntryOfThursday: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(4) > section:nth-child(2) > vn-chip > div',
        secondEntryOfFriday: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(5) > section:nth-child(2) > vn-chip > div',
        secondEntryOfSaturday: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(6) > section:nth-child(2) > vn-chip > div',
        secondEntryOfSunday: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(7) > section:nth-child(2) > vn-chip > div',
        thirdEntryOfMonday: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(1) > section:nth-child(3) > vn-chip > div',
        thirdEntryOfMondayDelete: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(1) > section:nth-child(3) > vn-chip > vn-icon[icon="cancel"]',
        thirdEntryOfTuesday: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(2) > section:nth-child(3) > vn-chip > div',
        thirdEntryOfWednesday: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(3) > section:nth-child(3) > vn-chip > div',
        thirdEntryOfThursday: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(4) > section:nth-child(3) > vn-chip > div',
        thirdEntryOfFriday: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(5) > section:nth-child(3) > vn-chip > div',
        thirdEntryOfSaturday: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(6) > section:nth-child(3) > vn-chip > div',
        thirdEntryOfSunday: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(7) > section:nth-child(3) > vn-chip > div',
        fourthEntryOfMonday: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(1) > section:nth-child(4) > vn-chip > div',
        fourthEntryOfTuesday: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(2) > section:nth-child(4) > vn-chip > div',
        fourthEntryOfWednesday: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(3) > section:nth-child(4) > vn-chip > div',
        fourthEntryOfThursday: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(4) > section:nth-child(4) > vn-chip > div',
        fourthEntryOfFriday: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(5) > section:nth-child(4) > vn-chip > div',
        fourthEntryOfSaturday: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(6) > section:nth-child(4) > vn-chip > div',
        fourthEntryOfSunday: 'vn-worker-time-control vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(7) > section:nth-child(4) > vn-chip > div',
        mondayWorkedHours: 'vn-worker-time-control vn-table > div > vn-tfoot > vn-tr:nth-child(1) > vn-td:nth-child(1)',
        tuesdayWorkedHours: 'vn-worker-time-control vn-table > div > vn-tfoot > vn-tr:nth-child(1) > vn-td:nth-child(2)',
        wednesdayWorkedHours: 'vn-worker-time-control vn-table > div > vn-tfoot > vn-tr:nth-child(1) > vn-td:nth-child(3)',
        thursdayWorkedHours: 'vn-worker-time-control vn-table > div > vn-tfoot > vn-tr:nth-child(1) > vn-td:nth-child(4)',
        fridayWorkedHours: 'vn-worker-time-control vn-table > div > vn-tfoot > vn-tr:nth-child(1) > vn-td:nth-child(5)',
        saturdayWorkedHours: 'vn-worker-time-control vn-table > div > vn-tfoot > vn-tr:nth-child(1) > vn-td:nth-child(6)',
        sundayWorkedHours: 'vn-worker-time-control vn-table > div > vn-tfoot > vn-tr:nth-child(1) > vn-td:nth-child(7)',
        weekWorkedHours: 'vn-worker-time-control vn-side-menu vn-label-value > section > span',
        nextMonthButton: 'vn-worker-time-control vn-side-menu vn-calendar vn-button[icon=keyboard_arrow_right]',
        secondWeekDay: 'vn-worker-time-control vn-side-menu vn-calendar .day:nth-child(8) > .day-number',
        navigateBackToIndex: 'vn-worker-descriptor [name="goToModuleIndex"]'
    },
    workerCalendar: {
        year: 'vn-worker-calendar vn-autocomplete[ng-model="$ctrl.year"]',
        totalHolidaysUsed: 'vn-worker-calendar div.totalBox > div',
        penultimateMondayOfJanuary: 'vn-worker-calendar vn-calendar:nth-child(2) section:nth-child(22) > div',
        lastMondayOfMarch: 'vn-worker-calendar vn-calendar:nth-child(4) section:nth-child(29) > div',
        fistMondayOfMay: 'vn-worker-calendar vn-calendar:nth-child(6) section:nth-child(8) > div',
        secondFridayOfJun: 'vn-worker-calendar vn-calendar:nth-child(6) section:nth-child(12) > div',
        secondTuesdayOfMay: 'vn-worker-calendar vn-calendar:nth-child(6) section:nth-child(16) > div',
        secondWednesdayOfMay: 'vn-worker-calendar vn-calendar:nth-child(6) section:nth-child(17) > div',
        secondThursdayOfMay: 'vn-worker-calendar vn-calendar:nth-child(6) section:nth-child(18) > div',
        holidays: 'vn-worker-calendar > vn-side-menu div:nth-child(3) > vn-chip:nth-child(1)',
        absence: 'vn-worker-calendar > vn-side-menu div:nth-child(3) > vn-chip:nth-child(2)',
        halfHoliday: 'vn-worker-calendar > vn-side-menu div:nth-child(3) > vn-chip:nth-child(3)',
        furlough: 'vn-worker-calendar > vn-side-menu div:nth-child(3) > vn-chip:nth-child(4)',
        halfFurlough: 'vn-worker-calendar > vn-side-menu div:nth-child(3) > vn-chip:nth-child(5)',
    },
    invoiceOutIndex: {
        topbarSearch: 'vn-searchbar',
        searchResult: 'vn-invoice-out-index vn-card > vn-table > div > vn-tbody > a.vn-tr',
    },
    invoiceOutDescriptor: {
        moreMenu: 'vn-invoice-out-descriptor vn-icon-button[icon=more_vert]',
        moreMenuDeleteInvoiceOut: '.vn-menu [name="deleteInvoice"]',
        moreMenuBookInvoiceOut: '.vn-menu [name="bookInvoice"]',
        moreMenuShowInvoiceOutPdf: '.vn-menu [name="showInvoicePdf"]',
        acceptDeleteButton: '.vn-confirm.shown button[response="accept"]',
        acceptBookingButton: '.vn-confirm.shown button[response="accept"]'
    },
    invoiceOutSummary: {
        bookedLabel: 'vn-invoice-out-summary > vn-card > vn-horizontal > vn-one > vn-label-value:nth-child(4) > section > span',
        company: 'vn-invoice-out-summary vn-label-value[label="Company"]',
        taxOne: 'vn-invoice-out-summary > vn-card > vn-horizontal > vn-two > vn-table > div > vn-tbody > vn-tr:nth-child(1)',
        taxTwo: 'vn-invoice-out-summary > vn-card > vn-horizontal > vn-two > vn-table > div > vn-tbody > vn-tr:nth-child(2)',
        ticketOne: 'vn-invoice-out-summary > vn-card > vn-horizontal > vn-auto > vn-table > div > vn-tbody > vn-tr:nth-child(1)',
        ticketTwo: 'vn-invoice-out-summary > vn-card > vn-horizontal > vn-auto > vn-table > div > vn-tbody > vn-tr:nth-child(2)'
    },
    invoiceInSummary: {
        supplierRef: 'vn-invoice-in-summary vn-label-value:nth-child(2) > section > span'
    },
    invoiceInDescriptor: {
        moreMenu: 'vn-invoice-in-descriptor vn-icon-button[icon=more_vert]',
        moreMenuDeleteInvoiceIn: '.vn-menu [name="deleteInvoice"]',
        acceptDeleteButton: '.vn-confirm.shown button[response="accept"]'
    },
    invoiceInBasicData: {
        issued: 'vn-invoice-in-basic-data vn-date-picker[ng-model="$ctrl.invoiceIn.issued"]',
        operated: 'vn-invoice-in-basic-data vn-date-picker[ng-model="$ctrl.invoiceIn.operated"]',
        supplier: 'vn-invoice-in-basic-data vn-autocomplete[ng-model="$ctrl.invoiceIn.supplierFk"]',
        supplierRef: 'vn-invoice-in-basic-data vn-textfield[ng-model="$ctrl.invoiceIn.supplierRef"]',
        bookEntried: 'vn-invoice-in-basic-data vn-date-picker[ng-model="$ctrl.invoiceIn.bookEntried"]',
        booked: 'vn-invoice-in-basic-data vn-date-picker[ng-model="$ctrl.invoiceIn.booked"]',
        currency: 'vn-invoice-in-basic-data vn-autocomplete[ng-model="$ctrl.invoiceIn.currencyFk"]',
        company: 'vn-invoice-in-basic-data vn-autocomplete[ng-model="$ctrl.invoiceIn.companyFk"]',
        save: 'vn-invoice-in-basic-data button[type=submit]'
    },
    travelIndex: {
        anySearchResult: 'vn-travel-index vn-tbody > a',
        firstSearchResult: 'vn-travel-index vn-tbody > a:nth-child(1)',
        firstTravelAddEntryButton: 'vn-travel-index a:nth-child(1) vn-icon[icon="icon-ticket"]',
        newTravelButton: 'vn-travel-index button vn-icon[icon="add"]',
        reference: 'vn-travel-create vn-textfield[ng-model="$ctrl.travel.ref"]',
        agency: 'vn-travel-create vn-autocomplete[ng-model="$ctrl.travel.agencyModeFk"]',
        shipDate: 'vn-travel-create vn-date-picker[ng-model="$ctrl.travel.shipped"]',
        landingDate: 'vn-travel-create vn-date-picker[ng-model="$ctrl.travel.landed"]',
        warehouseOut: 'vn-travel-create vn-autocomplete[ng-model="$ctrl.travel.warehouseOutFk"]',
        warehouseIn: 'vn-travel-create vn-autocomplete[ng-model="$ctrl.travel.warehouseInFk"]',
        save: 'vn-travel-create vn-submit > button'
    },
    travelExtraCommunity: {
        anySearchResult: 'vn-travel-extra-community > vn-data-viewer div > vn-tbody > vn-tr',
        firstTravelReference: 'vn-travel-extra-community vn-tbody:nth-child(2) vn-td-editable[name="reference"]',
        firstTravelLockedKg: 'vn-travel-extra-community vn-tbody:nth-child(2) vn-td-editable[name="lockedKg"]',
        removeContinentFilter: 'vn-searchbar > form > vn-textfield > div.container > div.prepend > prepend > div > span:nth-child(3) > vn-icon > i'
    },
    travelBasicData: {
        reference: 'vn-travel-basic-data vn-textfield[ng-model="$ctrl.travel.ref"]',
        agency: 'vn-travel-basic-data vn-autocomplete[ng-model="$ctrl.travel.agencyModeFk"]',
        shippedDate: 'vn-travel-basic-data vn-date-picker[ng-model="$ctrl.travel.shipped"]',
        deliveryDate: 'vn-travel-basic-data vn-date-picker[ng-model="$ctrl.travel.landed"]',
        outputWarehouse: 'vn-travel-basic-data vn-autocomplete[ng-model="$ctrl.travel.warehouseOutFk"]',
        inputWarehouse: 'vn-travel-basic-data vn-autocomplete[ng-model="$ctrl.travel.warehouseInFk"]',
        delivered: 'vn-travel-basic-data vn-check[ng-model="$ctrl.travel.isDelivered"]',
        received: 'vn-travel-basic-data vn-check[ng-model="$ctrl.travel.isReceived"]',
        save: 'vn-travel-basic-data vn-submit[label="Save"]',
        undoChanges: 'vn-travel-basic-data vn-button[label="Undo changes"]'
    },
    travelLog: {
        firstLogFirstTD: 'vn-travel-log vn-tbody > vn-tr > vn-td:nth-child(1) > div'
    },
    travelThermograph: {
        add: 'vn-travel-thermograph-index vn-float-button[icon="add"]',
        addThermographIcon: 'vn-travel-thermograph-create vn-autocomplete vn-icon[icon="add_circle"]',
        newThermographId: 'vn-textfield[ng-model="$ctrl.newThermograph.thermographId"]',
        newThermographModel: 'vn-autocomplete[ng-model="$ctrl.newThermograph.model"]',
        newThermographWarehouse: 'vn-autocomplete[ng-model="$ctrl.newThermograph.warehouseId"]',
        newThermographTemperature: 'vn-autocomplete[ng-model="$ctrl.newThermograph.temperature"]',
        createThermographButton: 'form button[response="accept"]',
        uploadIcon: 'vn-travel-thermograph-create vn-icon[icon="icon-attach"]',
        createdThermograph: 'vn-travel-thermograph-index vn-tbody > vn-tr',
        upload: 'vn-travel-thermograph-create button[type=submit]'
    },
    travelDescriptor: {
        filterByAgencyButton: 'vn-descriptor-content .quicklinks > div:nth-child(1) > vn-quick-link > a[vn-tooltip="All travels with current agency"]',
        dotMenu: 'vn-travel-descriptor vn-icon-button[icon="more_vert"]',
        dotMenuClone: '#clone',
        dotMenuCloneWithEntries: '#cloneWithEntries',
        dotMenuAddEntry: '[name="addEntry"]',
        acceptClonation: 'tpl-buttons > button[response="accept"]'
    },
    travelCreate: {
        reference: 'vn-travel-create vn-textfield[ng-model="$ctrl.travel.ref"]',
        agency: 'vn-travel-create vn-autocomplete[ng-model="$ctrl.travel.agencyModeFk"]',
        shipped: 'vn-travel-create vn-date-picker[ng-model="$ctrl.travel.shipped"]',
        landed: 'vn-travel-create vn-date-picker[ng-model="$ctrl.travel.landed"]',
        warehouseOut: 'vn-travel-create vn-autocomplete[ng-model="$ctrl.travel.warehouseOutFk"]',
        warehouseIn: 'vn-travel-create vn-autocomplete[ng-model="$ctrl.travel.warehouseInFk"]',
        saveButton: 'vn-travel-create vn-submit[label="Save"]'
    },
    zoneIndex: {
        searchResult: 'vn-zone-index a.vn-tr',
    },
    zoneDescriptor: {
        menu: 'vn-zone-descriptor vn-icon-button[vn-popover="menu"]',
        deleteZone: 'slot-menu vn-item[ng-click="$ctrl.onDelete()"]'
    },
    zoneBasicData: {
        name: 'vn-zone-basic-data vn-textfield[ng-model="$ctrl.zone.name"]',
        agency: 'vn-zone-basic-data vn-autocomplete[ng-model="$ctrl.zone.agencyModeFk"]',
        maxVolume: 'vn-zone-basic-data vn-input-number[ng-model="$ctrl.zone.m3Max"]',
        travelingDays: 'vn-zone-basic-data vn-input-number[ng-model="$ctrl.zone.travelingDays"]',
        closing: 'vn-zone-basic-data vn-input-time[ng-model="$ctrl.zone.hour"]',
        price: 'vn-zone-basic-data vn-input-number[ng-model="$ctrl.zone.price"]',
        bonus: 'vn-zone-basic-data vn-input-number[ng-model="$ctrl.zone.bonus"]',
        inflation: 'vn-zone-basic-data vn-input-number[ng-model="$ctrl.zone.inflation"]',
        volumetric: 'vn-zone-basic-data vn-check[ng-model="$ctrl.zone.isVolumetric"]',
        saveButton: 'vn-zone-basic-data vn-submit > button',
    },
    entryCreate: {
        travel: 'vn-entry-create vn-autocomplete[ng-model="$ctrl.entry.travelFk"]',
        company: 'vn-entry-create vn-autocomplete[ng-model="$ctrl.entry.companyFk"]'
    },
    entrySummary: {
        header: 'vn-entry-summary > vn-card > h5',
        reference: 'vn-entry-summary vn-label-value[label="Reference"]',
        confirmed: 'vn-entry-summary vn-check[label="Confirmed"]',
        anyBuyLine: 'vn-entry-summary tr.dark-row'
    },
    entryBasicData: {
        reference: 'vn-entry-basic-data vn-textfield[ng-model="$ctrl.entry.ref"]',
        notes: 'vn-entry-basic-data vn-textfield[ng-model="$ctrl.entry.notes"]',
        observations: 'vn-entry-basic-data vn-textarea[ng-model="$ctrl.entry.observation"]',
        supplier: 'vn-entry-basic-data vn-autocomplete[ng-model="$ctrl.entry.supplierFk"]',
        currency: 'vn-entry-basic-data vn-autocomplete[ng-model="$ctrl.entry.currencyFk"]',
        commission: 'vn-entry-basic-data vn-input-number[ng-model="$ctrl.entry.commission"]',
        company: 'vn-entry-basic-data vn-autocomplete[ng-model="$ctrl.entry.companyFk"]',
        ordered: 'vn-entry-basic-data vn-check[ng-model="$ctrl.entry.isOrdered"]',
        confirmed: 'vn-entry-basic-data vn-check[ng-model="$ctrl.entry.isConfirmed"]',
        inventory: 'vn-entry-basic-data vn-check[ng-model="$ctrl.entry.isInventory"]',
        raid: 'vn-entry-basic-data vn-check[ng-model="$ctrl.entry.isRaid"]',
        booked: 'vn-entry-basic-data vn-check[ng-model="$ctrl.entry.isBooked"]',
        save: 'vn-entry-basic-data button[type=submit]',
    },
    entryDescriptor: {
        agency: 'vn-entry-descriptor div.body vn-label-value:nth-child(1) span',
        travelsQuicklink: 'vn-entry-descriptor vn-quick-link[icon="local_airport"] > a',
        entriesQuicklink: 'vn-entry-descriptor vn-quick-link[icon="icon-entry"] > a'
    },
    entryBuys: {
        anyBuyLine: 'vn-entry-buy-index tr.dark-row',
        allBuyCheckbox: 'vn-entry-buy-index thead vn-check',
        firstBuyCheckbox: 'vn-entry-buy-index tbody:nth-child(2) vn-check',
        deleteBuysButton: 'vn-entry-buy-index vn-button[icon="delete"]',
        addBuyButton: 'vn-entry-buy-index vn-icon[icon="add_circle"]',
        secondBuyPackingPrice: 'vn-entry-buy-index tbody:nth-child(3) > tr:nth-child(1) vn-input-number[ng-model="buy.price3"]',
        secondBuyGroupingPrice: 'vn-entry-buy-index tbody:nth-child(3) > tr:nth-child(1) vn-input-number[ng-model="buy.price2"]',
        secondBuyPrice: 'vn-entry-buy-index tbody:nth-child(3) > tr:nth-child(1) vn-input-number[ng-model="buy.buyingValue"]',
        secondBuyGrouping: 'vn-entry-buy-index tbody:nth-child(3) > tr:nth-child(1) vn-input-number[ng-model="buy.grouping"]',
        secondBuyPacking: 'vn-entry-buy-index tbody:nth-child(3) > tr:nth-child(1) vn-input-number[ng-model="buy.packing"]',
        secondBuyWeight: 'vn-entry-buy-index tbody:nth-child(3) > tr:nth-child(1) vn-input-number[ng-model="buy.weight"]',
        secondBuyStickers: 'vn-entry-buy-index tbody:nth-child(3) > tr:nth-child(1) vn-input-number[ng-model="buy.stickers"]',
        secondBuyPackage: 'vn-entry-buy-index tbody:nth-child(3) > tr:nth-child(1) vn-autocomplete[ng-model="buy.packageFk"]',
        secondBuyQuantity: 'vn-entry-buy-index tbody:nth-child(3) > tr:nth-child(1) vn-input-number[ng-model="buy.quantity"]',
        secondBuyItem: 'vn-entry-buy-index tbody:nth-child(3) > tr:nth-child(1) vn-autocomplete[ng-model="buy.itemFk"]',
        importButton: 'vn-entry-buy-index vn-icon[icon="publish"]',
        ref: 'vn-entry-buy-import vn-textfield[ng-model="$ctrl.import.ref"]',
        observation: 'vn-entry-buy-import vn-textarea[ng-model="$ctrl.import.observation"]',
        file: 'vn-entry-buy-import vn-input-file[ng-model="$ctrl.import.file"]',
        firstImportedItem: 'vn-entry-buy-import tbody:nth-child(2) vn-autocomplete[ng-model="buy.itemFk"]',
        secondImportedItem: 'vn-entry-buy-import tbody:nth-child(3) vn-autocomplete[ng-model="buy.itemFk"]',
        thirdImportedItem: 'vn-entry-buy-import tbody:nth-child(4) vn-autocomplete[ng-model="buy.itemFk"]',
        fourthImportedItem: 'vn-entry-buy-import tbody:nth-child(5) vn-autocomplete[ng-model="buy.itemFk"]',
        importBuysButton: 'vn-entry-buy-import button[type="submit"]'
    },
    entryLatestBuys: {
        firstBuy: 'vn-entry-latest-buys vn-tbody > a:nth-child(1)',
        allBuysCheckBox: 'vn-entry-latest-buys vn-thead vn-check',
        secondBuyCheckBox: 'vn-entry-latest-buys a:nth-child(2) vn-check[ng-model="buy.checked"]',
        editBuysButton: 'vn-entry-latest-buys vn-button[icon="edit"]',
        fieldAutocomplete: 'vn-autocomplete[ng-model="$ctrl.editedColumn.field"]',
        newValueInput: 'vn-textfield[ng-model="$ctrl.editedColumn.newValue"]',
        latestBuysSectionButton: 'a[ui-sref="entry.latestBuys"]',
        acceptEditBuysDialog: 'button[response="accept"]'
    },
    entryIndex: {
        createEntryButton: 'vn-entry-index vn-button[icon="add"]',
        newEntrySupplier: 'vn-entry-create vn-autocomplete[ng-model="$ctrl.entry.supplierFk"]',
        newEntryTravel: 'vn-entry-create vn-autocomplete[ng-model="$ctrl.entry.travelFk"]',
        newEntryCompany: 'vn-entry-create vn-autocomplete[ng-model="$ctrl.entry.companyFk"]',
        saveNewEntry: 'vn-entry-create button[type="submit"]'
    },
    entryObservations: {
        addNewObservation: 'vn-entry-observation vn-icon-button[icon="add_circle"]',
        firstObservationType: 'vn-entry-observation vn-horizontal:nth-child(1) > vn-autocomplete[ng-model="observation.observationTypeFk"]',
        secondObservationType: 'vn-entry-observation vn-horizontal:nth-child(2) > vn-autocomplete[ng-model="observation.observationTypeFk"]',
        firstObservationDescription: 'vn-entry-observation vn-horizontal:nth-child(1) > vn-textfield[ng-model="observation.description"]',
        secondObservationDescription: 'vn-entry-observation vn-horizontal:nth-child(2) > vn-textfield[ng-model="observation.description"]',
        saveObservationsButton: 'vn-entry-observation vn-submit > button'
    },
    supplierSummary: {
        header: 'vn-supplier-summary > vn-card > h5',
        basicDataId: 'vn-supplier-summary vn-label-value[label="Id"]',
        fiscalAddressTaxNumber: 'vn-supplier-summary vn-label-value[label="Tax number"]',
        billingDataPayMethod: 'vn-supplier-summary vn-label-value[label="Pay method"]'
    },
    supplierDescriptor: {
        alias: 'vn-supplier-descriptor vn-label-value[label="Alias"]',
        clientButton: 'vn-supplier-descriptor vn-icon[icon="person"]',
        entriesButton: 'vn-supplier-descriptor vn-icon[icon="icon-entry"]',
    },
    supplierContact: {
        anyContact: 'vn-supplier-contact > form > vn-card > div',
        addNewContact: 'vn-supplier-contact vn-icon[icon="add_circle"]',
        thirdContactName: 'vn-supplier-contact div:nth-child(3) vn-textfield[ng-model="contact.name"]',
        thirdContactPhone: 'vn-supplier-contact div:nth-child(3) vn-textfield[ng-model="contact.phone"]',
        thirdContactMobile: 'vn-supplier-contact div:nth-child(3) vn-textfield[ng-model="contact.mobile"]',
        thirdContactEmail: 'vn-supplier-contact div:nth-child(3) vn-textfield[ng-model="contact.email"]',
        thirdContactNotes: 'vn-supplier-contact div:nth-child(3) vn-textfield[ng-model="contact.observation"]',
        saveButton: 'vn-supplier-contact button[type="submit"]',
        thirdContactDeleteButton: 'vn-supplier-contact div:nth-child(3) vn-icon-button[icon="delete"]'
    },
    supplierBasicData: {
        alias: 'vn-supplier-basic-data vn-textfield[ng-model="$ctrl.supplier.nickname"]',
        isSerious: 'vn-supplier-basic-data vn-check[ng-model="$ctrl.supplier.isSerious"]',
        isActive: 'vn-supplier-basic-data vn-check[ng-model="$ctrl.supplier.isActive"]',
        notes: 'vn-supplier-basic-data vn-textarea[ng-model="$ctrl.supplier.note"]',
        saveButton: 'vn-supplier-basic-data button[type="submit"]',
    },
    supplierFiscalData: {
        socialName: 'vn-supplier-fiscal-data vn-textfield[ng-model="$ctrl.supplier.name"]',
        taxNumber: 'vn-supplier-fiscal-data vn-textfield[ng-model="$ctrl.supplier.nif"]',
        account: 'vn-supplier-fiscal-data vn-textfield[ng-model="$ctrl.supplier.account"]',
        sageTaxType: 'vn-supplier-fiscal-data vn-autocomplete[ng-model="$ctrl.supplier.sageTaxTypeFk"]',
        sageWihholding: 'vn-supplier-fiscal-data vn-autocomplete[ng-model="$ctrl.supplier.sageWithholdingFk"]',
        postCode: 'vn-supplier-fiscal-data vn-datalist[ng-model="$ctrl.supplier.postCode"]',
        city: 'vn-supplier-fiscal-data vn-datalist[ng-model="$ctrl.supplier.city"]',
        province: 'vn-supplier-fiscal-data vn-autocomplete[ng-model="$ctrl.supplier.provinceFk"]',
        country: 'vn-supplier-fiscal-data vn-autocomplete[ng-model="$ctrl.supplier.countryFk"]',
        saveButton: 'vn-supplier-fiscal-data button[type="submit"]',
    },
    supplierBillingData: {
        payMethod: 'vn-supplier-billing-data vn-autocomplete[ng-model="$ctrl.supplier.payMethodFk"]',
        payDem: 'vn-supplier-billing-data vn-autocomplete[ng-model="$ctrl.supplier.payDemFk"]',
        payDay: 'vn-supplier-billing-data vn-input-number[ng-model="$ctrl.supplier.payDay"]',
        saveButton: 'vn-supplier-billing-data button[type=submit]'
    }
};