{
    "module": "client",
    "name": "Clients",
    "icon": "person",
    "validations" : true,
    "dependencies": ["worker", "invoiceOut"],
    "menus": {
        "main": [
            {"state": "client.index", "icon": "person"},
            {"state": "client.extendedList", "icon": "person"},
            {"state": "client.notification", "icon": "campaign"},
            {"state": "client.defaulter", "icon": "icon-defaulter"}
        ],
        "card": [
            {"state": "client.card.basicData", "icon": "settings"},
            {"state": "client.card.fiscalData", "icon": "account_balance"},
            {"state": "client.card.billingData", "icon": "icon-payment"},
            {"state": "client.card.address.index", "icon": "icon-delivery"},
            {"state": "client.card.note.index", "icon": "insert_drive_file"},
            {"state": "client.card.credit.index", "icon": "credit_card"},
            {"state": "client.card.greuge.index", "icon": "work"},
            {"state": "client.card.balance.index", "icon": "icon-invoice"},
            {"state": "client.card.recovery.index", "icon": "icon-recovery"},
            {"state": "client.card.webAccess", "icon": "cloud"},
            {"state": "client.card.log", "icon": "history"},
            {"state": "client.card.sms", "icon": "sms"},
            {
                "description": "Credit management",
                "icon": "monetization_on",
                "childs": [
                    {"state": "client.card.creditInsurance.index", "icon": "icon-solunion"},
                    {"state": "client.card.creditManagement", "icon": "contact_support"}
                ]
            },
            {
                "description": "Others",
                "icon": "more",
                "childs": [
                    {"state": "client.card.sample.index", "icon": "mail"},
                    {"state": "client.card.consumption", "icon": "show_chart"},
                    {"state": "client.card.mandate", "icon": "pan_tool"},
                    {"state": "client.card.contact", "icon": "contact_phone"},
                    {"state": "client.card.webPayment", "icon": "icon-onlinepayment"},
                    {"state": "client.card.dms.index", "icon": "cloud_upload"},
                    {"state": "client.card.unpaid", "icon": "icon-defaulter"}
                ]
            }
        ]
    },
    "keybindings": [
        {"key": "c", "state": "client.index"}
    ],
    "routes": [
        {
            "url": "/client",
            "state": "client",
            "abstract": true,
            "component": "vn-client",
            "description": "Clients",
            "acl": ["employee"]
        },
        {
            "url": "/index?q",
            "state": "client.index",
            "component": "vn-client-index",
            "description": "Clients"
        },
        {
            "url": "/create",
            "state": "client.create",
            "component": "vn-client-create",
            "description": "New client"
        },
        {
            "url": "/:id?sendSMS&phone&message",
            "state": "client.card",
            "abstract": true,
            "component": "vn-client-card"
        },
        {
            "url": "/summary",
            "state": "client.card.summary",
            "component": "vn-client-summary",
            "description": "Summary",
            "params": {
                "client": "$ctrl.client"
            }
        },
        {
            "url": "/basic-data",
            "state": "client.card.basicData",
            "component": "vn-client-basic-data",
            "description": "Basic data",
            "params": {
                "client": "$ctrl.client"
            }
        },
        {
            "url": "/fiscal-data",
            "state": "client.card.fiscalData",
            "component": "vn-client-fiscal-data",
            "description": "Fiscal data",
            "params": {
                "client": "$ctrl.client"
            }
        },
        {
            "url": "/billing-data",
            "state": "client.card.billingData",
            "component": "vn-client-billing-data",
            "description": "Billing data",
            "params": {
                "client": "$ctrl.client"
            }
        },
        {
            "url": "/address",
            "state": "client.card.address",
            "component": "ui-view",
            "abstract": true
        },
        {
            "url": "/index?q",
            "state": "client.card.address.index",
            "component": "vn-client-address-index",
            "description": "Consignees",
            "params": {
                "client": "$ctrl.client"
            }
        },
        {
            "url": "/create",
            "state": "client.card.address.create",
            "component": "vn-client-address-create",
            "description": "New address",
            "params": {
                "client": "$ctrl.client"
            }
        },
        {
            "url": "/:addressId/edit",
            "state": "client.card.address.edit",
            "component": "vn-client-address-edit",
            "description": "Edit address"
        },
        {
            "url": "/web-access",
            "state": "client.card.webAccess",
            "component": "vn-client-web-access",
            "description": "Web access",
            "params": {
                "client": "$ctrl.client"
            }
        },
        {
            "url": "/note",
            "state": "client.card.note",
            "component": "ui-view",
            "abstract": true
        },
        {
            "url": "/index",
            "state": "client.card.note.index",
            "component": "vn-client-note",
            "description": "Notes",
            "params": {
                "client": "$ctrl.client"
            }
        },
        {
            "url": "/create",
            "state": "client.card.note.create",
            "component": "vn-note-create",
            "description": "New note"
        },
        {
            "url": "/credit",
            "abstract": true,
            "state": "client.card.credit",
            "component": "ui-view"
        },
        {
            "url": "/index",
            "state": "client.card.credit.index",
            "component": "vn-client-credit-index",
            "description": "Credits",
            "params": {
                "client": "$ctrl.client"
            }
        },
        {
            "url": "/create",
            "state": "client.card.credit.create",
            "component": "vn-client-credit-create",
            "description": "New credit",
            "acl": ["teamBoss"],
            "params": {
                "client": "$ctrl.client"
            }
        },
        {
            "url": "/greuge",
            "abstract": true,
            "state": "client.card.greuge",
            "component": "ui-view"
        },
        {
            "url": "/index",
            "state": "client.card.greuge.index",
            "component": "vn-client-greuge-index",
            "description": "Greuges",
            "params": {
                "client": "$ctrl.client"
            }
        },
        {
            "url": "/create",
            "state": "client.card.greuge.create",
            "component": "vn-client-greuge-create",
            "description": "New greuge",
            "acl": ["salesAssistant", "claimManager"],
            "params": {
                "client": "$ctrl.client"
            }
        },
        {
            "url": "/mandate",
            "state": "client.card.mandate",
            "component": "vn-client-mandate",
            "description": "Mandates"
        },
        {
            "url": "/balance",
            "abstract": true,
            "state": "client.card.balance",
            "component": "ui-view"
        },
        {
            "url": "/index",
            "state": "client.card.balance.index",
            "component": "vn-client-balance-index",
            "description": "Balance",
            "params": {
                "client": "$ctrl.client"
            }
        },
        {
            "url": "/create?payed&companyFk&bankFk&payedAmount",
            "state": "client.card.balance.create",
            "component": "vn-client-balance-create",
            "description": "New payment",
            "params": {
                "client": "$ctrl.client"
            }
        },
        {
            "url": "/recovery",
            "abstract": true,
            "state": "client.card.recovery",
            "component": "ui-view"
        },
        {
            "url": "/index",
            "state": "client.card.recovery.index",
            "component": "vn-client-recovery-index",
            "description": "Recoveries",
            "params": {
                "client": "$ctrl.client"
            }
        },
        {
            "url": "/create",
            "state": "client.card.recovery.create",
            "component": "vn-client-recovery-create",
            "description": "New recovery",
            "params": {
                "client": "$ctrl.client"
            }
        },
        {
            "url": "/credit-insurance",
            "abstract": true,
            "state": "client.card.creditInsurance",
            "component": "ui-view"
        },
        {
            "url": "/index",
            "state": "client.card.creditInsurance.index",
            "component": "vn-client-credit-insurance-index",
            "description": "Credit contracts",
            "params": {
                "client": "$ctrl.client"
            }
        },
        {
            "url": "/create",
            "state": "client.card.creditInsurance.create",
            "component": "vn-client-credit-insurance-create",
            "description": "New insurance",
            "acl": ["insurance"],
            "params": {
                "client": "$ctrl.client"
            }
        },
        {
            "url": "/insurance",
            "abstract": true,
            "state": "client.card.creditInsurance.insurance",
            "component": "ui-view",
            "acl": ["insurance"]
        },
        {
            "url": "/:classificationId/index",
            "state": "client.card.creditInsurance.insurance.index",
            "component": "vn-client-credit-insurance-insurance-index",
            "description": "Requested credits",
            "acl": ["insurance"],
            "params": {
                "client": "$ctrl.client"
            }
        },
        {
            "url": "/:classificationId/create",
            "state": "client.card.creditInsurance.insurance.create",
            "component": "vn-client-credit-insurance-insurance-create",
            "description": "New credit",
            "acl": ["insurance"],
            "params": {
                "client": "$ctrl.client"
            }
        },
        {
            "url": "/contact",
            "state": "client.card.contact",
            "component": "vn-client-contact",
            "description": "Contacts",
            "params": {
                "client": "$ctrl.client"
            }
        },
        {
            "url": "/sample",
            "abstract": true,
            "state": "client.card.sample",
            "component": "ui-view"
        },
        {
            "url": "/index",
            "state": "client.card.sample.index",
            "component": "vn-client-sample-index",
            "description": "Samples",
            "params": {
                "client": "$ctrl.client"
            }
        },
        {
            "url": "/create",
            "state": "client.card.sample.create",
            "component": "vn-client-sample-create",
            "description": "Send sample",
            "params": {
                "client": "$ctrl.client"
            }
        },
        {
            "url": "/web-payment",
            "state": "client.card.webPayment",
            "component": "vn-client-web-payment",
            "description": "Web Payment"
        },
        {
            "url" : "/log",
            "state": "client.card.log",
            "component": "vn-client-log",
            "description": "Log"
        },
        {
            "url" : "/sms",
            "state": "client.card.sms",
            "component": "vn-client-sms",
            "description": "Sms"
        },
        {
            "url": "/dms",
            "state": "client.card.dms",
            "abstract": true,
            "component": "ui-view"
        },
        {
            "url": "/index",
            "state": "client.card.dms.index",
            "component": "vn-client-dms-index",
            "description": "File management"
        },
        {
            "url": "/create",
            "state": "client.card.dms.create",
            "component": "vn-client-dms-create",
            "description": "Upload file",
            "params": {
                "client": "$ctrl.client"
            }
        },
        {
            "url": "/:dmsId/edit",
            "state": "client.card.dms.edit",
            "component": "vn-client-dms-edit",
            "description": "Edit file",
            "params": {
                "client": "$ctrl.client"
            }
        },
        {
            "url": "/consumption?q",
            "state": "client.card.consumption",
            "component": "vn-client-consumption",
            "description": "Consumption",
            "params": {
                "client": "$ctrl.client"
            }
        },
        {
            "url": "/defaulter?q",
            "state": "client.defaulter",
            "component": "vn-client-defaulter",
            "description": "Defaulter"
        },
        {
            "url" : "/notification?q",
            "state": "client.notification",
            "component": "vn-client-notification",
            "description": "Notifications"
        },
        {
            "url": "/unpaid",
            "state": "client.card.unpaid",
            "component": "vn-client-unpaid",
            "acl": ["administrative"],
            "description": "Unpaid"
        },
        {
            "url": "/extended-list?q",
            "state": "client.extendedList",
            "component": "vn-client-extended-list",
            "description": "Extended list"
        },
        {
            "url": "/credit-management",
            "state": "client.card.creditManagement",
            "component": "vn-client-credit-management",
            "acl": ["financial"],
            "description": "Credit opinion"
        }
    ]
}