Forum Discussion

NoahMcBride's avatar
NoahMcBride
Qrew Cadet
8 years ago

Vehicle Sign Out Application

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?
  • MCFNeil's avatar
    MCFNeil
    Qrew Captain
    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,
    • NoahMcBride's avatar
      NoahMcBride
      Qrew Cadet
      I would appreciate details on the custom route.

      Thanks for the help
    • MCFNeil's avatar
      MCFNeil
      Qrew Captain
      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
  • 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?