"One of the features in the next development phase is "auto-suggested swaps" using simple logic and tags. for example, customer asks for "no parsnip", system looks for other items tagged "veg", "heavy", "root" that are not already in the box or on the customers "no list" and suggests this addition to our admin person for a swap (eg. in this case it might be "turnip")
Is this what you mean?"
That may work for our special dietary boxes, the members on specific healing regimes who can have, for example, this list of 15 items and nothing from the other list of 45 items of produce. At present we manage this manually; we email them the day before, let them know what is in the boxes and they email or text back saying what they can/cannot have and what they would like instead, or what they could take more of.
For everyone else, with their "up to two swaps", I guess what we do is closest to a swap table as someone above mentioned. Except our swap table is about ten tables of additional produce from which to choose something of the same monetary value as the items not wanted in the bag/box.
Thank you, and to everyone here, for their contributions. It has been really helpful, and encouraging to know others are working on similar issues or working at providing solutions.