So, I think (tentatively) bulk shipping of racehorses is done! Hooray!
Note: It might be slow to load, as I’ve done minimal performance tweaking. It should work, though, given enough time. (I’ve had some go through very quickly, and some sit around for quite a few seconds, testing on my machine.)
Interface-wise:
- all your racehorses who are not in transit or entered to race should initially be displayed on the shipping page
- If you select a location (“Filter by Location”), it should narrow down the list to horses at that location, and update the “# of # horses displayed” in the top right
- Filtering by location should also disable those destinations from the list (so if you select “USA” as the location, all destinations in the USA should be greyed out)
- If you select “Select a destination”, it should remove any horses from the list who are at that destination
- Selecting a destination should enable the Cheapest vs Fastest radio option
- “Ship Horses” button should not be enabled until 1) a destination is selected 2) at least one horse is selected 3) cheapest vs fastest is selected
- All form options should revert to default values if you select “Show All” for location filter or “Select a destination” for destination option
Functionality-wise:
- Once you have a valid selection (destination, cost/time option, and horse(s)), you can click “Ship Horses” (which should change icon to be a truck or a plane depending on whether you want cheap or fast )
- You’ll get a confirmation message asking you if you’re sure you want to ship X horses for $Y. $Y should be the maximum you would pay (i.e. the amount you would pay in the current system with no discounts being offered) for all the horses
- If you select “Cancel” on the confirmation, the form should revert to default values
- If you select “Yes, I’m sure”, it should ship all the horses (or attempt to) and display a status message for each.
For each horse, it should show an error if:
- the horse is not a racehorse (only racehorses can be bulk-shipped)
- the horse is already in transit
- the horse is entered to race
- you can’t afford to ship the horse
- the route you selected is invalid somehow (i.e. going from point A to point A)
Otherwise it should display “Successfully shipped”, and include any discount(s) you got for shipping the horse(s).
Your horse’s location should change (along with a nice in-transit message/hover panel on their page)
Your budget should list the transaction, with any discount(s)
The horse should not be displayed on the shipping page anymore, as it will now be in transit.
Any questions? Issues? Preferences for other options/features? This process is meant to be a way for you guys to give me feedback, including suggestions for improving features I create or things you like/dislike about them. So, let me know.