
Booking.js – Availability and Scheduling API - listentojohan
http://booking.timekit.io/
======
joshribakoff
Is this actually open source? Or does it have open source components but
depend on a hosted backend?

I made something similar like this a while ago, it may be half baked but its
fully open source & has some unit tests -
[https://github.com/bookingbat/engine](https://github.com/bookingbat/engine)

~~~
sirrocco
It's open source if you use timekit.io (their backend essentially .... ). So
not really.

~~~
blister
Well... in fairness to this product, it's licensed with an MIT license, so in
theory you can plug in whatever danged infrastructure you want.

Seems disingenuous to say "not really" to the open source question when it has
such a liberal license. Fork it to use whatever you want.

------
eterm
Double-clicking the grid in Firefox (44), nothing happens. I would have
assumed it would have opened a booking link? Perhaps this is because I'm using
the demo, or am I not understanding the use-case of this product?

~~~
catshirt
couldn't figure out how to do anything with the demo in Chrome either.

~~~
mastazi
It worked for me in Chrome, here's a brief description of how it behaves: if
you click on an empty cell nothing happens, which probably means that empty
slot are "unavailable", but when you clock on an "available" slot i.e. those
cells that have a blue border, a modal window comes up with a form in it, and
you can finalise your booking.

------
piratebroadcast
This is really cool - I wonder, can I have someone find a booking that works
for their time schedule, then redirect to Stripe to pay, then back to finish
the scheduling?

~~~
laander
We're working on a Stripe integration (see [https://github.com/timekit-
io/booking-js/issues/20](https://github.com/timekit-io/booking-js/issues/20)),
but you could actually add it yourself with the callbacks. Check out the docs
on Github or ping me on Intercom on the page if you need some guidance

~~~
piratebroadcast
Yeah or one could just put the Stripe paywall in front of it. Like imagine a
nail salon or hairdresser or whatever using this on their website - Have them
pay Stripe first, then upon successful charge they are redirected to your
booking.js thing. Very cool.

~~~
paulftw
Make a payment to see "we are fully booked till next year"? I think using
callbacks to trigger stripe's checkout.js is not that hard, unless you hate
your users.

------
INTPenis
I like it but it should support more versatile times, right now I can only
make it use full hours.

~~~
laander
You can customize the timeslot lengths, see the following config key:

{ timekitFindTime: { length: '30 minutes' // natural language input of
duration } }

There's also a dropdown in the setup wizard where you can pick a few defaults
:)

------
0higgsboson
Interesting possibilities! How granular can the calendar entries get?

~~~
laander
Hey there! All the way down to 15 minutes and as long as you'd like them (in
15 minutes intervals)

------
uptown
I get an empty box under Marty McFly on iOS. Anyone else?

~~~
laander
Hey, here's an interesting challenge:

The widget is using a Google Calendar underneath and as people try the demo
and book timeslots, the calendar gets filled up and availability disappears.
So right now I'm doing my best trying to frantically delete all the demo
bookings as they come in so they don't block other visitors (which is what
happened to you) :)

[https://media.giphy.com/media/42109OHM6YFS8/giphy.gif](https://media.giphy.com/media/42109OHM6YFS8/giphy.gif)

