Boarding invoicing

Description

From http://www.openvpms.org/project/boarding-invoicing

This project will simplify the invoicing of customers for boarding services.

It will:

  • automatically charge pets based on the number of nights that a pet has boarded for at Check-Out

  • allow multiple pets to be housed in a single kennel/cage, charged at different rates e.g.:

    • Luxury Suite Charge - $65/day

    • Luxury Suite 2nd Pet - $30/day

  • support day and overnight boarding rates

  • support a late-checkout charge

  • prompt to check-out all patients belonging to a customer

  • ensure that only a single Visit is created for pets staying for an extended period

Cage Types

To support boarding invoicing, appointment schedules may have an optional Cage Type. This contains:

  • Name - the name of the Cage Type

  • First Pet Product - Day - the product that is charged for day boarding

  • Second Pet Product - Day - the product that is charged for day boarding for other pets belonging to the same customer in the same cage (i.e. the first pet is charged using the First Pet Product - Day). Optional

  • First Pet Product - Overnight - the product that is charged per night for one pet.

  • Second Pet Product - Overnight the product that is charged per night for other pets belonging to the same customer in the same cage (i.e. the first pet is charged using the First Pet Product - Overnight). Optional.

  • Late Checkout Time - the time after which a fee is charged for late checkout. Optional.

  • Late Checkout Product - the product that is charged for late checkout. Optional.

The products may be templates with weight rules, in order to support weight-based charging.

E.g. a Cage Type might look like:

  • Name: Small Cat Cage

  • First Pet Product - Day: Cat Boarding - Day Rate

  • Second Pet Product - Day: Cat Boarding - 2nd Pet Day Rate

  • First Pet Product - Overnight: Cat Boarding - O/N Rate

  • Second Pet Product - Overnight: Cat Boarding - 2nd Pet O/N Rate

  • Late Checkout Time: 5:30pm

  • Late Checkout Product: Boarding - Late Checkout

Check-In

On check-in, a new Visit will always be created for the pet. Any existing Visit will be marked Completed. This is necessary to ensure that pets can be charged based on the length of their Visit.

Check-Out

Check-Out will be extended to:

  • prompt to check out any other patients the customer has appointments for, that are due for check out on the same day

  • automatically invoice boarding charges for each patient, as per the rules below

  • automatically invoice boarding charges if Check-Out is performed from a Work-List Task.

A link will be required between the patient visit and the boarding appointment to support this.

Invoicing Rules

All charges based on the time of check-in, and time of check-out. The appointment times are not used charging purposes.

Single Pet

Single pets are charged the First Pet Product - Day, if they check-in and out on the same day.
If they stay multiple days, they are charged First Pet Product - Overnight, with the quantity determined set to the number of days beween the current date and the pet's visit date. Any time is ignored.

Multiple Pets, Same Cage

If a customer has multiple pets in the same cage, and the pets are entering and leaving on the same days:

  • The heaviest pet is charged as per the Single Pet rule above. The heaviest pet is selected to ensure that weight based templates are applied uniformly.

  • For single day stay, subsequent pets in the cage are charged Second Pet Product - Day, if present. If none is defined, they will be charged First Pet Product - Day.

  • For multiple day stay, subsequent pets in the cage are charged Second Pet Product - Overnight, if present. If none is defined, they will be charged First Pet Product - Overnight.

Multiple Pets, Same Cage, Different Days.

If a customer has multiple pets in the same cage, but the pets are entering and leaving on the different days, the Single Pet rule above applies to each pet.

Multiple Pets, Different Cages

Multiple pets in different cages are each charged using the Single Pet rule above.

Late Checkout

If a Cage Type specifies a Late Checkout Time and Late Checkout Product, and the time at checkout is greater, then the Late Checkout Product will be charged, with quantity 1.

Note:

  • the late checkout charge does not apply if the pet overstays, but leaves before the Late Checkout Time. It will be charged for the additional day(s) using the rules above.

  • if a customer does a late checkout and has multiple pets, the Late Checkout Product for each Cage Type may be charged to the invoice.

Exclusions

This project does not support:

  • hourly based boarding charges

  • different rates for extended stays

  • surcharges if a patient stays a day or more beyond their scheduled departure date. Patients will be charged the relevant product for each additional day.

  • surcharges if a patient leaves before their scheduled departure date. Patients will only be charged for the days stayed

  • multi-pet rates if a customer's pet stay in the same cage, but check-in/check-out on different days.

  • limits of pets per cage. The Allow Double Booking Flag on the Schedule will be used to indicate that a cage supports multiple pets, but not the maximum number.

Environment

None

Status

Assignee

Tim Anderson

Reporter

Tim Anderson

Labels

None

Components

Fix versions

Priority

Major
Configure