Vehicle Sign Out Application

  • 0
  • 1
  • Question
  • Updated 8 months ago
  • In Progress
  • (Edited)
I have an application that is designed to take over the signing out of company vehicles. We want a user to be able to tell Quickbase the Start Date and Time that they need the vehicle and the End Date and Time. We would then have a calendar display all of the times a vehicle has been checked out. 

Currently we have a Vehicle table with our 5 company vehicles, connected to a table of dates to a table called Vehicle&Dates, which lists all of the possible Dates for each vehicle. (5 vehicles * 365 Days * 10 Years). We would like this list to include hours (*24), but before we implement the solution we want to know if Quickbase is capable of marking multiple records that are dependent upon the choice of the user.

For example, if a user selects 1/1/2018 for vehcile#1 from 8:00 to 12:00, we want QB to calculate the difference in the hours and days (in this case 5), and then mark 8:00, 9:00, 10:00, 11:00, and 12:00 as unavailable for 1/1/2018 for vehicle#1 in our Date&Vehicle&Hour table.

Is this possible?
Photo of Noah McBride

Noah McBride

  • 356 Points 250 badge 2x thumb

Posted 8 months ago

  • 0
  • 1
Photo of Matthew Neil

Matthew Neil

  • 31,438 Points 20k badge 2x thumb
Noah,

There are a few ways you can do this, and the track you are on is what I would consider the middle ground.

In the most basic manner, you could use the new calendar function to have a 'reservations' calendar.  So users can visually see when a vehicle is already in use.

Or you can continue on the path you are on with multiple joined tables.  However, you will lose the ability to 'reject' a request if it is already being used.  In order to run conflict evaluations you will need to have some type of script involved, which most likely will turn into a calendar type UI. 

The custom route is possible, and I've seen it done, but most of the time, a well designed calendar report will accomplish this as well.

If you want more details on either route, let me know. 

Cheers,
Photo of Noah McBride

Noah McBride

  • 356 Points 250 badge 2x thumb
I would appreciate details on the custom route.

Thanks for the help
Photo of Matthew Neil

Matthew Neil

  • 31,438 Points 20k badge 2x thumb
The 'custom' route would basically be building a custom script that would evaluate all the options/conflicts for the specific time that you need.

They way I've seen it done before also built a 'timeline' type report for each resource so you can visually see the open options.


Matthew Neil - Product Specialist
(Edited)
Photo of Noah McBride

Noah McBride

  • 356 Points 250 badge 2x thumb
Here is what I have done so far: 

My goal was to prevent users from being able to select a given vehicle at a given date / hour if it had already been selected. So, I created a Vehicle Table, a Date Table, and an Hour table. I then created tables that contain the unique Dates&Vehicles and the Dates&Vehicles&Hours.

Now I am creating a Sign-out table that handles two situations.

1. An employee needs a vehicle for a number of days. In this case, the Employee selects a Date, and available vehicles for that Date are pulled in from the Date&Vehicle table. (This is managed by creating a summary field in Date&Vehicle table which counts that number of occurrences for each vehicle date in the sign-out field. If this number is greater than one, then the vehicle is not available on that date. The Date Vehicle Table is also connected to the Date&Vehicle&Hour table, and if the Date&Vehicle is marked unavailable, than all of the child hours are also marked unavailable.)

2. An employee needs a vehicle for a number of hours. This is similar to the daily selection, but it pulls the information from the D&V&H table instead of the D&V table.

There are some problems with this solution, and it is a lot of work, but it works.

Any thoughts?
(Edited)