Thank you 
I hope this is all the code you are looking for. The form can be found under here: SSV Booking Form - Active Stirling
function updateClubInfo() {
fd.field('Title').value = fd.field('Club').value.LookupValue;
}
function updateStartTime() {
fd.field('StartTime').value = fd.field('StartTimeText').value;
}
function updateEndTime() {
fd.field('EndTime').value = fd.field('EndTimeText').value;
}
fd.rendered(function() {
fd.field('Date').widgetOptions = {
popup: {
position: "center center"
}
}
fd.spRendered(function() {
fd.field('StartTimeText').value = fd.field('StartTime').value;
fd.field('EndTimeText').value = fd.field('EndTime').value
fd.field('StartTimeText').$on('change', updateStartTime);
fd.field('EndTimeText').$on('change', updateEndTime);
//executes updateClubInfo on field change
fd.field('Club').$on('change', updateClubInfo);
fd.field('Duration_x0028_mins_x0029_').widgetOptions = {
min: 0,
max: 1440
}
fd.field('StartDate').widgetOptions = {
min: new Date(2023, 6, 1),
max: new Date(2024, 5, 30),
setDate: new Date(2023, 6, 1),
disableDates: [new Date(2023, 11, 25), new Date(2023, 11, 26), new Date(2024, 0, 1)]
}
fd.field('EndDate').widgetOptions = {
min: new Date(2023, 6, 1),
max: new Date(2024, 5, 30),
setDate: new Date(2023, 6, 1),
disableDates: [new Date(2023, 11, 25), new Date(2023, 11, 26), new Date(2024, 0, 1)]
}
fd.field('EndDate').validators.push({
name: 'DateValidator',
error: "The end date must be greater than the start date.",
validate: function(value) {
if (fd.field('EndDate').value < fd.field('StartDate').value){
return false;
}
return true;
}
});
});
fd.spRendered(function() {
function toggleFields() {
if (fd.field('Status').value == 'Calculating price...') {
$('.calculatingprice').show();
fd.field('Payment_x0020_Method').disabled = true;
fd.field('FacilitySpace').disabled = true;
fd.field('PriceProduct').disabled = true;
fd.field('AreatoAllocate').disabled = true;
fd.field('StartDate').disabled = true;
fd.field('EndDate').disabled = true;
fd.field('ExcludedDates').disabled = true;
fd.field('StartTimeText').disabled = true;
fd.field('EndTimeText').disabled = true;
fd.field('Duration_x0028_mins_x0029_').disabled = true;
fd.field('_x0032_022Override').disabled = true;
fd.field('_x0032_023Override').disabled = true;
fd.field('_x0032_022PriceOverride').disabled = true;
fd.field('_x0032_023PriceOverride').disabled = true;
} else if (fd.field('Status').value == 'Allocation Sent') {
$('.calculatingprice').hide();
} else if (fd.field('Status').value == 'Allocation Not Sent') {
$('.calculatingprice').hide();
} else if (fd.field('Status').value == 'Send Allocation') {
$('.calculatingprice').hide();
} else {
$('.calculatingprice').hide();
}
}
toggleFields();
function amendedStatus () {
fd.field('Status').value = 'Calculating price...';
fd.field('CostPerHour').value = 0;
fd.field('CostPerHour_x0028_2023_x0029_').value = 0;
}
fd.field('PriceProduct').$on('change',amendedStatus);
//Show/Hide 2023 override
function toggle2023Override() {
if (fd.field('_x0032_022Override').value == true) {
$('.2023Override').show();
} else {
$('.2023Override').hide();
}
}
fd.field('_x0032_022Override').$on('change', toggle2023Override);
toggle2023Override();
//Show/Hide 2024 override
function toggle2024Override() {
if (fd.field('_x0032_023Override').value == true) {
$('.2024Override').show();
} else {
$('.2024Override').hide();
}
}
fd.field('_x0032_023Override').$on('change', toggle2024Override);
toggle2024Override();
//toolbar settings
fd.messages.SPFormToolbar_Saving = ' Save changes'
fd.messages.SPFormToolbar_Save = ' Save changes'
fd.messages.SPFormToolbar_Close = ' Exit without saving'
fd.toolbar.buttons[0].icon = 'Save';
fd.toolbar.buttons[1].icon = 'ChromeClose';
//activate request button
function toggleActive() {
if (fd.field('Status').value == 'Allocation Not Sent') {
// Activate request
fd.toolbar.buttons.push({
icon: 'SkypeCircleCheck',
class: 'btn-outline-success',
text: ' Send with allocation flow',
click: function() { if (confirm("This will add this allocation to the Block Booking confirmation flow. Click OK to confirm."))
{fd.field('Status').value = 'Send Allocation';
fd.save();
}
}
});
} else {
}
}
toggleActive();
//close request button
function toggleClosed() {
if (fd.field('Status').value == 'Send Allocation') {
// Close request
fd.toolbar.buttons.push({
icon: 'DeleteRows',
class: 'btn-outline-danger',
text: ' Remove from allocation flow',
click: function() { if (confirm("Click OK to confirm you would like to close this ticket."))
{fd.field('Status').value = 'Allocation Not Sent';
fd.save();
}
}
});
} else {
}
}
toggleClosed();
//escalate request button
function toggleEscalate() {
if (fd.field('Status').value == 'Allocation Sent') {
// Escalate request
fd.toolbar.buttons.push({
icon: 'Undo',
class: 'btn-outline-warning',
text: ' Reset allocation status',
click: function() { if (confirm("This action will recalculate the price for this allocation, and change the status to Allocation Not Sent. Click OK to confirm.."))
{fd.field('Status').value = 'Calculating price...';
fd.field('CostPerHour').value = 0;
fd.field('CostPerHour_x0028_2023_x0029_').value = 0;
fd.save();
}
}
});
} else {
}
}
toggleEscalate();
});
Thanks in advance 
Karen