Full-Stack Developer Needed for Custom Pet Care Booking System
Bütçe: $3000.0
FIXED /
⭐ 0.00 (0)
United States
php, javascript, wordpress, mysql
Preferred qualifications
- Experience: Intermediate
Project overview
Dog Grooming and Daycare is looking for a developer to build a lightweight, mobile-friendly booking system to replace Calendly.
We do not need a large business-management platform such as Gingr. We want a simple, clean system designed around our actual workflow, with an easy booking experience for customers and a straightforward administrative calendar for employees.
The system will support three primary services:
* Grooming
* Daycare
* Boarding
Customer booking experience
Customers should be able to select a service and complete the appropriate booking process from a mobile phone or desktop computer.
The booking system should collect:
* Client name
* Phone number
* Email address
* Dog’s name
* Breed
* Size or weight category
* Basic notes or relevant information
* Vaccination records
The required vaccinations are:
* DHPP
* Bordetella
* Rabies
Customers should be able to upload vaccination documents during booking. Administrators should be able to review those documents, record vaccination expiration dates, and mark records as approved, expired, or pending.
The system should support multiple dogs under one customer profile.
1.Grooming
For grooming appointments, customers should be able to:
* Select their dog’s size
* Enter their dog’s name and breed
* Select an available date and appointment time
* Upload vaccination records
* Select optional add-ons
Initial add-ons include:
* Teeth Brushing
* Anal Gland Expression
* De-shedding Treatment
* Flea & Tick Shampoo
Administrators must be able to create, edit, deactivate, and price additional add-ons in the future without requiring code changes.
Grooming services, sizes, appointment durations, prices, deposits, and availability rules should be configurable from the administrative dashboard.
2.Daycare
Customers should be able to select a daycare date and one of the following options:
* Half Day — $45
* Full Day — $60
* Extended Hours — $75
Administrators should be able to update these names and prices.
The system should maintain a configurable maximum daycare capacity for each day. Administrators should also be able to close daycare bookings for a particular date without affecting grooming or boarding availability.
3.Boarding
Customers should be able to select:
* Drop-off date
* Estimated drop-off time
* Pick-up date
* Estimated pick-up time
* Number of dogs
No additional boarding options or add-ons are required for the initial release.
Administrators should be able to establish maximum boarding capacity, close individual dates, and prevent bookings once capacity has been reached.
Scheduling and employee availability
The grooming calendar must use resource-based scheduling.
Each groomer should have:
* Individual working days
* Individual working hours
* Days off
* Blocked time
* Services they are authorized to perform
Appointment availability should be calculated according to the groomers working during that period.
Examples:
* One groomer available means one grooming appointment can be accepted during that period.
* Two groomers available means two appointments may be accepted at the same time.
* Blocking one groomer should not close availability for another groomer.
* An administrator must be able to reduce or increase capacity for a particular time or date.
* An administrator must be able to close one appointment time without closing the entire day.
The system must support different scheduling patterns by day of the week. For example:
* Weekday appointments may follow one interval or schedule.
* Saturday may follow a separate appointment schedule.
* Each service may be available on different days.
* Specific dates may override the normal weekly schedule.
Appointment durations should be configurable according to service, dog size, or other administrator-defined settings.
The system must prevent accidental overbooking, including cases where multiple customers attempt to reserve the final available opening simultaneously.
Stripe deposit integration
Grooming appointments require a $50 deposit.
The booking process should work as follows:
1. The customer selects an available grooming appointment.
2. The system temporarily holds the opening while the customer completes payment.
3. The customer agrees to deposit and cancellation policy.
4. The customer pays the $50 deposit through Stripe account.
5. The appointment becomes confirmed only after the backend verifies successful payment through Stripe.
6. If payment fails, is canceled, or the checkout session expires, the temporary appointment hold is released.
The deposit agreement will state:
“Deposits are non-refundable. The deposit will be applied toward the final cost of the groom. Deposits may be transferred to a rescheduled appointment if the appointment is rescheduled at least 48 hours before the original appointment.”
The exact policy language may be updated before launch.
Administrators should be able to:
* See whether a deposit was paid
* See the Stripe transaction identifier
* Transfer a deposit to a rescheduled appointment
* Issue a refund when authorized
* Waive the deposit for a manually created appointment
* Configure the deposit amount in the future
The system should not store raw card information. Payment information should be handled through Stripe.
Appointment statuses
Appointments should support the following statuses:
* Awaiting payment
* Pending review
* Confirmed
* Rescheduled
* Canceled
* Completed
* No-show
The appointment history should retain status changes rather than permanently deleting canceled or rescheduled appointments.
Administrative dashboard
Employees should be able to:
* View today’s appointments
* View a weekly calendar
* View upcoming appointments
* Filter appointments by service
* Filter grooming appointments by groomer
* Create an appointment manually
* Assign or reassign a groomer
* Reschedule an appointment
* Cancel an appointment
* Block individual times
* Block a groomer’s schedule
* Close an entire date
* Change daily capacity
* View payment and deposit status
* Access customer and dog records
* Access vaccination documents
* View appointment history
* Add internal notes
The interface should be usable on both desktop computers and mobile devices.
Different staff accounts should have appropriate permissions. Administrative settings and payment actions should be restricted to authorized users.
Notifications
The initial system should send email notifications for:
* Appointment confirmation
* Appointment rescheduling
* Appointment cancellation
* Upcoming appointment reminders
* Payment confirmation
The system should be structured so SMS reminders can be added later.
## Security and file storage
Vaccination documents and customer information must be stored securely.
The system should include:
* Secure staff authentication
* Restricted access to customer records
* Secure document storage
* HTTPS
* Database backups
* Protection against unauthorized file access
* Logging for important administrative and payment actions
Deliverables
The project should include:
* Customer-facing booking website
* Administrative dashboard and calendar
* Stripe integration
* Customer and dog database
* Vaccination-document storage
* Email notifications
* Deployment to a production hosting environment
* Basic testing
* Documentation explaining how to operate the system
* Documentation explaining how to deploy and maintain it
* Source-code ownership transferred to PetStar
* Access to all hosting, database, payment, email, and storage accounts
Please include the following in your response:
* Examples of relevant booking, scheduling, or Stripe projects
* Recommended technology stack
* Proposed development phases
* Estimated project cost
* Estimated ongoing hosting and maintenance costs
* What is included in post-launch support
* Any questions or concerns about the scheduling and capacity requirements
Upwork'te aç
AI proposal draft
Generate a short cover letter for this job. Edit before sending.
Sign in to generate an AI proposal draft.
Giriş yap