Golf Amsteldijk: booking a day pass in four steps
Day pass booking app for Golf Amsteldijk: golfers book a day pass in four steps and pay with iDEAL, connected to the club's existing WooCommerce store.

Deliverables
- Four-step booking flow for day passes
- WooCommerce integration: products, prices, discount codes and orders
- iDEAL payment via Mollie
- Rental sets and guest details in the same order
- Dutch, English and German
- Shared cookie consent across all Amsteldijk sites
- App and kiosk mode for the service kiosk
- Membership sign-up form with digital signing
Tech stack
- React and TypeScript
- Supabase Edge Functions
- WooCommerce REST API
- Mollie
- Stiply
- Google Tag Manager with Consent Mode
Golf Amsteldijk in Amstelveen has a 9-hole A-status course, a par 3 course, the 9 Werelden van Golf (9 Worlds of Golf) and a driving range. With a day pass, you can play there for a day without any experience. Your Tech Club built the app where golfers book and pay for that day pass, at dagkaart.amsteldijk.nl. The app runs on the WooCommerce store of amsteldijk.nl, the club website we also designed and built. The service kiosk in the clubhouse and the membership sign-up form followed later.
What did the app need to do?
A day pass is not an ordinary online store product. The golfer chooses a day to play and a number of passes. Anyone coming with friends wants everyone to get their own confirmation. Anyone without clubs wants to rent them at the same time. And because no experience is needed, the booking has to make sense without any golf knowledge.
Our choice: a booking flow on the existing store
Products, prices and discount codes were already in WooCommerce, and payments ran through Mollie. We did not replace that store. The booking app is a separate app on its own address that talks to the amsteldijk.nl store in the background.
Day passes and rental sets are products in two dedicated categories in WooCommerce. The app fetches them from there, with price and description, and creates the order there too. If the club changes a price or creates a discount code, it works in the app straight away. No second admin environment was added.
The WooCommerce and Mollie keys are not in the browser. The app talks to both systems through Supabase Edge Functions, so those credentials stay on the server side.
What we built
Booking takes four steps: choose a date and the number of day passes, fill in your details, rent clubs if you need them and pay with iDEAL. An order summary next to the form keeps track of the date, the number of passes and the total. On a phone, the summary sits below the form.

Four steps, from date to rental set
In the first step, you pick a date in the calendar and the number of day passes. The playing date goes into the order as a fixed day, so a time zone difference can never shift it by a day.
Next, you fill in your details: name, date of birth, postcode, email address and, optionally, your handicap and phone number. You accept the terms and decide whether you want the newsletter. This is also where you enter a discount code.
If someone books more than one day pass, they can also fill in their fellow players' details, so each of them gets their own confirmation email. This is optional.
In the third step, the app asks whether you already have golf equipment. If not, you choose a rental set, from a starter kit to a complete set with bag and trolley. You can rent up to six sets per order. A short list explains what equipment you need.

Payment and confirmation
The final step is paying with iDEAL via Mollie. At that point the app creates the order in WooCommerce, with Mollie's payment ID attached. That way the payment result ends up with the right order.
After a successful payment, the order is marked as paid in WooCommerce. The golfer sees a confirmation with the booking number, the date, the number of day passes and a map showing where the club is. The day pass itself, with a QR code, arrives by email.
If the payment fails, a separate page explains that the booking has been cancelled, with a button to start again. If the total after discount is zero euros, the app skips the payment step.
Discount codes and promotions
The club creates discount codes in WooCommerce. The app checks the code there and applies the discount, a percentage or a fixed amount, straight away in the order summary.
The app calculates temporary promotions itself. From December 2025 to the end of January 2026, and in July 2026, the second day pass was half price, based on the day the order was placed. The order summary then shows regular passes and discounted passes separately. That is also how they go into WooCommerce, so the amounts there add up.
In Dutch, English and German
Since April 2026, the app has also been available in English and German. Each language has its own address, so a link can open directly in the right language. If the link has no language in it, the app uses the language chosen earlier, or otherwise the browser's language. The names of the rental sets, the dates and the error messages are translated too.

Seamless with amsteldijk.nl
The 'Book a day pass' button in the amsteldijk.nl menu and the 'Book your day pass now' buttons on its pages lead to the app. The app uses the same fonts and colours as the club website, so the switch is not noticeable.
The cookie choice is shared too. Anyone who makes a choice on the club website or in the app is not asked again on the other Amsteldijk sites. Analytics and marketing cookies are off by default. Only after consent does the app measure how far visitors get at each step, without sending names or email addresses.

Next: a service kiosk and membership
The clubhouse has a touchscreen service kiosk. In 2026, we built the app that runs on it. The home screen offers three options: buy a day pass, take out a membership and book a tee time. You switch between Dutch and English at the top right.
The day pass and membership open on the kiosk itself. They are the same apps as online, in kiosk mode. The booking app also takes over the language chosen on the kiosk.
Tee times for the A-status course are booked through Nexxchange. That system cannot be embedded in another screen. So the kiosk shows a QR code and the golfer books on their own phone.
After a period without any touch, the kiosk returns to the home screen by itself. We deliberately switched off a separate time-out in the app, so the screen does not jump back halfway through a booking. Only necessary and functional cookies are on at the kiosk, so visitors there don't see a cookie banner.
Buying a day pass at the kiosk
In kiosk mode, the booking app is shorter. The date is fixed to today: anyone buying a day pass at the kiosk plays the same day. Surname, phone number and guest details are left out, and you answer the handicap question with two large yes and no buttons.
Payment does not happen on the kiosk itself. The screen shows a QR code. The golfer scans it with their phone camera and pays there with iDEAL. A message asks them to use the camera app, not the banking app. Meanwhile, the kiosk checks WooCommerce every three seconds to see whether the order has been paid. As soon as it has, the confirmation appears.
Every order gets a label in WooCommerce, website or kiosk. That shows the club which bookings come in through the kiosk.

Becoming a member via lidmaatschap.amsteldijk.nl
The sign-up form at lidmaatschap.amsteldijk.nl is ours too. It has three steps: your details, your address and the membership. You choose unlimited access to the 9 Werelden van Golf, the 9-hole A-status course or both, and a start date. Payment is monthly by direct debit.
The new member then signs the contract and the direct debit mandate digitally via Stiply. That works best on a phone, because of the verification through the bank. So on a phone, the form goes straight through to Stiply. On a computer and on the kiosk, it shows a QR code.
The request goes through a small dedicated server, so here too the integration key stays out of the browser. The form works in Dutch, English and German.

The result
The booking app, the kiosk and the sign-up form are all in use. Online and in the clubhouse, day passes are sold through the same app, and every booking arrives in the same store. Every order is complete, with playing date, passes, rental sets, guests, consents and where it was booked.
Since the launch in February 2025, we have extended the app step by step: discount codes, promotions, guest details, three languages and kiosk mode. Each extension builds on the same WooCommerce integration. The code for the kiosk and the membership form is checked automatically every week for vulnerable software packages.
Get in touch with us directly. We'll get back to you as soon as we can


Your message goes straight to our team in Amsterdam.What did Your Tech Club build for Golf Amsteldijk?
The day pass booking app at dagkaart.amsteldijk.nl, with the WooCommerce integration and iDEAL payment via Mollie. Also the app for the service kiosk in the clubhouse, the kiosk mode of the booking app and the membership sign-up form at lidmaatschap.amsteldijk.nl. We also designed and built the club website, amsteldijk.nl.
Why wasn't the amsteldijk.nl online store replaced?
Products, prices, discount codes and orders were already in WooCommerce. By building the app on top of it, the club manages everything in one place and no second system is added.
How do you pay for a day pass at the service kiosk?
The kiosk shows a QR code. The golfer scans it with their own phone camera and pays there with iDEAL. The kiosk checks every few seconds whether the payment has come in and then shows the confirmation.
Can the club change discount codes and prices itself?
Yes. Prices, rental sets and discount codes are in WooCommerce. Whatever the club changes there works in the app straight away. Only temporary promotions, such as the second day pass at half price, are set by us in the app with a start and end date.
How does signing up as a member work?
Through the form at lidmaatschap.amsteldijk.nl or on the service kiosk. After three steps, the new member signs the contract and the direct debit mandate digitally via Stiply, preferably on their own phone.
Which languages can you book a day pass in?
Dutch, English and German. The language switch is at the top right of the app. On the service kiosk, you choose between Dutch and English.

