Species-filtered catalog + dosage-by-weight, how do you architect it?

Magento configurable products with EAV attributes for species, form factor, concentration, and a dosage calculator. Architecture:

  • Species attribute, multi-select EAV (canine, feline, equine, bovine, porcine, ovine, caprine, avian, exotic). Multi-select because some drugs are approved for multiple species at different dosing.
  • Form factor, tablet, chewable, oral suspension, injectable IM, injectable IV, topical, transdermal, ophthalmic, otic. Drives the PDP UI (oral has weight-based dosing slider, injectable shows draw volume).
  • Concentration, mg/ml for liquids, mg/tab for solids. Used by the dosage calculator.
  • Indication tags, antibiotic, NSAID, sedative, antiparasitic, etc. Drives faceted search and clinical decision-support.

Dosage calculator on PDP: vet enters patient weight (kg or lb), the calculator surfaces the correct dose for the selected species + indication. For a 22kg dog needing meloxicam (NSAID, dose 0.1 mg/kg q24h), the calculator surfaces “2.2 mg per dose, take 2 of the 1mg tablets” and adds the right quantity to cart. Drives faster ordering + fewer dosing errors.

Large-animal pricing tier: equine (horse) and bovine (cattle) orders are typically larger volume + lower margin than companion-animal. Customer-group-based pricing surfaces equine/bovine SKUs at a different margin to clinics that have flagged themselves as large-animal.

Exotic-vet pricing: exotic vets (reptiles, birds, fish, small mammals) often need off-label dosing + smaller pack sizes. A “exotic-vet” customer group unlocks small-pack SKUs hidden from companion-animal clinics. Niche but high-loyalty.

Kishan Savaliya
Kishan Savaliya
Adobe Certified Magento Commerce Developer
Ahmedabad [IN]working hours, replies within four hours
When do you need it

Read personally. Never shared. Or email the brief.

More on magento for veterinary supplies

Need it fixed, not just explained?

Send the brief with your store URL; the written quote comes back within 24 hours.