Accepting Bids: Help with appointment app

Hello Honeycoders!

I am building a scheduling app that will allow mentors to schedule time with mentees. In this case the mentor will submit a form indicating when they are available to meet with mentees. The mentees will receive a notification that bids are being accepted for an appointment with their mentor prompting them to open the app and press the bid button. After a designated period of time, likely 24 hours, the mentor will be prompted to open the app and accept bids. Accepting the bids is where I need a little assistance.

I am attaching two screen shots. One an app view, the other a builder view.

APP VIEW

BUILDER VIEW

I need the app to recognize the first time the + is pressed adding the mentee (student name) to $[Pickme1] then I need the app to recognize that the second time a + is selected that the mentee needs to be added to $[Pickme2].

For scalability - eventually I would like the number of students needed to determine how many students can be confirmed for the appointment. The photo above shows only 2 students are needed; however, there could be appointments where 20 or more students are needed. In those cases, I would need fields showing confirmed student 1 - confirmed student 20 or $[Pickme1]...$[Pickme20].

Thank you!
Danny

Moderator note: Edited out personal information from images.

1 Like

Hi @DannyHoney! :honey_pot:

Thanks for sharing what you're building! I see what you're looking to do.

I would recommend using lists to build this functionality in your app. For example, you could have a list of "Confirmed Students", and a list "All Students" or "Bids / Interested Students" with the + button next to each name (this button would add that name to the "Confirmed Students" list).

To set this up, create a table that associates the students to a session:

You will also need tables that list all students and all sessions (the Session column is a rowlink to a Sessions table).

In the app, you will have two lists. The "Confirmed Students" list would show students confirmed for that session only. This is done with a FILTER formula:

=FILTER(ConfirmedStudents,"ConfirmedStudents[Session]=$[Session]")

I also added a remove button that allows you to easily remove a user from the confirmed list:

Below, I added list from the "All Students" table (or "Bids" / "Interested Students", in your case), of students that could be added to the session. To limit the amount of sign-ups for a given session, you can grey out the + buttons if there are already X amount of students signed up. Here's an example of limiting a session to two students:

The visibility formula for the green add button would be something like below. This is saying that if there are two users added already (or if the limit was reached):
=FILTER(ConfirmedStudents,"ConfirmedStudents[Session]=$[Session]")<2

Then to do the opposite formula for the greyed out button:
=FILTER(ConfirmedStudents,"ConfirmedStudents[Session]=$[Session]")>=2

Also, if you want to ensure you don't add the same student twice, you can add a FILTER on the "All Students" list that does not include those confirmed for that particular session:

My formula that is checking to NOT include students IN the confirmed students list looks like:
=FILTER(AllStudents, "NOT(AllStudents IN $[ConfirmedStudents][Student])")

And the $[ConfirmedStudents] variable is just a copy of the filter formula for the confirmed students list:

Now you have an app where you can add and remove students from a session. :slight_smile:

Hope this example helps! This method would allow for the scalability you're looking for, since you can add and set limits for as many students as you'd like. :slight_smile: :honeybee:

1 Like

Hello Alyssa,

I have been able to get most of your suggestion to work on my app!
I now have three tables where the data is passed back and forth.

Tables:
Requests - Generated when a user submits a form
Bids - Holds student bids for appointments
Confirmed Students - Once student bids have been approved, data from requests and the approved student name are combined into this table.

Lists:
Bids - Lists bids filtered by a booking ID
Confirmed Student - List of students bids have been accepted also dependent on the booking number.

Need Help:

  • BidsList - I still need the original layer of the BidsList filter that only shows me the list of bids based on booking ID. I would also like to include your idea of removing students from that list if their bid has already been accepted so that they are not added twice.

Here is what I have so far

  • Also - The "X" and "Verify" buttons do not appear to be functioning properly on every screen. "X" Should show up from the time a student's bid has been accepted until the date of the appointment. =TODAY()<=Requests[Date] and the "Verify" button should appear on and after the appointment date. =TODAY()>=Requests[Date]. There are some screens where the appointment date has passed, but I see the "X" and not "Verify".

Thank you!!!
-Danny

I tried playing with =FILTERDIFF today. In theory, I think that formula would work; however, was not able to get the desired result.

Hi @DannyHoney :slight_smile:

Thanks for sharing where you're at with this; you've made some great progress!

To fix the syntax in your FILTER formula, you'll want to use AND to include both of the desired criteria. It would look something like:

=FILTER(Bids,"Bids[BookNum]=$[BookNum] AND (NOT(Bids IN $[ConfirmedStudents][Student Name]))")

For the date visibility formulas the syntax appears to be correct. I'll note that Honeycode time is in UTC, which means that the time may not match your particular time zone. Here's an article that may help, if that is the case: UTC & Time Zone Conversion.

Let us know if this helps! :honeybee: