{
  "name": "Payment_Invoice",
  "base": "PersistedModel",
  "idInjection": true,
  "properties": {
    "prefix":{
      "type": "string",
      "required": true
    },
    "amount":{
      "type": "number",
      "required": true
    },
    "currency":{
      "type": "string",
      "required": true
    },
    "number":{
      "type": "number",
      "required": true
    },
    "customerId":{
      "type": "string",
      "required": true
    }
  },
  "relations":{
    "customer": {
      "type": "belongsTo",
      "model": "Role_Customer",
      "foreignKey": "customerId"
    },
    "payments": {
        "type": "hasMany",
        "model": "Payment_Method",
        "foreignKey": "invoiceId"
    },
    "items": {
      "type": "embedsMany",
      "model": "Payment_Invoice_Item",
      "property": "itemList",
      "options": {
        "validate": true,
        "forceId": false
      }
    }
  },
  "mixins": {
    "TimeStamp": true
  },
  "indexes": {
    "unique": {
      "keys": {
        "prefix": 1,
        "number": 1
      },
      "options": {
        "unique": true
      }
    }
  }
}
