Loading...

Animal Villa

animalvilla.org

{{ authError }}

Animal Villa

animalvilla.org

No animals currently boarding

Check in a pet to get started

🐶

{{ dog.dogName }}

Boarding

Owner: {{ dog.ownerName }}

Breed

{{ dog.breed }}

Age

{{ dog.age }}

Checked In

{{ formatDate(dog.checkInDate) }}

Expected Out

{{ formatDate(dog.expectedCheckOut) }}

$${{ dog.ratePerNight }}/night

$${{ getEstimatedTotal(dog.checkInDate, dog.expectedCheckOut, dog.ratePerNight).toFixed(2) }}

{{ getEstimatedTotal(dog.checkInDate, dog.expectedCheckOut, dog.ratePerNight) }} nights

{{ dog.documentName }}

Notes

{{ dog.notes }}

📱 {{ dog.ownerPhone }} 🕐 {{ formatRelative(dog.checkInDate) }}

Check In a New Pet

Dog photo

Add photo

×
Estimated Total ${{ calculatedTotal.toFixed(2) }}

{{ calculatedNights }} night{{ calculatedNights !== 1 ? 's' : '' }} × ${{ form.ratePerNight || 0 }}/night

{{ uploadedDocName }}

No conversations yet

Chat threads appear when you check in a dog

{{ chatVisits.length }} conversation{{ chatVisits.length !== 1 ? 's' : '' }}

🐶

{{ cv.visit.dogName }}

{{ cv.visit.ownerName }}

{{ formatMessageTime(cv.lastMessage.createdAt) }}

{{ cv.unreadCount }}

{{ cv.lastMessage.senderId === user.uid ? 'You' : cv.visit.ownerName }}: {{ cv.lastMessage.text }}

No messages yet — start the conversation

🐶

{{ selectedChatVisit.dogName }}

{{ selectedChatVisit.ownerName }}

No messages yet. Say hello!

{{ msg.text }}

{{ formatMessageTime(msg.createdAt) }}

No history yet

Completed visits will appear here

{{ history.length }} completed visit{{ history.length !== 1 ? 's' : '' }}

{{ visit.dogName }}

Completed

{{ visit.ownerName }}

{{ formatDate(visit.checkInDate) }} → {{ formatDate(visit.checkOutDate) }}

{{ getStayDuration(visit.checkInDate, visit.checkOutDate) }}

Check Out {{ selectedDog?.dogName }}

Confirm check-out details

Final Total ${{ calcCheckoutTotal().toFixed(2) }}

{{ calcCheckoutNights() }} night{{ calcCheckoutNights() !== 1 ? 's' : '' }} × ${{ selectedDog.ratePerNight }}/night

{{ toast.message }}