Custom Block: Check In/Out System

Now that the submission period for the Custom Blocks contest is over, I’d like to share my custom block for check-out/check-in systems!

This block is a customizable wizard which, in its most basic form, allows users to select a Unit record and create a new linked record in a Log table detailing when that record was “checked out” with relevant fields pre-filled to save time. The wizard just as easily allows users to check that unit back in to close out the log and make that unit available for selection once more. Advanced features include tracking a unit’s condition over time (i.e. the unit was in “great” condition when it was checked out, but was in “poor” condition when it was checked back in), and the ability to enable an Items table for bases structured where each unit is an instance of a type of item (i.e. 5 “Macbook Pros”, 6 “Samsung 32-inch TVs”, etc.).

This block will make day-to-day data entry for inventory managers, IT departments, librarians, equipment rental businesses, and more all that much easier!

Demo Video:

My contest submission: https://devpost.com/software/check-out-block

The repo on GitHub: https://github.com/thekamillionaire/check-out-in-block

10 Likes

Nice work, @Kamille_Parks!
:clap:t2::clap:t2::clap:t2::clap:t2::clap:t2::clap:t2::clap:t2::clap:t2::clap:t2:

2 Likes

As a note, sometime in the future when unstable_updateOptionsAsync() is no longer unstable, I may re-release this to update the condition field options when any of the action buttons are clicked so that all single select options match as an alternative to my current method of ignoring “unique” single select options.

“Option does not exist” is a difficult error to avoid in a foolproof way, at least for me and how I’ve coded this.

2 Likes

I need this right now. Hope it’s selected and made available.

While it wasn’t one of the winning submissions, it is available for you to copy! Check the last link in the original post. If I’m not mistaken, it will be added to the custom blocks library as well some time in the future.

Hi @Kamille_Parks - this is awesome! Can you share the base by chance? I almost have it setup but still just seeing the screen that says " CLICK AN ACTION BUTTON ASSOCIATED WITH THIS BLOCK".

Its intended to work regardless of the exact base setup. Do you have a Button type field in a relevant table (one you selected in the block’s settings) which is set up to point to the block?

I have no issue sharing the base I did all my testing in, but I do want to see if you can get it up and running in any similar base, not just mine.

@Kamille_Parks

This block looks great! I am not a developer by any means and am wondering if there is an easy way to integrate this into my base?

Thanks!

First you’ll need to install Node on your computer: https://nodejs.org/en/download/

Then you can follow this guide to copying an existing open-source Airtable App:

Instead of using the “Hello World” Example, select “Remix from GitHub” and use this link: https://github.com/thekamillionaire/check-out-in-block

@Kamille_Parks

Thanks. I’ve signed up for “developer access” and have activated my email but for some reason am still blocked from the “build a custom app” feature. Not sure how to work around this.

#help

Odd, I thought they opened up Custom Apps for everyone as of yesterday. When you say you’re blocked, does that mean you don’t see the option to build a custom app or you’re getting some sort of error message?

When the blocks contest was going on, they were manually approving developer access and some people had to wait a day or so.

Another possibility is that you weren’t logged into Airtable in the browser when you filled out the form. You could try making sure that you are logged into Airtable in th same browser that you use to fill out the form to request developer access.

is it possible to make this a base that can be shared? this is exactly the functionality my company needs but I have a very rudimentary understanding of blocks and for the life of me I can’t get this to work

Duplicating a base will not duplicate custom apps, so I can’t help in that regard. Are you not able to install the app at all?

I’m having trouble even creating the block, I downloaded node but when i go to install the CLI it doesnt work

You’re going to have to be more specific than “it doesn’t work”. Do you have React installed? If so, and you’re on a Mac, have you tried running the commands as “sudo”?