generated: '2026-10-14' method: derived generator: derive-data-model.py source: - openapi/doorloop-api-reference-openapi.yml notation: has_one = property $ref; has_many = array of $ref; belongs_to = _id field summary: entities: 40 entities_in_spec: 40 relationships: 33 entities: - name: Lease fields: 19 - name: account fields: 5 description: Represents an account from the Chart of Accounts - name: address fields: 7 - name: communication fields: 17 - name: communicationParticipant fields: 4 - name: email fields: 2 - name: expense fields: 11 - name: expenseTransactionLine fields: 7 - name: federalTaxInfo fields: 4 - name: file fields: 10 - name: fileLinkedResource fields: 2 - name: fullLeaseCreateLine fields: 3 - name: fullLeaseCreateNewTenant fields: 4 description: Creates a tenant inline, inside the same transaction. De-duplicated by email within the company - the address is matched case-insensitively against existing tenants and stored trimmed and lowercased. - name: fullLeaseCreateOneTime fields: 2 - name: fullLeaseCreateRecurring fields: 4 - name: fullLeaseCreateRent fields: 4 - name: fullLeaseCreateRequest fields: 18 - name: fullLeaseCreateResponse fields: 4 - name: fullLeaseCreateSigningOneTime fields: 3 - name: insuranceInfo fields: 5 - name: leasePayment fields: 21 - name: leaseReversedPayment fields: 0 - name: leaseTenant fields: 11 - name: leaseTransaction fields: 0 - name: leaseTransactionLine fields: 5 - name: note fields: 7 - name: noteLinkedResource fields: 2 - name: owner fields: 0 - name: person fields: 18 - name: phone fields: 2 - name: picture fields: 2 - name: profitAndLossReportItem fields: 2 - name: property fields: 12 - name: propertyGroup fields: 3 - name: task fields: 0 - name: tenant fields: 0 - name: unit fields: 15 - name: user fields: 0 - name: vendor fields: 0 - name: vendorTransaction fields: 10 relationships: - from: unit to: address type: has_one via: address - from: unit to: picture type: has_many via: pictures - from: fullLeaseCreateOneTime to: fullLeaseCreateLine type: has_many via: lines - from: fullLeaseCreateSigningOneTime to: fullLeaseCreateLine type: has_many via: lines - from: fullLeaseCreateRecurring to: fullLeaseCreateLine type: has_many via: lines - from: fullLeaseCreateRent to: fullLeaseCreateLine type: has_many via: lines - from: fullLeaseCreateRequest to: fullLeaseCreateNewTenant type: has_many via: tenants - from: fullLeaseCreateRequest to: fullLeaseCreateRent type: has_one via: rent - from: fullLeaseCreateRequest to: fullLeaseCreateSigningOneTime type: has_many via: securityDeposits - from: fullLeaseCreateRequest to: fullLeaseCreateOneTime type: has_many via: oneTimeCharges - from: fullLeaseCreateRequest to: fullLeaseCreateSigningOneTime type: has_many via: oneTimeCredits - from: fullLeaseCreateRequest to: fullLeaseCreateRecurring type: has_many via: recurringCharges - from: fullLeaseCreateRequest to: fullLeaseCreateRecurring type: has_many via: recurringCredits - from: fullLeaseCreateResponse to: Lease type: has_one via: lease - from: person to: phone type: has_many via: phones - from: person to: email type: has_many via: emails - from: person to: address type: has_one via: primaryAddress - from: property to: address type: has_one via: address - from: property to: picture type: has_many via: pictures - from: leaseTenant to: tenant type: has_one via: tenant - from: leaseTransaction to: leaseTransactionLine type: has_many via: lines - from: owner to: federalTaxInfo type: has_one via: federalTaxInfo - from: federalTaxInfo to: address type: has_one via: addressFor1099 - from: vendor to: insuranceInfo type: has_one via: insuranceInfo - from: vendor to: federalTaxInfo type: has_one via: federalTaxInfo - from: expense to: expenseTransactionLine type: has_many via: lines - from: vendorTransaction to: expenseTransactionLine type: has_many via: lines - from: communication to: communicationParticipant type: has_one via: from - from: communication to: communicationParticipant type: has_many via: to - from: communication to: communicationParticipant type: has_many via: cc - from: communication to: communicationParticipant type: has_many via: bcc - from: note to: noteLinkedResource type: has_one via: linkedResource - from: file to: fileLinkedResource type: has_one via: linkedResource