@epztickets/common 1.93.0 → 1.95.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.
@@ -7,6 +7,7 @@ export interface OrderCancelledEvent {
7
7
  version: number;
8
8
  cancellationCause?: CancellationCause;
9
9
  willRefund?: boolean;
10
+ seriesBulk?: boolean;
10
11
  sellableUnit: {
11
12
  id: string;
12
13
  };
@@ -1,6 +1,7 @@
1
1
  import { Subjects } from "./subjects";
2
2
  import { OrderStatus } from "./types/order-status";
3
3
  export type AmbientEnergy = "low" | "medium" | "high";
4
+ export type RecurrencePattern = "tempo" | "flipflop";
4
5
  export interface OrderCreatedEvent {
5
6
  subject: Subjects.OrderCreated;
6
7
  data: {
@@ -14,6 +15,10 @@ export interface OrderCreatedEvent {
14
15
  ownerUserId?: string;
15
16
  classTitle?: string;
16
17
  classCategory?: string;
18
+ showOnPublicSchedule?: boolean;
19
+ seriesId?: string;
20
+ seriesIndex?: number;
21
+ seriesPattern?: RecurrencePattern;
17
22
  ambientEnergy?: AmbientEnergy;
18
23
  noiseLevel?: number;
19
24
  timezone?: string;
@@ -0,0 +1,34 @@
1
+ import { Subjects } from "./subjects";
2
+ import { RecurrencePattern } from "./order-created-event";
3
+ export interface SeriesOccurrence {
4
+ orderId: string;
5
+ startTime: string;
6
+ endTime: string;
7
+ }
8
+ interface SeriesBase {
9
+ seriesId: string;
10
+ userId: string;
11
+ ownerUserId?: string;
12
+ roomId: string;
13
+ roomTitle: string;
14
+ classTitle?: string;
15
+ pattern: RecurrencePattern;
16
+ timezone?: string;
17
+ selfBooking?: boolean;
18
+ }
19
+ export interface OrderSeriesConfirmedEvent {
20
+ subject: Subjects.OrderSeriesConfirmed;
21
+ data: SeriesBase & {
22
+ occurrences: SeriesOccurrence[];
23
+ totalPaid?: number;
24
+ };
25
+ }
26
+ export interface OrderSeriesCancelledEvent {
27
+ subject: Subjects.OrderSeriesCancelled;
28
+ data: SeriesBase & {
29
+ cancelledBy: "renter" | "owner" | "admin";
30
+ occurrences: SeriesOccurrence[];
31
+ refundTotal?: number;
32
+ };
33
+ }
34
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -18,6 +18,8 @@ export interface OrientationSnapshot {
18
18
  classCategory?: string;
19
19
  notes?: string;
20
20
  scheduledBy?: "renter" | "owner" | "admin";
21
+ plannedFrequency?: "one_time" | "tempo" | "flipflop";
22
+ preferredSchedule?: string;
21
23
  }
22
24
  export interface OrientationScheduledEvent {
23
25
  subject: Subjects.OrientationScheduled;
@@ -55,7 +55,9 @@ export declare enum Subjects {
55
55
  SubscriptionPaymentFailed = "events.billing.payment-failed",
56
56
  SubscriptionPaymentRecovered = "events.billing.payment-recovered",
57
57
  TimeBlockCreated = "events.timeblock.created",
58
- TimeBlockRemoved = "events.timeblock.removed"
58
+ TimeBlockRemoved = "events.timeblock.removed",
59
+ OrderSeriesConfirmed = "events.order-series.confirmed",
60
+ OrderSeriesCancelled = "events.order-series.cancelled"
59
61
  }
60
62
  export declare enum Streams {
61
63
  Events = "events",
@@ -172,6 +172,12 @@ var Subjects;
172
172
  // rooms mirrors them to refuse orientations in blocked times.
173
173
  Subjects["TimeBlockCreated"] = "events.timeblock.created";
174
174
  Subjects["TimeBlockRemoved"] = "events.timeblock.removed";
175
+ // Recurring bookings (orders owns them). Confirmed = every date of a
176
+ // series is settled (paid / self-booked, or dropped) → ONE
177
+ // confirmation email instead of one per date. Cancelled = the
178
+ // remaining dates were cancelled together → ONE summary email.
179
+ Subjects["OrderSeriesConfirmed"] = "events.order-series.confirmed";
180
+ Subjects["OrderSeriesCancelled"] = "events.order-series.cancelled";
175
181
  })(Subjects || (exports.Subjects = Subjects = {}));
176
182
  var Streams;
177
183
  (function (Streams) {
package/build/index.d.ts CHANGED
@@ -54,6 +54,7 @@ export * from "./events/timelock-confirmed.event";
54
54
  export * from "./events/timelock-released-event";
55
55
  export * from "./events/timelock-created-event";
56
56
  export * from "./events/time-block-events";
57
+ export * from "./events/order-series-events";
57
58
  export * from "./events/order-rejected-event";
58
59
  export * from "./events/sellableunit-created-event";
59
60
  export * from "./events/sellableunit-updated-event";
package/build/index.js CHANGED
@@ -75,6 +75,7 @@ __exportStar(require("./events/timelock-confirmed.event"), exports);
75
75
  __exportStar(require("./events/timelock-released-event"), exports);
76
76
  __exportStar(require("./events/timelock-created-event"), exports);
77
77
  __exportStar(require("./events/time-block-events"), exports);
78
+ __exportStar(require("./events/order-series-events"), exports);
78
79
  __exportStar(require("./events/order-rejected-event"), exports);
79
80
  __exportStar(require("./events/sellableunit-created-event"), exports);
80
81
  __exportStar(require("./events/sellableunit-updated-event"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epztickets/common",
3
- "version": "1.93.0",
3
+ "version": "1.95.0",
4
4
  "main": "./build/index.js",
5
5
  "types": "./build/index.d.ts",
6
6
  "files": [