DNA Lounge: Wherein the last few days have been another long month.

I arrived at the club on Wednesday afternoon and one of our bike racks was missing -- torn out of the concrete at the root -- and two others were bent and wobbly. Also, our parklet was dented and had been moved a few inches. Some neighbors tell us that around 2AM, a bus took out a traffic light, a bolted-down city trash can, the bike racks, and then crashed into our parklet. I haven't heard any more details about that yet.

Then this afternoon, Devon rolled up the garage door to discover a bunch of paramedics out front. It looks like someone used their belt to hang themselves in the parklet, and so our entrance was blocked off as a crime scene for a few hours.

Today was the first day when businesses can apply for the "Save Our Stages" grants, AKA the "SBA Shuttered Venue Operators Grant". You thought getting your vaccine appointment was hard? This is a national program and there's not enough money in it for everybody so they set it up as some kind of first-come first-served Death Race where every bar and nightclub in the US was hitting reload on the page at 9AM and trying to fill out forms and upload PDFs at the same time. This went about as well as you'd expect:

"Shortly after 4PM, the SBA abandoned its effort to salvage the broken system and shut down it down for the day. No applications were processed."

Good to know that the Federal Government has decided to let Burning Man run their ticketing operation.

Meanwhile, the SF Mayor's Office announced a few days ago that "indoor live events" can resume next week. So when I said that based on past experience, they'd probably give us six days notice, I was being overly pessimistic. They gave us more like ten days notice!

Anyway, this "re-opening" plan they've announced is not real, it's just a PR stunt that doesn't actually help our industry. It caps attendance at the smaller of 15% capacity or 200 people (35% capacity if you demand an easily-forged vaccine receipt!) Nobody can operate a nightclub under those restrictions. We can't even afford to renew our insurance for that level of capacity. The response to this from everyone on the email thread of our local venue operators has been one giant eye-roll.

Governor Newsom's talk of re-opening in mid-June sounds like it might mean at 100% capacity, so that's more substantive, but a lot can change between now and then so I'm not holding my breath (so to speak).

I know you're all as anxious as we are to know when we can re-open (well, you're not, but it's nice that you think you are) but we're not announcing any re-opening plans yet. You'll be the first to know!

Meanwhile, stop by this weekend for our sidewalk parties at DNA Pizza: Friday at 7pm: Turbo Drive. Saturday at 4pm: Matinee Sessions with Sneakerz and Stefan, immediately followed by Bootie, live in the parklet at 7pm. Then Saturday from 4pm to 10pm, house and techno with Warehouse Connection.

If you didn't know that these events were happening, might I recommend that you join our mailing list?

Tags: , ,

Apple Pay

I got Apple Pay working on the DNA Lounge store. Hooray.

There's one weirdness that I'm not sure how to solve, though. Clicking "buy" used to work like this: do some AJAX to turn the CC into a token, when that comes back, actually submit the form; on the back end, do some database junk; do some payment junk; and finally emit HTML saying "thank you" or "error".

With Apple Pay it's basically the same but with different JS junk -- however, said JS junk seems to want me to invoke its "completePayment" method after I've done my backend payment junk and determined whether it succeeded or failed. And calling that method on is, you know, tough to do after I've submitted a form and loaded a new page and the ApplePaySession object no longer exists.

If I don't call that method, it seems to work anyway -- the order goes through, the card is charged -- but the Apple Pay popup on the phone times out and says the order didn't complete, which is less than ideal.

So, short of rewriting everything to work completely differently... any brilliant suggestions?

Anyway, take a look at checkout.js and let me know if you see anything stupid in there.


Tags: , , , ,