@perdieminc/time-slots 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -40,7 +40,7 @@ Builds the schedule for the current location and fulfillment preference.
40
40
  | `locations` | List of locations (with `location_id`, `timezone`, and business hours). |
41
41
  | `cartItems` | Cart items (used for pre-sale, weekly pre-sale, catering prep time, and category-based filtering). |
42
42
  | `fulfillmentPreference` | `"PICKUP"` \| `"DELIVERY"` \| `"CURBSIDE"`. |
43
- | `prepTimeSettings` | Prep time in minutes, per-weekday overrides, gap, busy times, cadence (minute/hour/day), frequency, and optional delivery buffer. |
43
+ | `prepTimeSettings` | Prep time in minutes, per-weekday overrides, gap, busy times, **fulfillAtBusinessDayStart** (when true, prep is by day; when false, by minutes), and optional delivery buffer. |
44
44
  | `currentLocation` | The location to generate the schedule for. |
45
45
  | `isCateringFlow` | If `true`, prep time is derived from cart catering config. |
46
46
  | `platform` | `"web"` \| `"ios"` \| `"android"` for timezone handling (default `"web"`). |
@@ -52,7 +52,7 @@ Builds the schedule for the current location and fulfillment preference.
52
52
  ### Types and constants
53
53
 
54
54
  - **Fulfillment:** `FULFILLMENT_TYPES`, `FulfillmentType`, `FulfillmentSchedule`, `DaySchedule`.
55
- - **Prep time:** `PrepTimeBehaviour` (first shift / every shift / roll), `DEFAULT_PREP_TIME_IN_MINUTES`, `DEFAULT_GAP_IN_MINUTES`, `PrepTimeSettings`, `PrepTimeCadence` (minute / hour / day).
55
+ - **Prep time:** `PrepTimeBehaviour` (first shift / every shift / roll), `DEFAULT_PREP_TIME_IN_MINUTES`, `DEFAULT_GAP_IN_MINUTES`, `MINUTES_PER_DAY`, `PrepTimeSettings`, `PrepTimeCadence` (minute / hour / day).
56
56
  - **Store / cart:** `StoreConfig`, `PreSaleConfig`, `WeeklyPreSaleConfig`, `CartItem`, `PrepTimeSettings`, `CateringPrepTimeResult`.
57
57
  - **Location / hours:** `LocationLike`, `BusinessHour`, `BusinessHoursOverrideInput` / `Output`, `getLocationsBusinessHoursOverrides`, `getOpeningClosingTime`.
58
58
  - **Platform:** `PLATFORM` (web, ios, android).
@@ -71,14 +71,15 @@ Internal schedule generation uses **`getNextAvailableDates`**-style logic (timez
71
71
 
72
72
  ## Prep time (high level)
73
73
 
74
- Prep time can be applied in different ways (see `PrepTimeBehaviour` and `PrepTimeSettings`):
74
+ Prep time is either **by minutes** or **by day** (e.g. in dashboard, when prep is set to “day”, it is treated as day-based).
75
75
 
76
- - **Cadence:** by **minute**, **hour**, or **day** (e.g. “first slot after 2 days”).
77
- - **Per weekday:** different prep minutes per day via `weekDayPrepTimes`.
76
+ - **By day:** First slot is at **business start** (opening) on the next open day(s). Number of days is derived from `prepTimeInMinutes` (e.g. 1440 min = 1 day).
77
+ - **By minutes:** First slot = order time + prep minutes, within store hours.
78
+ - **Per weekday:** different prep minutes per day via `weekDayPrepTimes` (when not using day-based prep).
78
79
  - **Catering:** when `isCateringFlow` is true, cadence and frequency are derived from cart items via `getCateringPrepTimeConfig`.
79
80
  - **Delivery:** optional `estimatedDeliveryMinutes` added to weekday prep times for delivery.
80
81
 
81
- Detailed behaviour and edge cases are covered by the test suite. QA-friendly test cases (Given / When / Expected) are in [docs/TEST-CASES.md](docs/TEST-CASES.md).
82
+ QA-friendly test cases (Given / When / Expected) are in [docs/TEST-CASES.md](docs/TEST-CASES.md).
82
83
 
83
84
  ## Scripts
84
85
 
@@ -10,6 +10,7 @@ export declare const DEFAULT_TIMEZONE = "America/New_York";
10
10
  export type FulfillmentType = (typeof FULFILLMENT_TYPES)[keyof typeof FULFILLMENT_TYPES];
11
11
  export declare const DEFAULT_GAP_IN_MINUTES = 15;
12
12
  export declare const DEFAULT_PREP_TIME_IN_MINUTES = 5;
13
+ export declare const MINUTES_PER_DAY = 1440;
13
14
  /**
14
15
  * Prep time behaviour when computing first available slot.
15
16
  */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAEX,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AACnD,MAAM,MAAM,eAAe,GAC1B,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;EAI5B,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAChC,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAEX,MAAM,MAAM,eAAe,GAC1B,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;CAIX,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAEX,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AACnD,MAAM,MAAM,eAAe,GAC1B,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAC9C,eAAO,MAAM,eAAe,OAAO,CAAC;AACpC;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;EAI5B,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAChC,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAEX,MAAM,MAAM,eAAe,GAC1B,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;CAIX,CAAC"}
package/lib/constants.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PLATFORM = exports.PREP_TIME_CADENCE = exports.PrepTimeBehaviour = exports.DEFAULT_PREP_TIME_IN_MINUTES = exports.DEFAULT_GAP_IN_MINUTES = exports.DEFAULT_TIMEZONE = exports.FULFILLMENT_TYPES = void 0;
3
+ exports.PLATFORM = exports.PREP_TIME_CADENCE = exports.PrepTimeBehaviour = exports.MINUTES_PER_DAY = exports.DEFAULT_PREP_TIME_IN_MINUTES = exports.DEFAULT_GAP_IN_MINUTES = exports.DEFAULT_TIMEZONE = exports.FULFILLMENT_TYPES = void 0;
4
4
  /**
5
5
  * Fulfillment types for pickup, delivery, curbside.
6
6
  */
@@ -12,6 +12,7 @@ exports.FULFILLMENT_TYPES = {
12
12
  exports.DEFAULT_TIMEZONE = "America/New_York";
13
13
  exports.DEFAULT_GAP_IN_MINUTES = 15;
14
14
  exports.DEFAULT_PREP_TIME_IN_MINUTES = 5;
15
+ exports.MINUTES_PER_DAY = 1440;
15
16
  /**
16
17
  * Prep time behaviour when computing first available slot.
17
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,iBAAiB,GAAG;IAChC,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;CACX,CAAC;AAEE,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AAItC,QAAA,sBAAsB,GAAG,EAAE,CAAC;AAC5B,QAAA,4BAA4B,GAAG,CAAC,CAAC;AAE9C;;GAEG;AACU,QAAA,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9C,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,CAAC;IACd,qBAAqB,EAAE,CAAC;CACxB,CAAC,CAAC;AAKU,QAAA,iBAAiB,GAAG;IAChC,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;CACH,CAAC;AAKX;;GAEG;AACU,QAAA,QAAQ,GAAG;IACvB,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,SAAS;CACT,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,iBAAiB,GAAG;IAChC,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;CACX,CAAC;AAEE,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AAItC,QAAA,sBAAsB,GAAG,EAAE,CAAC;AAC5B,QAAA,4BAA4B,GAAG,CAAC,CAAC;AACjC,QAAA,eAAe,GAAG,IAAI,CAAC;AACpC;;GAEG;AACU,QAAA,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9C,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,CAAC;IACd,qBAAqB,EAAE,CAAC;CACxB,CAAC,CAAC;AAKU,QAAA,iBAAiB,GAAG;IAChC,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;CACH,CAAC;AAKX;;GAEG;AACU,QAAA,QAAQ,GAAG;IACvB,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,SAAS;CACT,CAAC"}
package/lib/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export type { FulfillmentType, PrepTimeBehaviourType } from "./constants";
2
2
  export { DEFAULT_GAP_IN_MINUTES, DEFAULT_PREP_TIME_IN_MINUTES, FULFILLMENT_TYPES, PLATFORM, PrepTimeBehaviour, } from "./constants";
3
3
  export { getSchedules } from "./schedule/get-schedules";
4
4
  export * from "./types";
5
+ export type { BusinessHour, BusinessHourInput, BusinessHoursOverrideInput, BusinessHoursOverrideOutput, } from "./types/business-hours";
5
6
  export { getLocationsBusinessHoursOverrides } from "./utils/business-hours";
6
7
  export { getCateringPrepTimeConfig } from "./utils/catering";
7
8
  export { getPreSalePickupDates, isTodayInTimeZone, isTomorrowInTimeZone, overrideTimeZoneOnUTC, } from "./utils/date";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EACN,sBAAsB,EACtB,4BAA4B,EAC5B,iBAAiB,EACjB,QAAQ,EACR,iBAAiB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,kCAAkC,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EACN,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,2BAA2B,EAC3B,uBAAuB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EACN,sBAAsB,EACtB,4BAA4B,EAC5B,iBAAiB,EACjB,QAAQ,EACR,iBAAiB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,cAAc,SAAS,CAAC;AACxB,YAAY,EACX,YAAY,EACZ,iBAAiB,EACjB,0BAA0B,EAC1B,2BAA2B,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kCAAkC,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EACN,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,2BAA2B,EAC3B,uBAAuB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC"}
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,yCAMqB;AALpB,mHAAA,sBAAsB,OAAA;AACtB,yHAAA,4BAA4B,OAAA;AAC5B,8GAAA,iBAAiB,OAAA;AACjB,qGAAA,QAAQ,OAAA;AACR,8GAAA,iBAAiB,OAAA;AAElB,0DAAwD;AAA/C,6GAAA,YAAY,OAAA;AACrB,0CAAwB;AACxB,yDAA4E;AAAnE,oIAAA,kCAAkC,OAAA;AAC3C,6CAA6D;AAApD,qHAAA,yBAAyB,OAAA;AAClC,qCAKsB;AAJrB,6GAAA,qBAAqB,OAAA;AACrB,yGAAA,iBAAiB,OAAA;AACjB,4GAAA,oBAAoB,OAAA;AACpB,6GAAA,qBAAqB,OAAA;AAEtB,2DAGiC;AAFhC,8HAAA,2BAA2B,OAAA;AAC3B,0HAAA,uBAAuB,OAAA;AAExB,mDAA4D;AAAnD,oHAAA,qBAAqB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,yCAMqB;AALpB,mHAAA,sBAAsB,OAAA;AACtB,yHAAA,4BAA4B,OAAA;AAC5B,8GAAA,iBAAiB,OAAA;AACjB,qGAAA,QAAQ,OAAA;AACR,8GAAA,iBAAiB,OAAA;AAElB,0DAAwD;AAA/C,6GAAA,YAAY,OAAA;AACrB,0CAAwB;AAOxB,yDAA4E;AAAnE,oIAAA,kCAAkC,OAAA;AAC3C,6CAA6D;AAApD,qHAAA,yBAAyB,OAAA;AAClC,qCAKsB;AAJrB,6GAAA,qBAAqB,OAAA;AACrB,yGAAA,iBAAiB,OAAA;AACjB,4GAAA,oBAAoB,OAAA;AACpB,6GAAA,qBAAqB,OAAA;AAEtB,2DAGiC;AAFhC,8HAAA,2BAA2B,OAAA;AAC3B,0HAAA,uBAAuB,OAAA;AAExB,mDAA4D;AAAnD,oHAAA,qBAAqB,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-schedules.d.ts","sourceRoot":"","sources":["../../src/schedule/get-schedules.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAGX,kBAAkB,EAClB,kBAAkB,EAGlB,MAAM,UAAU,CAAC;AAoIlB,wBAAgB,YAAY,CAAC,EAC5B,KAAK,EACL,SAAS,EACT,SAAS,EACT,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,cAAsB,EACtB,QAAuB,GACvB,EAAE,kBAAkB,GAAG,kBAAkB,CA4GzC"}
1
+ {"version":3,"file":"get-schedules.d.ts","sourceRoot":"","sources":["../../src/schedule/get-schedules.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAGX,kBAAkB,EAClB,kBAAkB,EAGlB,MAAM,UAAU,CAAC;AA6JlB,wBAAgB,YAAY,CAAC,EAC5B,KAAK,EACL,SAAS,EACT,SAAS,EACT,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,cAAsB,EACtB,QAAuB,GACvB,EAAE,kBAAkB,GAAG,kBAAkB,CA4GzC"}
@@ -57,6 +57,27 @@ function addEstimatedDeliveryToWeekDays(weekDayPrepTimes, estimatedDeliveryMinut
57
57
  }
58
58
  return result;
59
59
  }
60
+ /**
61
+ * Returns prep time cadence and frequency for schedule generation.
62
+ * If prepTimeCadence and prepTimeFrequency exist on settings (e.g. from catering), returns them.
63
+ * Otherwise derives from fulfillAtBusinessDayStart and prepTimeInMinutes (days = prepTimeInMinutes / MINUTES_PER_DAY).
64
+ */
65
+ function getPrepTimeCadenceAndFrequency(settings) {
66
+ const hasCadence = settings.prepTimeCadence != null && settings.prepTimeFrequency != null;
67
+ if (hasCadence) {
68
+ return settings;
69
+ }
70
+ const fulfillAtBusinessDayStart = settings.fulfillAtBusinessDayStart;
71
+ return {
72
+ ...settings,
73
+ prepTimeCadence: fulfillAtBusinessDayStart
74
+ ? constants_1.PREP_TIME_CADENCE.DAY
75
+ : constants_1.PREP_TIME_CADENCE.MINUTE,
76
+ prepTimeFrequency: fulfillAtBusinessDayStart
77
+ ? Math.floor(settings.prepTimeInMinutes / constants_1.MINUTES_PER_DAY)
78
+ : (settings?.prepTimeInMinutes ?? 0),
79
+ };
80
+ }
60
81
  /**
61
82
  * Resolves prep time config: for catering flow uses cart-derived cadence/frequency;
62
83
  * when fulfillment is DELIVERY, adds estimatedDeliveryMinutes to all weekday prep times.
@@ -97,7 +118,7 @@ function resolvePrepTimeConfig(prepTimeSettings, cartItems, isCateringFlow, fulf
97
118
  function getSchedules({ store, locations, cartItems, fulfillmentPreference, prepTimeSettings, currentLocation, isCateringFlow = false, platform = constants_1.PLATFORM.WEB, }) {
98
119
  const { isAsapOrders, isSameDayOrders, max_future_order_days: daysCount = 7, weeklyPreSaleConfig, preSaleConfig, } = store;
99
120
  const cart = deriveCartInfo(cartItems);
100
- const resolvedPrepTime = resolvePrepTimeConfig(prepTimeSettings, cartItems, isCateringFlow, fulfillmentPreference, currentLocation?.timezone);
121
+ const resolvedPrepTime = resolvePrepTimeConfig(getPrepTimeCadenceAndFrequency(prepTimeSettings), cartItems, isCateringFlow, fulfillmentPreference, currentLocation?.timezone);
101
122
  const { gapInMinutes, busyTimes: busyTimesByLocationId, prepTimeFrequency, prepTimeCadence, weekDayPrepTimes, } = resolvedPrepTime;
102
123
  const busyTimes = busyTimesByLocationId?.[currentLocation.location_id] ?? [];
103
124
  const businessHoursOverrides = (0, business_hours_1.getLocationsBusinessHoursOverrides)(store.businessHoursOverrides, locations)[currentLocation.location_id] ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"get-schedules.js","sourceRoot":"","sources":["../../src/schedule/get-schedules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-schedules.js","sourceRoot":"","sources":["../../src/schedule/get-schedules.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@perdieminc/time-slots",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "Generate time slots for scheduling",
5
5
  "keywords": [
6
6
  "time-slots",