How your records relate
Almost everything in OmniBurrow hangs off four record types: rabbits, litters, contacts, and transactions. Kits and phenotype buckets live inside a litter until you graduate the ones you keep into full rabbit records. Once that clicks, the rest of the app stops needing explanation — and you can predict what a given action will change.
The four backbones
Rabbits are the individual animals. A rabbit carries its own identity (name, ear tag, registration), its breed and variety, its dates, its parents, and everything recorded against it over time: weights, health events, photos, show entries, line membership.
Litters are breedings and their outcomes: sire, dam, dates, counts, and the kits produced.
Contacts are the people — buyers, other breeders, suppliers.
Transactions are the money — income and expenses, including the rows the sale flow creates for you.
Everything else attaches to one of those four. A weight belongs to a rabbit. A treatment belongs to a rabbit. A deposit belongs to a contact. A grow-out group gathers rabbits. A line groups rabbits.
Litters, kits, and buckets
Inside a litter you have two ways to record the young, and you can mix them:
- Tracked kits are individual records — one per kit. Use them when you need per-animal detail: weights, who you are keeping, individual sales.
- Phenotype buckets are counted groups of look-alike kits: "4 broken black does". No individual records, just a count and a description. Use them when the count is all you need.
Neither is a rabbit yet. Both live inside the litter.
Graduation is the bridge
Graduation turns a kit — or one animal out of a bucket — into a full rabbit record. It inherits its parents, breed, variety, and date of birth from the litter, so you are not retyping what the litter already knows.
This is the single most useful thing to understand about the model:
Litter ──┬── tracked kit ──────┐
│ ├── graduate ──▶ Rabbit ──▶ weights, health,
└── phenotype bucket ─┘ pedigree, shows, sale
The litter keeps its history and counts after graduation. Nothing is moved or lost; a new rabbit record is created and linked back.
Pedigrees are derived, not stored
A pedigree is not a document you build or maintain. It is generated from the parent links on your rabbit records, every time you view it.
That has a consequence worth internalising: fix a parent once and every descendant's pedigree is correct. If you discover a sire was recorded wrong three generations back, you correct that one record — you do not go hunting through pedigrees. The same is true of coefficient of inbreeding, which is computed from the same links.
Money, people, and animals meet at a sale
A sale is where three of the four backbones join up:
Contact (buyer) ──┐
├── Sale ──▶ Transaction (the money)
Rabbit (sold) ────┘ └── optional: deposit applied, pedigree transfer, receipt email
- A deposit is taken against a contact and can be credited to the sale later, so the same money is never counted twice.
- The sale is the financial record of truth — it is what the finance ledger and profitability analytics read.
- Selling can also hand the buyer the rabbit's pedigree, which is a transfer to their account rather than a file.
Because the sale is the record of truth, undoing one has to reverse all of it — the status, the transaction, the deposit, the waitlist entry, the transfer. It does, in one action. See Deposits & Sales.
What happens when you delete something
Two different things, and the difference matters:
- Archiving or removing a record in normal use hides it from your lists but keeps it in your data, because things point at it. A sold rabbit still needs to exist for its kits' pedigrees to make sense, and for last year's finances to still add up.
- Deleting your data from the account screen is the real thing — it removes it. That is irreversible and asks you to type a confirmation. See Backup, Export & Deletion.
The practical upshot: you cannot orphan a pedigree by tidying up your herd list.