-
The_WerkstattHello Jotform Support Team,
I’m creating a workshop booking form and have run into multiple issues that I haven’t been able to resolve. I’ve configured hidden helper fields and conditional logic to calculate pricing, and I’ve set up rules to show the correct studio calendar based on the selected workshop. However, the form still isn’t working as expected.
Here’s the desired behavior:
- Workshop Selection – Customers choose a workshop (e.g., Candle Painting, Dip Dye, Flower Hoop).
- Number of Participants – Customers enter how many people are attending.
- Calendar Filtering – The form should show only the relevant calendar (Belgian Quarter or Zollstock) based on the workshop chosen.
- Dynamic Pricing – The “Live Booking Summary & Total” should display a price calculated as: Secret_Base_Price + max(0, (Participants – Secret_Min_Pax)) × Secret_Extra_Fee. For example, Candle Painting has a 10‑person minimum (€430 base price + €43 per extra participant).
- Payment – The amount in the Stripe payment element should always mirror the value shown in “Live Booking Summary & Total.”
What I’ve implemented:
- Hidden fields (Secret_Base_Price, Secret_Min_Pax, Secret_Extra_Fee) and “Update/Calculate Field” conditions to populate them based on the chosen workshop.
- A Form Calculation widget (“Live Booking Summary & Total”) using the formula above.
- A Stripe payment element set to “User Defined Amount.”
- Show/Hide conditions to display either the Belgian Quarter calendar or the Zollstock calendar, depending on the workshop.
Problems I’m experiencing:
- Pricing not updating – The “Live Booking Summary & Total” field displays the literal formula (Secret_Base_Price + (max(0, Number_…)) instead of a numeric value, regardless of how many participants are entered or which workshop is chosen. It never updates to €430 or €516, for example.
- Payment amount stays at €0 – The Stripe payment field doesn’t mirror the calculated total and always shows 0 EUR. The hidden helper fields seem to be populated correctly, but the calculation isn’t being applied.
- Participant field minimum – At one point the participant field enforced a minimum of 10, preventing me from testing 8 participants for Candle Painting. I would like 8 to be allowed as input so the formula handles the “max(0, Participants – Secret_Min_Pax)” logic.
- Location filter inconsistencies – When Flower Hoop is selected, the Belgian Quarter calendar appears correctly, and Dip Dye correctly switches to Zollstock. However, when selecting Candle Painting, the form sometimes shows both calendars or none at all.
- Stripe/invoice setup – Currently, the payment field does not collect address information, nor does it send a tax-compliant invoice after payment. I need the payment element to collect the billing address and trigger an invoice upon completion.
Could you please review my form and advise on:
- How to make the Form Calculation widget output the numeric total instead of displaying the formula text.
- Ensuring the payment field automatically uses that calculated total.
- Correctly applying the workshop‑based minimum (e.g., 12‑person floor for Dip Dye) within the calculation.
- Making sure the calendar filter only shows the correct location for each workshop and that the “Number of Participants” field accepts any number while the formula enforces the minimum.
- Configuring Stripe to collect address info and send a professional PDF invoice after payment.
Thank you for your assistance. The form link is: https://form.jotform.com/The_Werkstatt/booking-request-form. I appreciate any guidance you can provide to get the pricing and calendar logic working correctly.
Sincerely,
Stephen
-
Myla_THi Stephen,
Thank you for reaching out to Jotform Support. If I understood it correctly, the calculation for your Live Booking Summary & Total Field does not calculate the values you have added for the fields you need to get the calculation. If so, it seems that you have added string values instead of field values. Let me show you how to fix it:
- Open your form in Form Builder, scroll down, and select the Form Calculation Widget.
- Click on the Wand icon on the right side of the widget to open Widget Settings.
- Under the Form Calculation Menu, which opens on the right side, add the fields you want to be calculated by selecting them from the Add Field button.
I’ve gone ahead and moved your other questions to separate threads to keep things tidy, and someone from our Support Team will help you with them here:Location filter inconsistencies
Give it a try and let us know how it goes.
-
The_WerkstattHi Jotform Support,
in my complex booking form, the calculation logic is failing to trigger. I need your help to fix the math parser and the payment connection.
The Goal: I am trying to create a dynamic pricing engine. When a user selects a workshop and enters some participants, a hidden 'Base Price' and 'Min Participants' value are injected into the form via conditions. A Form Calculation Widget then calculates the total.
The Problems:
- Formula Parsing Error: On the live form, the calculation widget only displays a single closing parenthesis ) instead of a number. I have tried setting the operators to numeric format (dark grey), but it is not calculating.
- Stripe Integration is stuck: Because the calculation widget is failing, the Stripe field is not receiving a value. Furthermore, I cannot see the 'User Defined Amount' option in my Stripe settings.
- Hidden Field Data: I need to ensure that when fields are hidden by logic, their values are not cleared. I have set 'Clear Hidden Field Values' to 'Don't Clear,' but the data doesn't seem to be reaching the widget.
Could you please look at my Conditions and the Total Booking Fee widget and tell me why the math is breaking? I have authorized support access to my account."
What we want to achieve (The Goal)If the "Smart Calculator" were working perfectly right now, here is what it would look like to the client:
- The Intelligence: The form knows that "Candle Painting" costs €430 for 10 people. It stores this in its "memory" (hidden fields).
- The Math: If a customer enters 12 people, the calculator sees they are 2 people over the limit. It does: $430 + (2 \times 43) = 516$.
- The Result: The customer sees €516 appear instantly on the screen.
- The Payment: When they click "Pay," Stripe already knows the total is €516 because it is "listening" to the calculator.
-
Sheena JotForm SupportHi The_Werkstatt,
When I cloned and tested your form, everything worked the way it was supposed to. Take a look at the screenshot below to see my results:
If you can send us a short screen recording of the steps you’re taking, it’ll help us pinpoint the issue. Loom, Google Drive, or Dropbox links all work fine.
Once we hear back from you, we'll be able to help you with this.
-
The_WerkstattHello Jotform Support Team,
Thank you for your previous assistance. I’ve implemented your recommendations and retested the form. While the location filtering for some workshops works correctly, there are still two main issues:
- Location conflict persists for one workshop: Selecting Candle Painting shows both the Belgian Quarter and Zollstock calendars at once. The goal is to show only one calendar (in this case, Belgian Quarter) depending on the workshop. This works for Flower Hoop and Dip Dye, but Candle Painting still displays both calendars simultaneously.
- Pricing logic still not updating: The “Live Booking Summary & Total” only shows the base price and doesn’t change when the number of participants exceeds the minimum. For example:
- Candle Painting – 8 participants correctly showed €430. Changing the number to 12 should update the total to €516, but it stays at €430.
- Dip Dye – 11 participants (below the 12‑person minimum) correctly show €588. However, increasing to 13 participants should add the extra‑person fee, yet the total remains €588.
- No workshop shows any change beyond the base price when the participant count increases.
I’ve confirmed that the conditions populate the hidden pricing fields, and the Form Calculation widget uses the formula [Secret_Base_Price] + max(0, ([Number_of_Participants] - [Secret_Min_Pax])) * [Secret_Extra_Fee]. The formula is read‑only and linked to the Stripe field, yet the computed total does not update.
Could you please advise why the calculation isn’t triggered when the participant count changes, and how to ensure the correct calendar is displayed for Candle Painting? Any insight on fixing these remaining issues would be appreciated.
-
LaurenHi The_Werkstatt,
Here are some common reasons calculations might not trigger and steps you can take to troubleshoot these issues.
For participation count - common reasons it doesn't trigger:
- The Number field in the formula is an old/duplicated field.
- A condition is also writing to the Total field and overwriting the calculation.
- Formula was changed but Save in the widget wasn’t clicked.
Add these fields:
- Workshop selector: Single Choice/Dropdown (e.g., “Workshop A, Workshop B…”).
- Participant count: Number field.
- Price per participant: hidden Numberfield (optional if price varies).
- Total: Form Calculation widget.
Setup:
- If each workshop has a different price:
- Settings → Conditions → Update/Calculate Field:
- IF Workshop = A → set “Price per participant” to 100
- IF Workshop = B → set “Price per participant” to 150, etc.
- In the Form Calculation widget:
- Formula: Number of participants * Price per participant (or Number of participants * 100 if price is fixed).
- Click Save in the widget.
To show correct calendar:
Fields to add:
- Workshop selector: Single Choice/Dropdown (“Workshop A, Workshop B...”).
- One Appointment field per workshop:
- “Workshop A – Date/Time”
- “Workshop B – Date/Time”
Setup:
- Hide all Appointment fields by default (Properties → Advanced → Hide field).
- Settings → Conditions → Show/Hide Field:
- IF Workshop = A → SHOW “Workshop A – Date/Time”
- IF Workshop = B → SHOW “Workshop B – Date/Time"
- (Recommended) Settings → Conditions → Enable/Require Field:
- IF Workshop = A → REQUIRE “Workshop A – Date/Time”
- IF Workshop = B → REQUIRE “Workshop B – Date/Time”, etc.
Give these a try and let us know how it goes!