Or if anyone knows of another site (like a programmer's forum) where I could post this query as well, that would also be appreciated. As I said, I am not a programmer, so I don't know where the programmers hang out. :)
But there have got to be some divorced programmers out there, and this seems like a really useful program to have written (if it doesn't already exist out there somewhere):
OK, you plan out your parenting (new terminology for 'custody') schedule for the upcoming month. But then a travel opportunity comes up, and you need to overlay a 4-day vacation on top of the pre-existing schedule, and then rearrange the rest of the month so the parenting time balance is kept the same (more or less). So for example, if a month of Sun-Sat looked like this:
X X Y Y Y X X
Y Y X X X Y Y
X X Y Y Y X X
Y Y X X X Y Y
X X Y
and there was a 4-day Y trip that needed to go in the 3rd week on Sun-Thurs. The first step would be to overlay the vacation:
X X Y Y Y X X
Y Y X X X Y Y
Y Y Y Y Y X X
Y Y X X X Y Y
X X Y
but this would take away 2 X days and create a stretch of 7 consecutive Y days, so the next step would be a "rearrange and balance" button that would adjust based on some preset rules such as:
1. even distribution of X and Y each month
2. no more than 4 consecutive days of either X or Y
3. X and Y must both have a similar number of weekend days per month
4. schedule adjustment should focus on the days immediately before and after the travel period when possible
a. first sub-optimal permutation would include the sacrifice of a weekend day(s) from the vacation taker
b. second sub-optimal permutation would allow a block of 5 consecutive days
etc. etc. depending on each family's situation.
The first click would optimize by as many rules as possible and each subsequent click would present a different permutation, presenting all permutations that fit the most rules first, then moving into the rule variations like a and b.
Ideally this would be based in an existing calendar program (e.g. using a standard desktop calendar as some kind, with actual days/months/years, leap years, etc), like an add-on script. Of course, if it is easier to simply generate a calendar from scratch then so be it.
Also, the user would be able to go "Back" and "Forward" through the different permutations they had generated so that you could compare different options (i.e. each click on the "Rearrange" button would not clear the previous permutations from memory), and there would also be the ability to export a permutation to an image file if desired. Lastly one would be able to select the chosen rearrange permutation and save it into your actual calendar when finished.
[Also, the ability to re-open a saved month and look at new permutations later on would be nice too, but I don't want to get too greedy. :) ]
Anyway, it seems like a fairly simple set of rules, but incorporating them into a working calendar that recognizes calendar dates as calendar dates with different weightings (like weekends vs weekdays) seems to be the trickier part. But if anyone knows of a product out there that does this, that would be fantastic. Or, if someone wants to write it up, I would be happy to give the writer 80% of the profits when this product makes millions, only keeping 20% for having thought it up. :D
