-
portalsaludableFecha de consulta 5 de diciembre de 2024, 11:46
Buenos días,
necesito generar un formulario que permita la compra de entradas para un evento. Necesito que el máximo de entradas a la venta sean 15, pero estas entradas pueden ser de 3 tipos distintas, cada una con un coste: Entrada normal, a 5 euros; entrada reducida, a 3 euros; y entrada exenta, a 0 euros.
Lo que necesito es que no se puedan vender nunca más de 15 entradas, pero que se puedan combinar de cualquier forma los 3 tipos de entradas hasta sumar ese máximo de 15. ¿Cómo podría hacerlo?
Si además pudiera asociarlo a un selector de fechas sería estupendo, pero esto es secundario.
Muchas gracias.
-
Kyle Jotform SupportFecha de respuesta 5 de diciembre de 2024, 14:36
Hi portalsaludable,
Thanks for reaching out to Jotform Support. Our Spanish Support agents are busy helping other Jotform users right now, so I'll try to help you in English using Google Translate, but you can reply in whichever language you feel comfortable using. Or, if you'd rather have support in Spanish, let us know and we can have them do that. But, it might take a while until they're available again.
Now, coming back to your question, I understand what you’d like to do, but I’ll need a bit of time to work out a solution. I’ll get back to you shortly.
-
Kyle Jotform SupportFecha de respuesta 5 de diciembre de 2024, 15:37
Hi portalsaludable,
I recommend using the Quantity Gift Registry widget and setting up Show/Hide field conditions to manage the ticket quantities dynamically. This will allow you to effectively control the total number of tickets while offering the flexibility you need for different ticket types. Let me show you how:
Adding the Quantity Gift Registry:
- In Form Builder, select Add Element option on the upper left side.
- Under Widgets tab in the menu that opens on the left side of the page.
- Drag-drop the Quantity Gift Registry to your form.
- Select the Quantity Gift Registry field and select the Wand icon on the right side.
- Enter the list of tickets in the Items box under the General tab in the menu that opens on the right side of the page.
- Under the General tab, scroll down to Calculate Total and set it to Yes.
- Click on Update Widget on the bottom-right side of the page.
Adding a paragraph element that contains an error when your form responders reached the maximum entries.
- Click the Add Element option on the upper left side.
- Under the Basic tab in the menu that opens on the left side of the page, drag-drop the Paragraph element into your form.
- Customize your error message and click on the Check icon to save.
Adding a condition:
- In Form Builder, in the orange navigation bar at the top of the page, select Settings at the top.
- Select Conditions from the left side.
- Select Show/Hide Field.
- Create the conditions below and click Save:
Check out my screencast below to see the result:
You can also checkout my sample form and clone it.
Give it a try and let us know if you need any other help.
-
portalsaludableFecha de respuesta 6 de diciembre de 2024, 4:36
Buenos días! Muchas gracias por tu respuesta y ayuda.
El ejemplo que envías se acerca más a la solución pero lamentablemente no nos vale porque, aunque no permite reservar más de 15 plazas por envío de formulario, sí permitiría que otra persona vuelva a reservar el mismo día con más gente en otro envío... y eso no podemos permitirlo puesto que sólo tenemos 15 plazas por turno y una vez completo no debe dejar que otro usuario reserve más.
Te dejo más detalles para el formulario de reserva de tickets:
- Habría dos turnos por día abierto.
- Cada turno debe permitir un máximo de 15 plazas máximas en total, y por tanto una vez completadas las plazas debe figurar como "No disponible" o "Completo" para los siguientes usuarios si seleccionan ese turno. Obligándoles a seleccionar otro turno que sí tenga plazas disponibles.
- Cada plaza puede reservarse con 3 tipos de tickets diferentes con 3 diferentes precios (5€, 3€ y 0€)
- El usuario debe pagar al final para completar la reserva.
Lo más cerca que he llegado es este formulario: https://form.jotform.com/243394985092065
Lo que quiero hacer es que se muestren los 15 tickets permitidos por turno seleccionado en el calendario, pero se muestra como 15 tickets en total independientemente del turno seleccionado:
Por ejemplo, he hecho una reserva para el día 7, en el turno de las 11:00, de 3 plazas, si entro en el formulario de nuevo me muestra que sólo quedan 12, esto estaría bien para ese turno, pero me muestra 12 independientemente del día que seleccione, incluso en turnos que no han recibido reservas:
- Para el día 7 se han descontado las plazas reservadas:
- Pero aquí, al ser un turno diferente que no ha recibido reservas, debería mostrarse 15 plazas disponibles, pero muestra 12:
Espera que estos detalles ayuden a comprender mejor mi problema y agradezco su ayuda y su pronta respuesta. Quedo a la espera. Muchas gracias de nuevo!
-
Marco Jotform SupportFecha de respuesta 6 de diciembre de 2024, 21:38
Hi portalsaludable,
Our Spanish Support agents are busy helping other Jotform users right now, so I'll try to help you in English using Google Translate, but you can reply in whichever language you feel comfortable using. Or, if you'd rather have support in Spanish, let us know and we can have them do that. But, it might take a while until they're available again.
Now, coming back to your question, your requirements are a bit too complex to be achieved easily. The Appointment field you placed in your demo form doesn't allow users to book more than a single slot for each submission. Meaning that if someone wants to book 5 tickets, he should fill out the form 5 times.
The Quantity Gift Registry allows you to book more tickets, but as you mentioned, you should be able to keep track of the already booked tickets and disable the date once all the tickets have been sold for the specific shift. At the same time, you need the ticket count to refresh the available quantities every shift. This is not manageable with the widget you're using.
The only possible solution I could suggest is a bit time-consuming, but the end result is good, also in terms of user experience. Let me guide you through this solution:
- I noticed you already have a Product List on your form. We'll use it in an unconventional way. Instead of adding the ticket type (Entrada normal, Entrada reducida, Exenta) as products, like you're currently doing, we'll add every product as an event date. Supposing that you'll have two dates in December, the Product List will appear like this:
- Using the Product List, allows us to take advantage of the stock control, that will make available only the remaining quantity of tickets, as users are booking them. This means they won't be able to book other tickets, if the tickets for that specific day and shift have already been all booked. Once created a date on the Product List, click on the shopping cart icon to open the settings.
- From the right side panel, hover your mouse over the product and click on the pencil icon.
- Open the Options tab at the top and add a quantity selector with a range of 1-15.
- Now add a Product Option, change the label to Shift, and specify two options: 11:00 and 13:00, which are your event shifts.
- Once done, go to the previous panel, click on the Stock tab, and set a value of 15 for each shift.
- Instead of repeating the whole process for every event date, you can simply duplicate the product and edit its name to match the desired event date.
The Product List, allows us another useful feature. We can group our products in categories. In our case, we use this feature to create as many categories as the number of months we're going to hold our events on, and we'll assign each date to the corresponding month. On my example, I considered events will be held on the months of December, and January, so let's create the corresponding categories.
- Select the Product List and click on the Shopping Cart icon to open the right side panel.
- Click on the blue button Settings on top of the panel, and scroll down until you see Enter new category.
- Insert all the desired months as categories, and add each date to the corresponding month.
Now that we managed to set up the Product List, we can jump to the second part. Here's how to proceed:
- From the Form Elements panel on the left of the Form Builder, add three Dropdown fields to the form, with options ranging 1-15. We'll call them Entrada anormal, Entrada reducida, and Exenta.
- From the Form Elements panel, click on the Widgets tab at the top, and add a Form Calculation widget to the form. We'll call it Order Total $.
- Select the Order Total $ field, and click on the magic wand icon on the right.
- On the Calculation box on the right side of the page, add the field Entrada anormal multiplied by 5, and sum it to the field Entrada reducida multiplied by 3, considering $5 for the normal ticket, and $3 for the reduced.
We're almost done, don't worry. Let's create a very simple form that we'll be using for collecting the payment. The form will simply include a payment integration (in my example PayPal Personal, but you can choose any). It will also include a Form Calculation widget, to receive the order total from the main form. And a Short Text field that we may call Submission Tracker, which will allow us to track back the order for each payment received. The form will look like this:
Now, let's go back to our main form, and let's give a final touch.
- Click on Settings on the orange navigation bar at the top of the Form Builder.
- Open the Thank You Page tab on the left, and click on Redirect to an external link after submission.
- Finally, let's enter our Payment Form's URL, passing some parameters to populate the fields on the payment form. Considering that my demo payment form's URL is https://form.jotform.com/243407336875059, the full URL will look like this:
https://form.jotform.com/243407336875059?orderTotal={orderTotal}&mainSubmission={id}
The final workflow will appear like this:
You can clone my main form and the payment form if you'd like to inspect them deeper.
Give it a try and let us know how it goes.
- I noticed you already have a Product List on your form. We'll use it in an unconventional way. Instead of adding the ticket type (Entrada normal, Entrada reducida, Exenta) as products, like you're currently doing, we'll add every product as an event date. Supposing that you'll have two dates in December, the Product List will appear like this: