@sellout/models 0.0.436 → 0.1.0

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.
@@ -22,6 +22,7 @@ mutation multipleBreakApartSeasonOrder($orderId: [String]!) {
22
22
  event {
23
23
  _id
24
24
  isMultipleDays
25
+ multiDayEntry
25
26
  name
26
27
  subtitle
27
28
  performances {
@@ -1 +1 @@
1
- {"version":3,"file":"multipleBreakApartSeasonOrder.mutation.js","sourceRoot":"","sources":["../../../src/graphql/mutations/multipleBreakApartSeasonOrder.mutation.ts"],"names":[],"mappings":";;;;;AAAA,2CAAmC;AACnC,iFAAgD;AAEhD,MAAM,QAAQ,GAAG,IAAA,YAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoDhB,wBAAK,CAAC,SAAS,CAAC,OAAO;IACvB,wBAAK,CAAC,SAAS,CAAC,QAAQ;CAC3B,CAAC;AAGF,kBAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"multipleBreakApartSeasonOrder.mutation.js","sourceRoot":"","sources":["../../../src/graphql/mutations/multipleBreakApartSeasonOrder.mutation.ts"],"names":[],"mappings":";;;;;AAAA,2CAAmC;AACnC,iFAAgD;AAEhD,MAAM,QAAQ,GAAG,IAAA,YAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqDhB,wBAAK,CAAC,SAAS,CAAC,OAAO;IACvB,wBAAK,CAAC,SAAS,CAAC,QAAQ;CAC3B,CAAC;AAGF,kBAAe,QAAQ,CAAC"}
@@ -77,6 +77,7 @@ const query = (0, client_1.gql) `
77
77
  schedule {
78
78
  doorsAt
79
79
  startsAt
80
+ endsAt
80
81
  }
81
82
  }
82
83
  schedule {
@@ -108,6 +109,7 @@ const query = (0, client_1.gql) `
108
109
  schedule {
109
110
  doorsAt
110
111
  startsAt
112
+ endsAt
111
113
  }
112
114
  }
113
115
  schedule {
@@ -1 +1 @@
1
- {"version":3,"file":"order.query.js","sourceRoot":"","sources":["../../../src/graphql/queries/order.query.ts"],"names":[],"mappings":";;;;;AAAA,2CAAqC;AACrC,iFAAgD;AAEhD,MAAM,KAAK,GAAG,IAAA,YAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6Nb,wBAAK,CAAC,SAAS,CAAC,OAAO;IACvB,wBAAK,CAAC,SAAS,CAAC,QAAQ;IACxB,wBAAK,CAAC,SAAS,CAAC,UAAU;CAC7B,CAAC;AAEF,kBAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"order.query.js","sourceRoot":"","sources":["../../../src/graphql/queries/order.query.ts"],"names":[],"mappings":";;;;;AAAA,2CAAqC;AACrC,iFAAgD;AAEhD,MAAM,KAAK,GAAG,IAAA,YAAG,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+Nb,wBAAK,CAAC,SAAS,CAAC,OAAO;IACvB,wBAAK,CAAC,SAAS,CAAC,QAAQ;IACxB,wBAAK,CAAC,SAAS,CAAC,UAAU;CAC7B,CAAC;AAEF,kBAAe,KAAK,CAAC"}
@@ -27470,6 +27470,7 @@ $root.UpdateOrderParams = (function() {
27470
27470
  * @property {boolean|null} [scan] UpdateOrderParams scan
27471
27471
  * @property {string|null} [email] UpdateOrderParams email
27472
27472
  * @property {string|null} [upgradeId] UpdateOrderParams upgradeId
27473
+ * @property {number|null} [scanStartsAt] UpdateOrderParams scanStartsAt
27473
27474
  */
27474
27475
 
27475
27476
  /**
@@ -27527,6 +27528,14 @@ $root.UpdateOrderParams = (function() {
27527
27528
  */
27528
27529
  UpdateOrderParams.prototype.upgradeId = "";
27529
27530
 
27531
+ /**
27532
+ * UpdateOrderParams scanStartsAt.
27533
+ * @member {number} scanStartsAt
27534
+ * @memberof UpdateOrderParams
27535
+ * @instance
27536
+ */
27537
+ UpdateOrderParams.prototype.scanStartsAt = 0;
27538
+
27530
27539
  /**
27531
27540
  * Creates a new UpdateOrderParams instance using the specified properties.
27532
27541
  * @function create
@@ -27561,6 +27570,8 @@ $root.UpdateOrderParams = (function() {
27561
27570
  writer.uint32(/* id 3, wireType 2 =*/26).string(message.email);
27562
27571
  if (message.upgradeId != null && Object.hasOwnProperty.call(message, "upgradeId"))
27563
27572
  writer.uint32(/* id 4, wireType 2 =*/34).string(message.upgradeId);
27573
+ if (message.scanStartsAt != null && Object.hasOwnProperty.call(message, "scanStartsAt"))
27574
+ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.scanStartsAt);
27564
27575
  return writer;
27565
27576
  };
27566
27577
 
@@ -27610,6 +27621,9 @@ $root.UpdateOrderParams = (function() {
27610
27621
  case 4:
27611
27622
  message.upgradeId = reader.string();
27612
27623
  break;
27624
+ case 5:
27625
+ message.scanStartsAt = reader.int32();
27626
+ break;
27613
27627
  default:
27614
27628
  reader.skipType(tag & 7);
27615
27629
  break;
@@ -27660,6 +27674,9 @@ $root.UpdateOrderParams = (function() {
27660
27674
  if (message.upgradeId != null && message.hasOwnProperty("upgradeId"))
27661
27675
  if (!$util.isString(message.upgradeId))
27662
27676
  return "upgradeId: string expected";
27677
+ if (message.scanStartsAt != null && message.hasOwnProperty("scanStartsAt"))
27678
+ if (!$util.isInteger(message.scanStartsAt))
27679
+ return "scanStartsAt: integer expected";
27663
27680
  return null;
27664
27681
  };
27665
27682
 
@@ -27685,6 +27702,8 @@ $root.UpdateOrderParams = (function() {
27685
27702
  message.email = String(object.email);
27686
27703
  if (object.upgradeId != null)
27687
27704
  message.upgradeId = String(object.upgradeId);
27705
+ if (object.scanStartsAt != null)
27706
+ message.scanStartsAt = object.scanStartsAt | 0;
27688
27707
  return message;
27689
27708
  };
27690
27709
 
@@ -27707,6 +27726,7 @@ $root.UpdateOrderParams = (function() {
27707
27726
  object.scan = false;
27708
27727
  object.email = "";
27709
27728
  object.upgradeId = "";
27729
+ object.scanStartsAt = 0;
27710
27730
  }
27711
27731
  if (message.orderId != null && message.hasOwnProperty("orderId"))
27712
27732
  object.orderId = message.orderId;
@@ -27718,6 +27738,8 @@ $root.UpdateOrderParams = (function() {
27718
27738
  object.email = message.email;
27719
27739
  if (message.upgradeId != null && message.hasOwnProperty("upgradeId"))
27720
27740
  object.upgradeId = message.upgradeId;
27741
+ if (message.scanStartsAt != null && message.hasOwnProperty("scanStartsAt"))
27742
+ object.scanStartsAt = message.scanStartsAt;
27721
27743
  return object;
27722
27744
  };
27723
27745
 
@@ -139993,6 +140015,7 @@ $root.MobileCheckInPerformanceSchedule = (function() {
139993
140015
  * @interface IMobileCheckInPerformanceSchedule
139994
140016
  * @property {number|null} [doorsAt] MobileCheckInPerformanceSchedule doorsAt
139995
140017
  * @property {number|null} [startsAt] MobileCheckInPerformanceSchedule startsAt
140018
+ * @property {number|null} [endsAt] MobileCheckInPerformanceSchedule endsAt
139996
140019
  */
139997
140020
 
139998
140021
  /**
@@ -140026,6 +140049,14 @@ $root.MobileCheckInPerformanceSchedule = (function() {
140026
140049
  */
140027
140050
  MobileCheckInPerformanceSchedule.prototype.startsAt = 0;
140028
140051
 
140052
+ /**
140053
+ * MobileCheckInPerformanceSchedule endsAt.
140054
+ * @member {number} endsAt
140055
+ * @memberof MobileCheckInPerformanceSchedule
140056
+ * @instance
140057
+ */
140058
+ MobileCheckInPerformanceSchedule.prototype.endsAt = 0;
140059
+
140029
140060
  /**
140030
140061
  * Creates a new MobileCheckInPerformanceSchedule instance using the specified properties.
140031
140062
  * @function create
@@ -140054,6 +140085,8 @@ $root.MobileCheckInPerformanceSchedule = (function() {
140054
140085
  writer.uint32(/* id 1, wireType 0 =*/8).int32(message.doorsAt);
140055
140086
  if (message.startsAt != null && Object.hasOwnProperty.call(message, "startsAt"))
140056
140087
  writer.uint32(/* id 2, wireType 0 =*/16).int32(message.startsAt);
140088
+ if (message.endsAt != null && Object.hasOwnProperty.call(message, "endsAt"))
140089
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.endsAt);
140057
140090
  return writer;
140058
140091
  };
140059
140092
 
@@ -140094,6 +140127,9 @@ $root.MobileCheckInPerformanceSchedule = (function() {
140094
140127
  case 2:
140095
140128
  message.startsAt = reader.int32();
140096
140129
  break;
140130
+ case 3:
140131
+ message.endsAt = reader.int32();
140132
+ break;
140097
140133
  default:
140098
140134
  reader.skipType(tag & 7);
140099
140135
  break;
@@ -140135,6 +140171,9 @@ $root.MobileCheckInPerformanceSchedule = (function() {
140135
140171
  if (message.startsAt != null && message.hasOwnProperty("startsAt"))
140136
140172
  if (!$util.isInteger(message.startsAt))
140137
140173
  return "startsAt: integer expected";
140174
+ if (message.endsAt != null && message.hasOwnProperty("endsAt"))
140175
+ if (!$util.isInteger(message.endsAt))
140176
+ return "endsAt: integer expected";
140138
140177
  return null;
140139
140178
  };
140140
140179
 
@@ -140154,6 +140193,8 @@ $root.MobileCheckInPerformanceSchedule = (function() {
140154
140193
  message.doorsAt = object.doorsAt | 0;
140155
140194
  if (object.startsAt != null)
140156
140195
  message.startsAt = object.startsAt | 0;
140196
+ if (object.endsAt != null)
140197
+ message.endsAt = object.endsAt | 0;
140157
140198
  return message;
140158
140199
  };
140159
140200
 
@@ -140173,11 +140214,14 @@ $root.MobileCheckInPerformanceSchedule = (function() {
140173
140214
  if (options.defaults) {
140174
140215
  object.doorsAt = 0;
140175
140216
  object.startsAt = 0;
140217
+ object.endsAt = 0;
140176
140218
  }
140177
140219
  if (message.doorsAt != null && message.hasOwnProperty("doorsAt"))
140178
140220
  object.doorsAt = message.doorsAt;
140179
140221
  if (message.startsAt != null && message.hasOwnProperty("startsAt"))
140180
140222
  object.startsAt = message.startsAt;
140223
+ if (message.endsAt != null && message.hasOwnProperty("endsAt"))
140224
+ object.endsAt = message.endsAt;
140181
140225
  return object;
140182
140226
  };
140183
140227
 
@@ -67,8 +67,13 @@ declare const _default: {
67
67
  isSingleEntry(event: IEvent): boolean;
68
68
  ticketScans(event: IEvent, dayIds?: string[]): IScan[];
69
69
  entryDays(event: IEvent, dayIds?: string[]): string[];
70
- scanIsValidOn(scan: IScan, at: number, timezone: string): boolean;
71
- scanIsClosed(scan: IScan, at: number): boolean;
70
+ scanWindow(scan: IScan, event?: IEvent | null): {
71
+ opensAt: number;
72
+ closesAt: number;
73
+ } | null;
74
+ scanIsValidOn(scan: IScan, at: number, timezone: string, event?: IEvent | null): boolean;
75
+ scanIsUpcoming(scan: IScan, at: number, timezone: string, event?: IEvent | null): boolean;
76
+ scanHasEnded(scan: IScan, at: number, timezone: string, event?: IEvent | null): boolean;
72
77
  GUEST_LIST_MAX_GROUP_SIZE: number;
73
78
  guestListHighestNumber(guestList: IGuestListEntry[], firstName: string, lastName: string): number;
74
79
  guestListRenumberOnDelete(guestList: IGuestListEntry[], guestListEntryId: string): {
@@ -339,19 +339,53 @@ exports.default = {
339
339
  const session = this.eventSession(event);
340
340
  return session ? [String(session.startsAt)] : dayIds.slice(0, 1);
341
341
  },
342
- // A daily scan is valid on its own calendar day. A single-entry scan is valid
343
- // from doors on the first day (its startsAt) to the end of the last day.
344
- scanIsValidOn(scan, at, timezone) {
342
+ scanWindow(scan, event) {
343
+ var _a, _b, _c, _d, _e;
345
344
  if (!(scan === null || scan === void 0 ? void 0 : scan.startsAt))
346
- return false;
345
+ return null;
347
346
  if (scan.endsAt)
348
- return scan.startsAt <= at && at <= scan.endsAt;
347
+ return { opensAt: scan.startsAt, closesAt: scan.endsAt };
348
+ const days = ((_c = (_b = (_a = event === null || event === void 0 ? void 0 : event.performances) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.schedule) !== null && _c !== void 0 ? _c : []).filter((day) => Boolean(day === null || day === void 0 ? void 0 : day.startsAt));
349
+ const day = days.find((d) => d.startsAt === scan.startsAt);
350
+ if (!day)
351
+ return null;
352
+ const isLastDay = !days.some((d) => d.startsAt > day.startsAt);
353
+ const opensAt = day.doorsAt
354
+ ? Math.min(day.doorsAt, day.startsAt)
355
+ : day.startsAt;
356
+ const closesAt = day.endsAt || (isLastDay ? (_e = (_d = event === null || event === void 0 ? void 0 : event.schedule) === null || _d === void 0 ? void 0 : _d.endsAt) !== null && _e !== void 0 ? _e : 0 : 0);
357
+ if (!closesAt || closesAt <= opensAt)
358
+ return null;
359
+ return { opensAt, closesAt };
360
+ },
361
+ scanIsValidOn(scan, at, timezone, event) {
362
+ if (!(scan === null || scan === void 0 ? void 0 : scan.startsAt))
363
+ return false;
364
+ const window = this.scanWindow(scan, event);
365
+ if (window)
366
+ return window.opensAt <= at && at <= window.closesAt;
349
367
  const day = (seconds) => Time.format(seconds, "YYYY-MM-DD", timezone);
350
368
  return day(scan.startsAt) === day(at);
351
369
  },
352
- // A single-entry scan that was never used and whose window is over.
353
- scanIsClosed(scan, at) {
354
- return Boolean(scan === null || scan === void 0 ? void 0 : scan.endsAt) && at > scan.endsAt;
370
+ // Check-in for this scan has not opened yet.
371
+ scanIsUpcoming(scan, at, timezone, event) {
372
+ if (!(scan === null || scan === void 0 ? void 0 : scan.startsAt))
373
+ return false;
374
+ const window = this.scanWindow(scan, event);
375
+ if (window)
376
+ return at < window.opensAt;
377
+ const day = (seconds) => Time.format(seconds, "YYYY-MM-DD", timezone);
378
+ return day(scan.startsAt) > day(at);
379
+ },
380
+ // Check-in for this scan is over.
381
+ scanHasEnded(scan, at, timezone, event) {
382
+ if (!(scan === null || scan === void 0 ? void 0 : scan.startsAt))
383
+ return false;
384
+ const window = this.scanWindow(scan, event);
385
+ if (window)
386
+ return at > window.closesAt;
387
+ const day = (seconds) => Time.format(seconds, "YYYY-MM-DD", timezone);
388
+ return day(scan.startsAt) < day(at);
355
389
  },
356
390
  GUEST_LIST_MAX_GROUP_SIZE: 100,
357
391
  guestListHighestNumber(guestList, firstName, lastName) {
@@ -438,9 +472,21 @@ exports.default = {
438
472
  return opensAt <= at && at <= session.endsAt ? session.startsAt : null;
439
473
  }
440
474
  }
475
+ // Daily and single-day: a day is open from its doors to its end, the same
476
+ // window as that day's tickets. Days without a window (no end time) keep
477
+ // the old rule below.
478
+ const windowed = this.guestListSessions(event).map((session) => ({
479
+ session,
480
+ window: this.scanWindow({ startsAt: session.startsAt }, event),
481
+ }));
482
+ const open = windowed.find(({ window }) => window && window.opensAt <= at && at <= window.closesAt);
483
+ if (open)
484
+ return open.session.startsAt;
441
485
  const day = (seconds) => Time.format(seconds, "YYYY-MM-DD", timezone);
442
486
  const today = day(at);
443
- const sessions = this.guestListSessions(event);
487
+ const sessions = windowed
488
+ .filter(({ window }) => !window)
489
+ .map(({ session }) => session);
444
490
  const running = sessions.find((session) => session.endsAt !== null &&
445
491
  session.startsAt <= at &&
446
492
  at < session.endsAt);
@@ -1 +1 @@
1
- {"version":3,"file":"EventUtil.js","sourceRoot":"","sources":["../../src/utils/EventUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventUtil.js","sourceRoot":"","sources":["../../src/utils/EventUtil.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sellout/models",
3
- "version": "0.0.436",
3
+ "version": "0.1.0",
4
4
  "description": "Sellout.io models",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -18,7 +18,7 @@
18
18
  "dependencies": {
19
19
  "@apollo/client": "^3.9.6",
20
20
  "@hapi/joi": "^17.1.1",
21
- "@sellout/utils": "^0.0.436",
21
+ "@sellout/utils": "^0.1.0",
22
22
  "@types/hapi__joi": "^16.0.1",
23
23
  "@types/shortid": "^0.0.29",
24
24
  "@types/zen-observable": "^0.8.7",
@@ -33,5 +33,5 @@
33
33
  "protobufjs": "^6.11.2",
34
34
  "typescript": "^4.9.5"
35
35
  },
36
- "gitHead": "1d79121cae4d2f885210b3da5c125ed267d1f49f"
36
+ "gitHead": "5c63c03eac823db87d831defad15ffe7b7cd6cfd"
37
37
  }
@@ -18,6 +18,7 @@ mutation multipleBreakApartSeasonOrder($orderId: [String]!) {
18
18
  event {
19
19
  _id
20
20
  isMultipleDays
21
+ multiDayEntry
21
22
  name
22
23
  subtitle
23
24
  performances {
@@ -73,6 +73,7 @@ const query = gql`
73
73
  schedule {
74
74
  doorsAt
75
75
  startsAt
76
+ endsAt
76
77
  }
77
78
  }
78
79
  schedule {
@@ -104,6 +105,7 @@ const query = gql`
104
105
  schedule {
105
106
  doorsAt
106
107
  startsAt
108
+ endsAt
107
109
  }
108
110
  }
109
111
  schedule {
@@ -946,6 +946,7 @@ message MobileCheckInEventSchedule {
946
946
  message MobileCheckInPerformanceSchedule {
947
947
  int32 doorsAt = 1;
948
948
  int32 startsAt = 2;
949
+ int32 endsAt = 3;
949
950
  }
950
951
 
951
952
  message MobileCheckInPerformance {
@@ -430,6 +430,7 @@ message UpdateOrderParams {
430
430
  bool scan = 2;
431
431
  string email = 3;
432
432
  string upgradeId = 4;
433
+ int32 scanStartsAt = 5;
433
434
  }
434
435
 
435
436
 
@@ -348,7 +348,7 @@ export default {
348
348
  // whole event, whatever days the ticket covers. The client treats it as a
349
349
  // registration-desk check-in, open from the first day to the last.
350
350
  ticketScans(event: IEvent, dayIds: string[] = []): IScan[] {
351
- const unscanned = { scanned: false, scannedAt: 0, scannedBy: "" };
351
+ const unscanned: IScan = { scanned: false, scannedAt: 0, scannedBy: "" };
352
352
 
353
353
  if (!this.isSingleEntry(event)) {
354
354
  if (!dayIds?.length) {
@@ -377,21 +377,81 @@ export default {
377
377
  return session ? [String(session.startsAt)] : dayIds.slice(0, 1);
378
378
  },
379
379
 
380
- // A daily scan is valid on its own calendar day. A single-entry scan is valid
381
- // from doors on the first day (its startsAt) to the end of the last day.
382
- scanIsValidOn(scan: IScan, at: number, timezone: string): boolean {
380
+ scanWindow(
381
+ scan: IScan,
382
+ event?: IEvent | null
383
+ ): { opensAt: number; closesAt: number } | null {
384
+ if (!scan?.startsAt) return null;
385
+
386
+ if (scan.endsAt) return { opensAt: scan.startsAt, closesAt: scan.endsAt };
387
+
388
+ const days = (event?.performances?.[0]?.schedule ?? []).filter((day) =>
389
+ Boolean(day?.startsAt)
390
+ );
391
+ const day = days.find((d) => d.startsAt === scan.startsAt);
392
+
393
+ if (!day) return null;
394
+
395
+ const isLastDay = !days.some((d) => d.startsAt > day.startsAt);
396
+ const opensAt = day.doorsAt
397
+ ? Math.min(day.doorsAt, day.startsAt)
398
+ : day.startsAt;
399
+ const closesAt =
400
+ day.endsAt || (isLastDay ? event?.schedule?.endsAt ?? 0 : 0);
401
+
402
+ if (!closesAt || closesAt <= opensAt) return null;
403
+
404
+ return { opensAt, closesAt };
405
+ },
406
+
407
+ scanIsValidOn(
408
+ scan: IScan,
409
+ at: number,
410
+ timezone: string,
411
+ event?: IEvent | null
412
+ ): boolean {
383
413
  if (!scan?.startsAt) return false;
384
414
 
385
- if (scan.endsAt) return scan.startsAt <= at && at <= scan.endsAt;
415
+ const window = this.scanWindow(scan, event);
416
+ if (window) return window.opensAt <= at && at <= window.closesAt;
386
417
 
387
418
  const day = (seconds: number) =>
388
419
  Time.format(seconds, "YYYY-MM-DD", timezone);
389
420
  return day(scan.startsAt) === day(at);
390
421
  },
391
422
 
392
- // A single-entry scan that was never used and whose window is over.
393
- scanIsClosed(scan: IScan, at: number): boolean {
394
- return Boolean(scan?.endsAt) && at > (scan.endsAt as number);
423
+ // Check-in for this scan has not opened yet.
424
+ scanIsUpcoming(
425
+ scan: IScan,
426
+ at: number,
427
+ timezone: string,
428
+ event?: IEvent | null
429
+ ): boolean {
430
+ if (!scan?.startsAt) return false;
431
+
432
+ const window = this.scanWindow(scan, event);
433
+ if (window) return at < window.opensAt;
434
+
435
+ const day = (seconds: number) =>
436
+ Time.format(seconds, "YYYY-MM-DD", timezone);
437
+ return day(scan.startsAt) > day(at);
438
+ },
439
+
440
+ // Check-in for this scan is over.
441
+ scanHasEnded(
442
+ scan: IScan,
443
+ at: number,
444
+ timezone: string,
445
+ event?: IEvent | null
446
+ ): boolean {
447
+ if (!scan?.startsAt) return false;
448
+
449
+ const window = this.scanWindow(scan, event);
450
+ if (window) return at > window.closesAt;
451
+
452
+ const day = (seconds: number) =>
453
+ Time.format(seconds, "YYYY-MM-DD", timezone);
454
+ return day(scan.startsAt) < day(at);
395
455
  },
396
456
 
397
457
  GUEST_LIST_MAX_GROUP_SIZE: 100,
@@ -519,9 +579,24 @@ export default {
519
579
  }
520
580
  }
521
581
 
582
+ // Daily and single-day: a day is open from its doors to its end, the same
583
+ // window as that day's tickets. Days without a window (no end time) keep
584
+ // the old rule below.
585
+ const windowed = this.guestListSessions(event).map((session) => ({
586
+ session,
587
+ window: this.scanWindow({ startsAt: session.startsAt } as IScan, event),
588
+ }));
589
+ const open = windowed.find(
590
+ ({ window }) => window && window.opensAt <= at && at <= window.closesAt
591
+ );
592
+
593
+ if (open) return open.session.startsAt;
594
+
522
595
  const day = (seconds: number) => Time.format(seconds, "YYYY-MM-DD", timezone);
523
596
  const today = day(at);
524
- const sessions = this.guestListSessions(event);
597
+ const sessions = windowed
598
+ .filter(({ window }) => !window)
599
+ .map(({ session }) => session);
525
600
  const running = sessions.find(
526
601
  (session) =>
527
602
  session.endsAt !== null &&