diff --git a/src/helpers/recal-helper.js b/src/helpers/recal-helper.js
index e72c2d63..8387dbc8 100644
--- a/src/helpers/recal-helper.js
+++ b/src/helpers/recal-helper.js
@@ -52,3 +52,31 @@ export function getRecalPartNumbers(glassPartsArray) {
}
}
+export function containsRecalParts(lineItems) {
+ if (!lineItems) {
+ return false;
+ }
+
+ if (Array.isArray(lineItems)) {
+ return lineItems.some((li) => isRecalPartOrHasChildRecalPart(li));
+ } else {
+ // complex object form -- flatten and re-call.
+ const flattened = [
+ ...(lineItems.glassParts ?? []),
+ ...(lineItems.supportingItems ?? []),
+ ...(lineItems.vaps ?? []),
+ ...(lineItems.promos ?? []),
+ ];
+
+ return flattened.some((li) => isRecalPartOrHasChildRecalPart(li));
+ }
+}
+
+export function anyPartWithRequiresRecalFlag(lineItems) {
+ if (!lineItems) {
+ return false;
+ }
+
+ return lineItems.glassParts?.some((li) => li.requiresRecalibration === true);
+}
+
diff --git a/src/layouts/schedule-page/schedule-page.vue b/src/layouts/schedule-page/schedule-page.vue
index b4a68eb0..3e33861d 100644
--- a/src/layouts/schedule-page/schedule-page.vue
+++ b/src/layouts/schedule-page/schedule-page.vue
@@ -46,6 +46,19 @@
:customSelectableDatesCallback="getAvailableDatesMethod"
@dateSelected="dateSelectedFromPicker"
@timeSlotSelected="timeSlotSelectedFromPicker" />
+