How to avoid appointment conflicts, literally

Hello

I manage Knack for our small organization who deals with domestic abuse, and there is a task we need that I think should be doable, but I cannot figure out how.
In our work we often deal with both partners of a couple (either due to bi-directional violence or to helping both victim and aggressor) . Now for obvious reasons, we don’t want them to meet in the corridor of our office.

→ Is there a way to implement a warning when both partners of our couples are scheduled at similar time, on the schedules of different counsellors?

I feel there is an elegant way to implement that that I just cannot see.

Thank you for any input

Laurent

Hey Laurent

Thanks for reaching out to us. I just wanted to let you know that we are busy discussing this internally to see if we can implement this using native Knack features. We will let you know what we discover!

2 Likes

Oh thank you for your message and for the effort. Much appreciated ! :slight_smile:

Have a good day!

There may be a clever solution offered by someone but here is an analog way of doing it that might get you thinking about it differently:

Table1 = Case with two fields: Party1 and Party2.
Connected Table2 = Appointments with two fields: Date and Party

Table2 is ordered by date. You could visually examine Table2 for conflicts. Granted this is a really poor method as it relies on the user being very mindful.

This might work if Knack allowed date fields to be unique. In that case you wouldn’t be able to enter a second appointment for that case on the same date. Of course, even that wouldn’t work since you would have other case appointments on the same date. Knack needs to allow dates, formulas and equations to be unique. Then that might work for you.

1 Like

Thanks Peter

I feel your solution would work for 1 couple, but we have many couples (and previous partners on top of current couples). Maybe I’m missing something in what you are explaining.
I thought about tables, sorting, color coding problematic couples, but everything I could imagine seems convoluted and very unlikely to be used by my fellow counsellors on a regular basis :-/

Regardless, thank you :slight_smile:

I wonder if this idea might work somehow for you (I’m not thinking too hard here):

You may place a count field on your account object. Count the number of plan records created by that user and filter the count field selecting ‘created today’. Then use rules to set IF COUNT > 0 THEN …dont let them create a new one (hide the form, or display a message).

See this…

1 Like

Oh, I could possibly work with that yes! Not “elegant”, but workable I think. I’ll need to figure out the details.
Thank you again !

We, too, have not managed to find anything “elegant” as you put it. There are definitely options (albeit some with very involved setups), but I would be happy to walk you through something if Peter’s option doesn’t work for you.

1 Like

Here’s one approach. It warns of a potential conflict rather than a conflict. It uses a Count field and Page Rules.

  1. Each Appointment connects with one Partner… and one Couple. (When creating the Appointment, use a Record Rule to set Couple to the connected value: Partner > Couple.)
  2. Now you can count # of upcoming appointments for the Couple. (Under Formula Filters, select Date/Time “is today or after.”)
  3. To show a warning, use a Page Rule with the following logic “When # of upcoming appointments is higher than 0, show a warning.”

This will warn Counsellors when creating an appointment if there are upcoming appointment(s) for partner(s) in a couple.

This solution could be improved by writing code. The code could fetch upcoming appointments for each partner and look for conflicts. However, I’m assuming you’re looking for a No Code solution.

Tables

Couples

  • Auto Increment: ID
  • Count: # of upcoming appointments

Partners

  • Name: Full Name
  • Connection To: Couple
    • Each Partner connects with one Couple. Each Couple connects with many Partners.

Appointments

  • Date/Time: Appointment Date/Time
  • Connection To: Partner
    • Each Appointment connects with one Partner. Each Partner connects with many Appointments.
  • Connection To: Couple
    • Each Appointment connects with one Couple. Each Couple connects with many Appointments.
  • Connection To: Counsellor
  • Text Formula: Appointment Title
    • {Appointment Partner.Name}'s Appointment

Pages

  1. Each Counsellor sees their own appointments

  2. New Appointment is a multi-step form.

  3. The Counsellor is warned of a potential conflict.

  4. The Counsellor scrolls down and can see the upcoming appointment(s) for the partner(s), so they can avoid the conflict. This calendar shows appointments connected to the Couple.

2 Likes

Recogising the effort in your reply and the comprehensive solution offered :+1:
Ian @KnackPros

3 Likes

Wow, thank you for your detailed answer ! I will read it carefully and try that out :slight_smile: