details:
    type: familyRelationship
    name: Relationships
    category: Family
    table: gibbonFamilyRelationship
    modes: { update: true, insert: true, export: true }
access:
    module: User Admin
    action: Manage Families
primaryKey:
    gibbonFamilyRelationshipID
uniqueKeys:
    - [ gibbonFamilyID, gibbonPersonID1, gibbonPersonID2 ]
table:
    gibbonFamilyID: 
        name: "Family Sync Key"
        desc: "Unique ID for family, according to source system."
        args: { filter: string, required: true }
        relationship: { table: gibbonFamily, key: gibbonFamilyID, field: familySync  }
    gibbonPersonID1: 
        name: "Adult"
        desc: "Username or Email (if unique)"
        args: { filter: string, required: true }
        relationship: { table: gibbonPerson, key: gibbonPersonID, field: username|email  }
    gibbonPersonID2: 
        name: "Child"
        desc: "Username or Email (if unique)"
        args: { filter: string, required: true }
        relationship: { table: gibbonPerson, key: gibbonPersonID, field: username|email  }
    relationship: 
        name: "Relationship"
        desc: ""
        args: { filter: string, required: true, custom: true }
