{
	"name": "Client",
	"base": "Loggable",
	"log": {
		"model":"ClientLog",
		"showField": "id"
	},
	"options": {
		"mysql": {
			"table": "client"
		}
	},
	"properties": {
		"id": {
			"type": "Number",
			"id": true,
			"description": "Identifier"
		},
		"name": {
			"type": "string",
			"required": true
		},
		"fi": {
			"type": "string",
			"description": "Fiscal indentifier"
		},
		"socialName": {
			"type": "string",
			"required": true
		},
		"contact": {
			"type": "string"
		},
		"street": {
			"type": "string",
			"required": true
		},
		"city": {
			"type": "string",
			"required": true
		},
		"postcode": {
			"type": "string"
		},
		"email": {
			"type": "string"
		},
		"phone": {
			"type": "string"
		},
		"mobile": {
			"type": "string"
		},
		"isActive": {
			"type": "boolean"
		},
		"credit": {
			"type": "Number"
		},
		"creditInsurance": {
			"type": "Number"
		},
		"iban": {
			"type": "string"
		},
		"dueDay": {
			"type": "Number"
		},
		"isEqualizated": {
			"type": "boolean",
			"description": "The client has equalization tax"
		},
		"isFreezed": {
			"type": "boolean",
			"description": "The client frozen"
		},
		"hasToInvoiceByAddress": {
			"type": "boolean",
			"description": "The client has to be invoiced by address"
		},
		"hasToInvoice": {
			"type": "boolean",
			"description": "Global invoicing enabled for the client"
		},
		"isToBeMailed": {
			"type": "boolean",
			"description": "Send invoices by email"
		},
		"hasSepaVnl": {
			"type": "boolean"
		},
		"hasLcr": {
			"type": "boolean"
		},
		"hasCoreVnl": {
			"type": "boolean"
		},
		"hasCoreVnh": {
			"type": "boolean"
		},
		"isTaxDataChecked":{
			"type": "boolean"
		},
		"eypbc": {
			"type": "boolean"
		},
		"quality": {
			"type": "Number"
		},
		"isVies": {
			"type": "boolean"
		},
		"isRelevant": {
			"type": "boolean"
		},
		"accountingAccount": {
			"type": "string"
		},
		"created": {
			"type": "Date"
		}
	},
	"relations": {
		"account": {
			"type": "belongsTo",
			"model": "Account",
			"foreignKey": "id"
		},
		"payMethod": {
			"type": "belongsTo",
			"model": "PayMethod",
			"foreignKey": "payMethodFk"
		},
		"salesPerson": {
			"type": "belongsTo",
			"model": "Worker",
			"foreignKey": "salesPersonFk"
		},
		"province": {
			"type": "belongsTo",
			"model": "Province",
			"foreignKey": "provinceFk"
		},
		"country": {
			"type": "belongsTo",
			"model": "Country",
			"foreignKey": "countryFk"
		},
		"contactChannel": {
			"type": "belongsTo",
			"model": "ContactChannel",
			"foreignKey": "contactChannelFk"
		},
		"type": {
			"type": "belongsTo",
			"model": "ClientType",
			"foreignKey": "clientTypeFk"
		},
		"addresses": {
			"type": "hasMany",
			"model": "Address",
			"foreignKey": "clientFk"
		},
		"greuge": {
			"type": "hasMany",
			"model": "Greuge",
			"foreignKey": "clientFk"
		},
		"classifications": {
			"type": "hasMany",
			"model": "CreditClassification",
			"foreignKey": "client"
		},
		"defaultAddress": {
			"type": "belongsTo",
			"model": "Address",
			"foreignKey": "defaultAddressFk"
		},
		"contacts": {
			"type": "hasMany",
			"model": "ClientContact",
			"foreignKey": "clientFk"
		},
		"bank": {
			"type": "belongsTo",
			"model": "BankEntity",
			"foreignKey": "bankEntityFk"
		},
		"defaulters": {
			"type": "hasMany",
			"model": "Defaulter",
			"foreignKey": "clientFk"
		},
		"clientRisks": {
			"type": "hasMany",
			"model": "ClientRisk",
			"foreignKey": "clientFk"
		},
		"claimsRatio": {
			"type": "hasOne",
			"model": "ClaimRatio",
			"foreignKey": "clientFk"
		}
	}
}