Wondering if anyone has any idea if the following requirement is actually possible with Vendr or if anyone has any ideas on how this can be implemented within the Vendr framework, or alternative options?
"Can we also have the functionality to ‘add another delegate’ once an individual has filled out the information, before they are taken to the payment page? Sometimes an organisation will book a number of employees on at the same time (to the same or different courses), so would be helpful if the fields that would be kept the same (e.g. company name), but only the personal information for each individual changes (name, dietary requirements for example, the course)."
In this example courses have course dates, and it is quantities of these that are added as products, but can't currently see how you might be able to have different information for each course date added to the basket?
I think you might be able to use the stores “Product Uniqueness Properties” setting for this.
In this field you can provide a number of product / order line properties that will be used to determine uniqueness of an order line. Order lines with differing property values will be handled as distinct order lines, rather than an increase of qty.
In your example it would allow you to add multiple instances of the product to the cart but have each one contain unique trainee information.
Simplest approach might be to assign each trainee a guid and store it in an order line property and then define this property alias as a uniqueness property on the store.
Sorry for the late reply on this, been juggling many things along with revising for a Sitecore developer certification exam which I successfully passed last night!
Thanks for the information, I think the uniqueness might work for what I need but I have some questions over how the extra fields required for the delegates would be captured. Are you suggesting I have a booking form which has the fields that need to be captured for a delegate, and when they click Book Now, that information actually gets added as an order line (with an associated unique Guid) and I can disable the ability to increase the quantity directly within the basket?
Sorry, just been thinking about the process a little more and this is what I have come up with:
We do away with the add to basket button on the course page, and just keep “Book” / “Book Now”. Clicking this button will take them to a page similar to the booking form you have but without the payment details where we capture the main booking details, and the details of the main booking delegate.
If they check the box to add additional delegates, they will be asked how many they want to add. If they are not adding additional delegates they will just be presented with an Add To Basket button at that point,
If they are adding additional delegates, they will have a button titled “Next – Additional Delegate Details” - when clicked on it will take them to a page with a section of fields repeated for the number of additional delegates they are adding, they will fill these details in and then click an “Add to Basket” button
This will create a separate order line for the number of delegates booking onto the course. They can only add additional people to the same course at this point by doing the booking process again.
Upon viewing the basket, each delegate appears as a separate order line in the basket with the option to remove a delegate (order line) – there will be no option to alter the quantity at this point as we cannot collect delegate information directly via the basket.
Does this sound feasible with the Vendr functionality available, and/or can you think of a better/neater way around this?
That could work yea, though maybe a nicer way might be on the details page, you capture the main details and the primary delegate details but have a button to "Add another delegate" which could use some JS or just post back to the same page and add another order line (with a unique key) to the order and the screen then updates with the additional fields for that order line to be complete. As that order line will be added as part of the "add another delegate" button, this should also update the order price so you can show a running total as you go along.
Not too different from what you have, just more of an inline feeling process. I think ultimately the code for doing it would be pretty much the same from a back end perspective.
Ultimately though, yea, I think you get how it would need to work, using the unique properties to force the creation of unique order lines and then storing the additional details against those properties for later processing.
Many thanks for the reply, very helpful as always, I think I have enough to go on but if I have any questions I will be sure to ask on here :) keep up the good work!
Course bookings - Add additional delegates requirement
Wondering if anyone has any idea if the following requirement is actually possible with Vendr or if anyone has any ideas on how this can be implemented within the Vendr framework, or alternative options?
"Can we also have the functionality to ‘add another delegate’ once an individual has filled out the information, before they are taken to the payment page? Sometimes an organisation will book a number of employees on at the same time (to the same or different courses), so would be helpful if the fields that would be kept the same (e.g. company name), but only the personal information for each individual changes (name, dietary requirements for example, the course)."
In this example courses have course dates, and it is quantities of these that are added as products, but can't currently see how you might be able to have different information for each course date added to the basket?
Hey Graham,
I think you might be able to use the stores “Product Uniqueness Properties” setting for this.
In this field you can provide a number of product / order line properties that will be used to determine uniqueness of an order line. Order lines with differing property values will be handled as distinct order lines, rather than an increase of qty.
In your example it would allow you to add multiple instances of the product to the cart but have each one contain unique trainee information.
Simplest approach might be to assign each trainee a guid and store it in an order line property and then define this property alias as a uniqueness property on the store.
/Matt
Hey Matt,
Sorry for the late reply on this, been juggling many things along with revising for a Sitecore developer certification exam which I successfully passed last night!
Thanks for the information, I think the uniqueness might work for what I need but I have some questions over how the extra fields required for the delegates would be captured. Are you suggesting I have a booking form which has the fields that need to be captured for a delegate, and when they click Book Now, that information actually gets added as an order line (with an associated unique Guid) and I can disable the ability to increase the quantity directly within the basket?
Graham
Sorry, just been thinking about the process a little more and this is what I have come up with:
We do away with the add to basket button on the course page, and just keep “Book” / “Book Now”. Clicking this button will take them to a page similar to the booking form you have but without the payment details where we capture the main booking details, and the details of the main booking delegate.
If they check the box to add additional delegates, they will be asked how many they want to add. If they are not adding additional delegates they will just be presented with an Add To Basket button at that point,
If they are adding additional delegates, they will have a button titled “Next – Additional Delegate Details” - when clicked on it will take them to a page with a section of fields repeated for the number of additional delegates they are adding, they will fill these details in and then click an “Add to Basket” button
This will create a separate order line for the number of delegates booking onto the course. They can only add additional people to the same course at this point by doing the booking process again.
Upon viewing the basket, each delegate appears as a separate order line in the basket with the option to remove a delegate (order line) – there will be no option to alter the quantity at this point as we cannot collect delegate information directly via the basket.
Does this sound feasible with the Vendr functionality available, and/or can you think of a better/neater way around this?
Graham
Hey Graham,
That could work yea, though maybe a nicer way might be on the details page, you capture the main details and the primary delegate details but have a button to "Add another delegate" which could use some JS or just post back to the same page and add another order line (with a unique key) to the order and the screen then updates with the additional fields for that order line to be complete. As that order line will be added as part of the "add another delegate" button, this should also update the order price so you can show a running total as you go along.
Not too different from what you have, just more of an inline feeling process. I think ultimately the code for doing it would be pretty much the same from a back end perspective.
Ultimately though, yea, I think you get how it would need to work, using the unique properties to force the creation of unique order lines and then storing the additional details against those properties for later processing.
/Matt
PS Congrats on passing the Sitecore exam! 🎉
Hi Matt,
Many thanks for the reply, very helpful as always, I think I have enough to go on but if I have any questions I will be sure to ask on here :) keep up the good work!
Graham
is working on a reply...