@drttix/drt-sdk 1.5.0 → 2.0.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.
Files changed (123) hide show
  1. package/README.md +36 -0
  2. package/dist/cjs/src/functions/sdkConfig.d.ts +37 -2
  3. package/dist/cjs/src/functions/sdkConfig.js +37 -3
  4. package/dist/cjs/src/generated/portal/core/OpenAPI.js +1 -1
  5. package/dist/cjs/src/generated/portal/core/request.js +4 -0
  6. package/dist/cjs/src/generated/portal/index.d.ts +3 -0
  7. package/dist/cjs/src/generated/portal/index.js +4 -2
  8. package/dist/cjs/src/generated/portal/models/AddSessionSeatResponseDto.d.ts +7 -0
  9. package/dist/cjs/src/generated/portal/models/AddSessionSeatResponseDto.js +2 -0
  10. package/dist/cjs/src/generated/portal/models/OrderRecalculateRequestDto.d.ts +4 -0
  11. package/dist/cjs/src/generated/portal/models/SessionSeatRefDto.d.ts +4 -0
  12. package/dist/cjs/src/generated/portal/models/SessionSeatRefDto.js +2 -0
  13. package/dist/cjs/src/generated/portal/models/ShowBlockedSeatResponseDto.d.ts +11 -0
  14. package/dist/cjs/src/generated/portal/models/SkippedSessionSeatDto.d.ts +17 -0
  15. package/dist/cjs/src/generated/portal/models/SkippedSessionSeatDto.js +14 -0
  16. package/dist/cjs/src/generated/portal/services/OrderLookupService.d.ts +3 -2
  17. package/dist/cjs/src/generated/portal/services/OrderLookupService.js +1 -1
  18. package/dist/cjs/src/generated/portal/types.d.ts +2 -0
  19. package/dist/cjs/src/generated/scanner/core/request.js +4 -0
  20. package/dist/cjs/src/generated/shopper/core/OpenAPI.js +1 -1
  21. package/dist/cjs/src/generated/shopper/core/request.js +4 -0
  22. package/dist/cjs/src/generated/shopper/index.d.ts +3 -2
  23. package/dist/cjs/src/generated/shopper/index.js +3 -1
  24. package/dist/cjs/src/generated/shopper/models/CapabilityManifestDto.d.ts +18 -0
  25. package/dist/cjs/src/generated/shopper/models/CapabilityManifestDto.js +2 -0
  26. package/dist/cjs/src/generated/shopper/models/CompleteBody.d.ts +1 -1
  27. package/dist/cjs/src/generated/shopper/models/CorrelatedCode.d.ts +23 -0
  28. package/dist/cjs/src/generated/shopper/models/CorrelatedCode.js +14 -0
  29. package/dist/cjs/src/generated/shopper/models/EmailUpdate.d.ts +1 -1
  30. package/dist/cjs/src/generated/shopper/models/EventFormat.d.ts +18 -0
  31. package/dist/cjs/src/generated/shopper/models/EventFormat.js +2 -0
  32. package/dist/cjs/src/generated/shopper/models/EventListItem.d.ts +3 -14
  33. package/dist/cjs/src/generated/shopper/models/GAResponse.d.ts +15 -3
  34. package/dist/cjs/src/generated/shopper/models/GaTier.d.ts +4 -1
  35. package/dist/cjs/src/generated/shopper/models/SaveDetailsBody.d.ts +0 -1
  36. package/dist/cjs/src/generated/shopper/models/SeatHoldObject.d.ts +2 -3
  37. package/dist/cjs/src/generated/shopper/models/SeatHoldReturn.d.ts +2 -3
  38. package/dist/cjs/src/generated/shopper/models/SiteTheme.d.ts +4 -0
  39. package/dist/cjs/src/generated/shopper/services/CartService.d.ts +2 -2
  40. package/dist/cjs/src/generated/shopper/services/CartService.js +2 -2
  41. package/dist/cjs/src/generated/shopper/services/OrderService.d.ts +2 -2
  42. package/dist/cjs/src/generated/shopper/services/OrderService.js +2 -2
  43. package/dist/cjs/src/generated/shopper/services/SessionService.d.ts +23 -0
  44. package/dist/cjs/src/generated/shopper/services/SessionService.js +38 -0
  45. package/dist/cjs/src/generated/shopper/types.d.ts +2 -2
  46. package/dist/esm/src/functions/sdkConfig.d.ts +37 -2
  47. package/dist/esm/src/functions/sdkConfig.js +35 -3
  48. package/dist/esm/src/generated/portal/core/OpenAPI.js +1 -1
  49. package/dist/esm/src/generated/portal/core/request.js +4 -0
  50. package/dist/esm/src/generated/portal/index.d.ts +3 -0
  51. package/dist/esm/src/generated/portal/index.js +1 -0
  52. package/dist/esm/src/generated/portal/models/AddSessionSeatResponseDto.d.ts +7 -0
  53. package/dist/esm/src/generated/portal/models/AddSessionSeatResponseDto.js +1 -0
  54. package/dist/esm/src/generated/portal/models/OrderRecalculateRequestDto.d.ts +4 -0
  55. package/dist/esm/src/generated/portal/models/SessionSeatRefDto.d.ts +4 -0
  56. package/dist/esm/src/generated/portal/models/SessionSeatRefDto.js +1 -0
  57. package/dist/esm/src/generated/portal/models/ShowBlockedSeatResponseDto.d.ts +11 -0
  58. package/dist/esm/src/generated/portal/models/SkippedSessionSeatDto.d.ts +17 -0
  59. package/dist/esm/src/generated/portal/models/SkippedSessionSeatDto.js +11 -0
  60. package/dist/esm/src/generated/portal/services/OrderLookupService.d.ts +3 -2
  61. package/dist/esm/src/generated/portal/services/OrderLookupService.js +1 -1
  62. package/dist/esm/src/generated/portal/types.d.ts +2 -0
  63. package/dist/esm/src/generated/scanner/core/request.js +4 -0
  64. package/dist/esm/src/generated/shopper/core/OpenAPI.js +1 -1
  65. package/dist/esm/src/generated/shopper/core/request.js +4 -0
  66. package/dist/esm/src/generated/shopper/index.d.ts +3 -2
  67. package/dist/esm/src/generated/shopper/index.js +1 -0
  68. package/dist/esm/src/generated/shopper/models/CapabilityManifestDto.d.ts +18 -0
  69. package/dist/esm/src/generated/shopper/models/CapabilityManifestDto.js +1 -0
  70. package/dist/esm/src/generated/shopper/models/CompleteBody.d.ts +1 -1
  71. package/dist/esm/src/generated/shopper/models/CorrelatedCode.d.ts +23 -0
  72. package/dist/esm/src/generated/shopper/models/CorrelatedCode.js +13 -1
  73. package/dist/esm/src/generated/shopper/models/EmailUpdate.d.ts +1 -1
  74. package/dist/esm/src/generated/shopper/models/EventFormat.d.ts +18 -0
  75. package/dist/esm/src/generated/shopper/models/EventFormat.js +1 -0
  76. package/dist/esm/src/generated/shopper/models/EventListItem.d.ts +3 -14
  77. package/dist/esm/src/generated/shopper/models/GAResponse.d.ts +15 -3
  78. package/dist/esm/src/generated/shopper/models/GaTier.d.ts +4 -1
  79. package/dist/esm/src/generated/shopper/models/SaveDetailsBody.d.ts +0 -1
  80. package/dist/esm/src/generated/shopper/models/SeatHoldObject.d.ts +2 -3
  81. package/dist/esm/src/generated/shopper/models/SeatHoldReturn.d.ts +2 -3
  82. package/dist/esm/src/generated/shopper/models/SiteTheme.d.ts +4 -0
  83. package/dist/esm/src/generated/shopper/services/CartService.d.ts +2 -2
  84. package/dist/esm/src/generated/shopper/services/CartService.js +2 -2
  85. package/dist/esm/src/generated/shopper/services/OrderService.d.ts +2 -2
  86. package/dist/esm/src/generated/shopper/services/OrderService.js +2 -2
  87. package/dist/esm/src/generated/shopper/services/SessionService.d.ts +23 -0
  88. package/dist/esm/src/generated/shopper/services/SessionService.js +38 -0
  89. package/dist/esm/src/generated/shopper/types.d.ts +2 -2
  90. package/package.json +1 -1
  91. package/src/custom/custom-request.txt +4 -0
  92. package/src/functions/sdkConfig.ts +56 -3
  93. package/src/generated/portal/core/OpenAPI.ts +1 -1
  94. package/src/generated/portal/core/request.ts +4 -0
  95. package/src/generated/portal/index.ts +3 -0
  96. package/src/generated/portal/models/AddSessionSeatResponseDto.ts +12 -0
  97. package/src/generated/portal/models/OrderRecalculateRequestDto.ts +4 -0
  98. package/src/generated/portal/models/SessionSeatRefDto.ts +9 -0
  99. package/src/generated/portal/models/ShowBlockedSeatResponseDto.ts +11 -0
  100. package/src/generated/portal/models/SkippedSessionSeatDto.ts +22 -0
  101. package/src/generated/portal/services/OrderLookupService.ts +3 -2
  102. package/src/generated/portal/types.ts +2 -0
  103. package/src/generated/scanner/core/request.ts +4 -0
  104. package/src/generated/shopper/core/OpenAPI.ts +1 -1
  105. package/src/generated/shopper/core/request.ts +4 -0
  106. package/src/generated/shopper/index.ts +3 -2
  107. package/src/generated/shopper/models/CapabilityManifestDto.ts +23 -0
  108. package/src/generated/shopper/models/CompleteBody.ts +1 -1
  109. package/src/generated/shopper/models/CorrelatedCode.ts +23 -0
  110. package/src/generated/shopper/models/EmailUpdate.ts +1 -1
  111. package/src/generated/shopper/models/EventFormat.ts +23 -0
  112. package/src/generated/shopper/models/EventListItem.ts +3 -14
  113. package/src/generated/shopper/models/GAResponse.ts +15 -3
  114. package/src/generated/shopper/models/GaTier.ts +4 -1
  115. package/src/generated/shopper/models/SaveDetailsBody.ts +0 -1
  116. package/src/generated/shopper/models/SeatHoldObject.ts +2 -3
  117. package/src/generated/shopper/models/SeatHoldReturn.ts +2 -3
  118. package/src/generated/shopper/models/SiteTheme.ts +4 -0
  119. package/src/generated/shopper/services/CartService.ts +2 -2
  120. package/src/generated/shopper/services/OrderService.ts +2 -2
  121. package/src/generated/shopper/services/SessionService.ts +43 -0
  122. package/src/generated/shopper/types.ts +2 -2
  123. package/src/generated/shopper/models/CartStateEnvelope.ts +0 -31
@@ -13,6 +13,10 @@ export type OrderRecalculateRequestDto = {
13
13
  * Set to 1 to include the shopper's held cart seats in the recalculation. Required for exchanges so the seats being exchanged into are priced into the new total.
14
14
  */
15
15
  addCart?: number;
16
+ /**
17
+ * Set to 1 to include the shopper's held blocked seats in the recalculation. `addCart` does not cover them: a blocked seat is held through session_blocked_seat_assoc and leaves seat_status.shopper NULL, so the cart-side recalc never sees it and prices it at zero.
18
+ */
19
+ addBlocked?: number;
16
20
  ticket: Array<ShowSeatPair>;
17
21
  tiers: Array<ShowSeatTierPair>;
18
22
  };
@@ -0,0 +1,9 @@
1
+ /* generated using openapi-typescript-codegen -- do not edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ export type SessionSeatRefDto = {
6
+ showId: number;
7
+ seatId: number;
8
+ };
9
+
@@ -21,6 +21,17 @@ export type ShowBlockedSeatResponseDto = {
21
21
  dateBlocked: string | null;
22
22
  emailed: number | null;
23
23
  locked: number | null;
24
+ /**
25
+ * 1 when no other live admin session holds this blocked seat (it may already be held by the caller).
26
+ */
24
27
  available: number;
28
+ /**
29
+ * 1 when the caller's own session already holds this seat for the exchange in progress.
30
+ */
31
+ heldBySelf: number;
32
+ /**
33
+ * 1 when another live admin session holds this seat — adding it will be skipped.
34
+ */
35
+ heldByOther: number;
25
36
  };
26
37
 
@@ -0,0 +1,22 @@
1
+ /* generated using openapi-typescript-codegen -- do not edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ export type SkippedSessionSeatDto = {
6
+ showId: number;
7
+ seatId: number;
8
+ /**
9
+ * HELD_BY_OTHER_SESSION: another live admin session already holds the seat. NOT_AVAILABLE: the seat is no longer a blocked seat for this studio.
10
+ */
11
+ reason: SkippedSessionSeatDto.reason;
12
+ };
13
+ export namespace SkippedSessionSeatDto {
14
+ /**
15
+ * HELD_BY_OTHER_SESSION: another live admin session already holds the seat. NOT_AVAILABLE: the seat is no longer a blocked seat for this studio.
16
+ */
17
+ export enum reason {
18
+ HELD_BY_OTHER_SESSION = 'HELD_BY_OTHER_SESSION',
19
+ NOT_AVAILABLE = 'NOT_AVAILABLE',
20
+ }
21
+ }
22
+
@@ -3,6 +3,7 @@
3
3
  /* tslint:disable */
4
4
  /* eslint-disable */
5
5
  import type { AddSessionSeatRequestDto } from '../models/AddSessionSeatRequestDto';
6
+ import type { AddSessionSeatResponseDto } from '../models/AddSessionSeatResponseDto';
6
7
  import type { CancelExchangeTicketRequestDto } from '../models/CancelExchangeTicketRequestDto';
7
8
  import type { ExecuteReleaseSeatRequestDto } from '../models/ExecuteReleaseSeatRequestDto';
8
9
  import type { ExecuteSeatExchangeRequestDto } from '../models/ExecuteSeatExchangeRequestDto';
@@ -595,13 +596,13 @@ export class OrderLookupService {
595
596
  * To add seats to the session for the order
596
597
  * @param xStudioId The ID of the studio
597
598
  * @param requestBody Add seats to session details
598
- * @returns SuccessResponse Seats added to session successfully
599
+ * @returns AddSessionSeatResponseDto Blocked seats processed. `added` landed in the exchange session; `skipped` did not (with the reason), since a seat held by another live admin session cannot be added.
599
600
  * @throws ApiError
600
601
  */
601
602
  public static addSeatsToSession(
602
603
  xStudioId: string,
603
604
  requestBody: AddSessionSeatRequestDto,
604
- ): CancelablePromise<SuccessResponse> {
605
+ ): CancelablePromise<AddSessionSeatResponseDto> {
605
606
  return __request(OpenAPI, {
606
607
  method: 'PUT',
607
608
  url: '/admin-portal/order-lookup/add-seat-to-session',
@@ -6,6 +6,7 @@ export type { AcceptAgreementRequestDto } from './models/AcceptAgreementRequestD
6
6
  export type { AccountDetailResponseDto } from './models/AccountDetailResponseDto';
7
7
  export type { ActionResponseDto } from './models/ActionResponseDto';
8
8
  export type { AddSessionSeatRequestDto } from './models/AddSessionSeatRequestDto';
9
+ export type { AddSessionSeatResponseDto } from './models/AddSessionSeatResponseDto';
9
10
  export type { AddVideoAssetFormatRequestDto } from './models/AddVideoAssetFormatRequestDto';
10
11
  export type { AdminUserLevelResponseDto } from './models/AdminUserLevelResponseDto';
11
12
  export type { AdminUserResponseDto } from './models/AdminUserResponseDto';
@@ -321,6 +322,7 @@ export type { SendMailRequestDto } from './models/SendMailRequestDto';
321
322
  export type { SendReservationCodeMailRequestDto } from './models/SendReservationCodeMailRequestDto';
322
323
  export type { SendTextRequestDto } from './models/SendTextRequestDto';
323
324
  export type { SentMailResponseDto } from './models/SentMailResponseDto';
325
+ export type { SessionSeatRefDto } from './models/SessionSeatRefDto';
324
326
  export type { SetTiersRequestDto } from './models/SetTiersRequestDto';
325
327
  export type { SettingsAndWavesResponseDto } from './models/SettingsAndWavesResponseDto';
326
328
  export type { SettingsDetailsResponseDto } from './models/SettingsDetailsResponseDto';
@@ -8,6 +8,9 @@ import type { ApiResult } from "./ApiResult";
8
8
  import { CancelablePromise } from "./CancelablePromise";
9
9
  import type { OnCancel } from "./CancelablePromise";
10
10
  import type { OpenAPIConfig } from "./OpenAPI";
11
+ // Every service's request.ts is this same template (build-all.ts copies it),
12
+ // so this one check is what makes DRT.init() mandatory SDK-wide.
13
+ import { assertInitialized } from "../../../functions/sdkConfig";
11
14
 
12
15
  export const isDefined = <T>(
13
16
  value: T | null | undefined
@@ -359,6 +362,7 @@ export const request = <T>(
359
362
  ): CancelablePromise<T> => {
360
363
  return new CancelablePromise(async (resolve, reject, onCancel) => {
361
364
  try {
365
+ assertInitialized(config.BASE);
362
366
  const url = getUrl(config, options);
363
367
  const formData = getFormData(options);
364
368
  const body = getRequestBody(options);
@@ -21,7 +21,7 @@ export type OpenAPIConfig = {
21
21
 
22
22
  export const OpenAPI: OpenAPIConfig = {
23
23
  BASE: 'https://api.drttix.com/shopper',
24
- VERSION: '20260831.4',
24
+ VERSION: '20260903.1',
25
25
  WITH_CREDENTIALS: false,
26
26
  CREDENTIALS: 'include',
27
27
  TOKEN: undefined,
@@ -8,6 +8,9 @@ import type { ApiResult } from "./ApiResult";
8
8
  import { CancelablePromise } from "./CancelablePromise";
9
9
  import type { OnCancel } from "./CancelablePromise";
10
10
  import type { OpenAPIConfig } from "./OpenAPI";
11
+ // Every service's request.ts is this same template (build-all.ts copies it),
12
+ // so this one check is what makes DRT.init() mandatory SDK-wide.
13
+ import { assertInitialized } from "../../../functions/sdkConfig";
11
14
 
12
15
  export const isDefined = <T>(
13
16
  value: T | null | undefined
@@ -359,6 +362,7 @@ export const request = <T>(
359
362
  ): CancelablePromise<T> => {
360
363
  return new CancelablePromise(async (resolve, reject, onCancel) => {
361
364
  try {
365
+ assertInitialized(config.BASE);
362
366
  const url = getUrl(config, options);
363
367
  const formData = getFormData(options);
364
368
  const body = getRequestBody(options);
@@ -15,6 +15,7 @@ export type { AnswerInput } from './models/AnswerInput';
15
15
  export type { AssignNamesReturn } from './models/AssignNamesReturn';
16
16
  export type { BAHold } from './models/BAHold';
17
17
  export type { BlockOfTickets } from './models/BlockOfTickets';
18
+ export type { CapabilityManifestDto } from './models/CapabilityManifestDto';
18
19
  export type { Cart } from './models/Cart';
19
20
  export type { CartAmounts } from './models/CartAmounts';
20
21
  export type { CartClearResult } from './models/CartClearResult';
@@ -22,7 +23,6 @@ export type { CartCounts } from './models/CartCounts';
22
23
  export type { CartCountsLite } from './models/CartCountsLite';
23
24
  export type { CartHashResponse } from './models/CartHashResponse';
24
25
  export type { CartItemCounts } from './models/CartItemCounts';
25
- export type { CartStateEnvelope } from './models/CartStateEnvelope';
26
26
  export type { CartSummary } from './models/CartSummary';
27
27
  export type { CartTierOption } from './models/CartTierOption';
28
28
  export type { CartTierSeat } from './models/CartTierSeat';
@@ -44,7 +44,7 @@ export type { CheckoutSuccessResponse } from './models/CheckoutSuccessResponse';
44
44
  export type { CodeDto } from './models/CodeDto';
45
45
  export type { CompleteBody } from './models/CompleteBody';
46
46
  export type { ConnectedAccountResponse } from './models/ConnectedAccountResponse';
47
- export type { CorrelatedCode } from './models/CorrelatedCode';
47
+ export { CorrelatedCode } from './models/CorrelatedCode';
48
48
  export type { CreateCustomerResponse } from './models/CreateCustomerResponse';
49
49
  export type { CreatePaymentIntentBody } from './models/CreatePaymentIntentBody';
50
50
  export type { CreatePaymentIntentResponse } from './models/CreatePaymentIntentResponse';
@@ -60,6 +60,7 @@ export type { DonationText } from './models/DonationText';
60
60
  export type { EmailUpdate } from './models/EmailUpdate';
61
61
  export type { EngineSeat } from './models/EngineSeat';
62
62
  export type { EventDetails } from './models/EventDetails';
63
+ export type { EventFormat } from './models/EventFormat';
63
64
  export type { EventGroup } from './models/EventGroup';
64
65
  export type { EventLegend } from './models/EventLegend';
65
66
  export type { EventLegendItem } from './models/EventLegendItem';
@@ -0,0 +1,23 @@
1
+ /* generated using openapi-typescript-codegen -- do not edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ export type CapabilityManifestDto = {
6
+ /**
7
+ * True when session.logged_in = 1 AND a session_admin row exists for this (shopper, studio) — i.e. a box-office operator is driving the session.
8
+ */
9
+ operator: boolean;
10
+ /**
11
+ * True when the requesting IP appears in whitelist_ip.
12
+ */
13
+ whitelistedIp: boolean;
14
+ /**
15
+ * The IP the server saw. Null unless whitelistedIp is true.
16
+ */
17
+ ip: string | null;
18
+ /**
19
+ * What the UI may paint. A RENDERING HINT, not a permission: every entry corresponds to a server-side check that is enforced independently, and a client that fakes this list gains nothing.
20
+ */
21
+ capabilities: Array<'debug-bar' | 'cash-payment' | 'order-testing' | 'pos-defaults'>;
22
+ };
23
+
@@ -4,6 +4,6 @@
4
4
  /* eslint-disable */
5
5
  export type CompleteBody = {
6
6
  cartHash: string;
7
- ipAddress: string;
7
+ ipAddress?: string;
8
8
  };
9
9
 
@@ -15,5 +15,28 @@ export type CorrelatedCode = {
15
15
  * Human-readable summary of the code (shows, seats, effect).
16
16
  */
17
17
  details: string | null;
18
+ /**
19
+ * Whether the code can be applied now. The listing includes codes that cannot be, so the UI can say WHY (the legacy modal printed "Already Used" / "EXPIRED {date}" / "AVAILABLE {date}" beside a disabled button) rather than offering an Apply that will fail.
20
+ */
21
+ status: CorrelatedCode.status;
22
+ /**
23
+ * Calendar date (yyyy-MM-dd) the code becomes usable, or null if it already is. Drives the "AVAILABLE {date}" label. Naive by design: the column carries a wall clock in the studio's own time, and an instant renders a day early west of Greenwich.
24
+ */
25
+ availableFrom: string | null;
26
+ /**
27
+ * Calendar date (yyyy-MM-dd) the code expires, or null if it never does. Drives the "EXPIRED {date}" label. Naive, as availableFrom.
28
+ */
29
+ expiresAt: string | null;
18
30
  };
31
+ export namespace CorrelatedCode {
32
+ /**
33
+ * Whether the code can be applied now. The listing includes codes that cannot be, so the UI can say WHY (the legacy modal printed "Already Used" / "EXPIRED {date}" / "AVAILABLE {date}" beside a disabled button) rather than offering an Apply that will fail.
34
+ */
35
+ export enum status {
36
+ AVAILABLE = 'available',
37
+ USED = 'used',
38
+ EXPIRED = 'expired',
39
+ NOT_YET = 'notYet',
40
+ }
41
+ }
19
42
 
@@ -7,6 +7,6 @@ export type EmailUpdate = {
7
7
  tickets: Array<Ticket>;
8
8
  email: string;
9
9
  name: string;
10
- message: string;
10
+ message?: string;
11
11
  };
12
12
 
@@ -0,0 +1,23 @@
1
+ /* generated using openapi-typescript-codegen -- do not edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ export type EventFormat = {
6
+ /**
7
+ * The show id of this format.
8
+ */
9
+ showId: number;
10
+ /**
11
+ * show.type_id — the format kind.
12
+ */
13
+ typeId: number;
14
+ /**
15
+ * This format's seating-chart id (PROJ-902 — lets a sibling format's pill link directly without resolving the chart on click).
16
+ */
17
+ chartId: number;
18
+ /**
19
+ * Roster (performer) count for this format (PROJ-912).
20
+ */
21
+ rosterCount: number;
22
+ };
23
+
@@ -2,6 +2,7 @@
2
2
  /* istanbul ignore file */
3
3
  /* tslint:disable */
4
4
  /* eslint-disable */
5
+ import type { EventFormat } from './EventFormat';
5
6
  export type EventListItem = {
6
7
  id: number;
7
8
  chartId: number;
@@ -48,21 +49,9 @@ export type EventListItem = {
48
49
  salesTax: number;
49
50
  theatreName: string;
50
51
  /**
51
- * Show type ids of every format collapsed into this row (parallel to showIdList).
52
+ * Every format collapsed into this row (same production offered in-person/livestream/VOD/…).
52
53
  */
53
- typeIdList: Array<number>;
54
- /**
55
- * Show ids of every format collapsed into this row.
56
- */
57
- showIdList: Array<number>;
58
- /**
59
- * Chart ids parallel to showIdList (PROJ-902 — lets a sibling format's pill link directly without resolving the chart id on click).
60
- */
61
- chartIdList: Array<number>;
62
- /**
63
- * Roster (performer) counts parallel to showIdList (PROJ-912).
64
- */
65
- rosterCountList: Array<number>;
54
+ formats: Array<EventFormat>;
66
55
  /**
67
56
  * Show artwork URL (cloud URL, or the legacy local path when not clouded — dbo.ShowsAvailable derivation). Null when the show has no artwork (PROJ-901).
68
57
  */
@@ -2,8 +2,16 @@
2
2
  /* istanbul ignore file */
3
3
  /* tslint:disable */
4
4
  /* eslint-disable */
5
- import type { CartStateEnvelope } from './CartStateEnvelope';
5
+ import type { EngineSeat } from './EngineSeat';
6
6
  export type GAResponse = {
7
+ /**
8
+ * False when the engine refused the request and held nothing. Absent on the release path, which cannot partially fail.
9
+ */
10
+ success?: boolean;
11
+ /**
12
+ * The engine's own explanation when success is false (e.g. 'No occupancy available in chart.').
13
+ */
14
+ message?: string;
7
15
  /**
8
16
  * The number of seats involved in the operation.
9
17
  */
@@ -17,8 +25,12 @@ export type GAResponse = {
17
25
  */
18
26
  seatsHeld?: number;
19
27
  /**
20
- * Post-hold/release cart state (SEAT-1C) no follow-up cart calls needed. Absent only if the state build failed.
28
+ * The seats the engine actually held/released in this call — the client applies exactly this delta to its own list (2026-08-31: seat clicks carry no cart state; totals belong to the summary pages).
29
+ */
30
+ seats?: Array<EngineSeat>;
31
+ /**
32
+ * Server processing time for this request, in ms.
21
33
  */
22
- cartState?: CartStateEnvelope;
34
+ serverTime?: number;
23
35
  };
24
36
 
@@ -4,7 +4,10 @@
4
4
  /* eslint-disable */
5
5
  export type GaTier = {
6
6
  tierId: number;
7
- name: string;
7
+ /**
8
+ * The name of this price level. Null for the single implicit level a general-admission show has when it defines no tiers of its own (tierId 0) — naming that one belongs to the client, and legacy labels it "ALL TICKETS".
9
+ */
10
+ name: string | null;
8
11
  /**
9
12
  * Advance (pre-door) price.
10
13
  */
@@ -17,7 +17,6 @@ export type SaveDetailsBody = {
17
17
  billingCountry?: string;
18
18
  ccType?: string;
19
19
  ccNum?: string;
20
- ccCvn?: string;
21
20
  ccExpMonth?: string;
22
21
  ccExpYear?: string;
23
22
  studentCredit?: string;
@@ -2,14 +2,13 @@
2
2
  /* istanbul ignore file */
3
3
  /* tslint:disable */
4
4
  /* eslint-disable */
5
- import type { CartStateEnvelope } from './CartStateEnvelope';
6
5
  import type { EngineSeat } from './EngineSeat';
7
6
  export type SeatHoldObject = {
8
7
  seats: Array<EngineSeat>;
9
8
  success: boolean;
10
9
  /**
11
- * Post-release cart state (SEAT-1C) everything the client would otherwise refetch. Absent only if the state build failed; fall back to the cart routes then.
10
+ * Server processing time for this request, in ms.
12
11
  */
13
- cartState?: CartStateEnvelope;
12
+ serverTime?: number;
14
13
  };
15
14
 
@@ -2,15 +2,14 @@
2
2
  /* istanbul ignore file */
3
3
  /* tslint:disable */
4
4
  /* eslint-disable */
5
- import type { CartStateEnvelope } from './CartStateEnvelope';
6
5
  import type { EngineSeat } from './EngineSeat';
7
6
  export type SeatHoldReturn = {
8
7
  seats: Array<EngineSeat>;
9
8
  success: boolean;
10
9
  message: string;
11
10
  /**
12
- * Post-hold cart state (SEAT-1C): the GET /cart/totals, GET /cart and GET /cart/counts payloads produced after the recompute — a seat click needs NO follow-up calls. Present on failures too (the unchanged cart, for optimistic-UI rollback). Absent only if the state build itself failed.
11
+ * Server processing time for this request, in ms.
13
12
  */
14
- cartState?: CartStateEnvelope;
13
+ serverTime?: number;
15
14
  };
16
15
 
@@ -7,6 +7,10 @@ export type SiteTheme = {
7
7
  * Resolved studio logo URL (legacy application.cfm rule): the newest image row named logo.png with a cloud_src wins; null means fall back to the legacy on-disk path /client-content/images/{studioId}/logo.png on the legacy host.
8
8
  */
9
9
  logoSrc: string | null;
10
+ /**
11
+ * The studio's compiled stylesheet (studio_design.css) — the same text legacy rpc/theme.cfm streamed as text/css, and the authoritative theme. The Admin Portal Theme Builder regenerates the `:root{}` block on every save and re-appends the superuser Custom CSS tool's hand-written block (everything from `* Start protected content *` onward), so it carries rules the structured fields below cannot express. The site injects it verbatim and only falls back to composing from those fields when this is null — a studio whose design predates the column.
12
+ */
13
+ css: string | null;
10
14
  id: number;
11
15
  studio_id: number;
12
16
  facebook_image_id: number | null;
@@ -101,8 +101,8 @@ export class CartService {
101
101
  });
102
102
  }
103
103
  /**
104
- * Get Cash Payment Detail
105
- * Returns cash payment details for the current shopper session, including order total, payments total, and house card credentials.
104
+ * Get Cash Payment Detail (operator only)
105
+ * Returns cash payment details for the current shopper session, including order total, payments total, and house card credentials. Requires a logged-in operator session — returns 403 for a plain shopper.
106
106
  * @param context Optional per-call { shopperGuid, accountId } override. Falls back to the values passed to DRT.init().
107
107
  * @returns CashPaymentDetail Cash payment detail retrieved successfully.
108
108
  * @throws ApiError
@@ -170,8 +170,8 @@ export class OrderService {
170
170
  });
171
171
  }
172
172
  /**
173
- * Get testing guid
174
- * Fetches a testing guid for development purposes.
173
+ * Get testing guid (operator only)
174
+ * Fetches a random order guid for development purposes. Requires a logged-in operator session — returns 403 for a plain shopper.
175
175
  * @param guid Unique identifier for an order.
176
176
  * @param context Optional per-call { shopperGuid, accountId } override. Falls back to the values passed to DRT.init().
177
177
  * @returns GuidReturn Returns a testing guid.
@@ -2,6 +2,7 @@
2
2
  /* istanbul ignore file */
3
3
  /* tslint:disable */
4
4
  /* eslint-disable */
5
+ import type { CapabilityManifestDto } from '../models/CapabilityManifestDto';
5
6
  import type { CreateSessionDto } from '../models/CreateSessionDto';
6
7
  import type { ExtendTimerDto } from '../models/ExtendTimerDto';
7
8
  import type { ExtendTimerResponseDto } from '../models/ExtendTimerResponseDto';
@@ -127,4 +128,46 @@ export class SessionService {
127
128
  },
128
129
  });
129
130
  }
131
+ /**
132
+ * Shorten the cart timer
133
+ * Shortens the cart-hold timer to 5 seconds from now via the Session-Service (legacy cart-shorten), clearing show_group_id and moving the held seats’ release times with it. Staff debug tool for walking the cart-timeout flow on demand.
134
+ * @param context Optional per-call { shopperGuid, accountId } override. Falls back to the values passed to DRT.init().
135
+ * @returns ExtendTimerResponseDto Returns the shortened timer state.
136
+ * @throws ApiError
137
+ */
138
+ public static shortenTimer(
139
+ context?: { shopperGuid?: string; accountId?: string },
140
+ ): CancelablePromise<ExtendTimerResponseDto> {
141
+ return __request(OpenAPI, {
142
+ method: 'POST',
143
+ url: '/session/shorten',
144
+ headers: resolveShopperHeaders(context),
145
+ errors: {
146
+ 400: `Bad Request error with error details.`,
147
+ 404: `Not found error with error details.`,
148
+ 500: `Internal Server Error, please contact developers.`,
149
+ },
150
+ });
151
+ }
152
+ /**
153
+ * What this caller may see
154
+ * Returns the operator flag, the debug IP-allowlist flag, and the resulting capability list for the calling session. A rendering hint for the UI — never a permission.
155
+ * @param context Optional per-call { shopperGuid, accountId } override. Falls back to the values passed to DRT.init().
156
+ * @returns CapabilityManifestDto Capability manifest for the calling session.
157
+ * @throws ApiError
158
+ */
159
+ public static getCapabilities(
160
+ context?: { shopperGuid?: string; accountId?: string },
161
+ ): CancelablePromise<CapabilityManifestDto> {
162
+ return __request(OpenAPI, {
163
+ method: 'GET',
164
+ url: '/session/capabilities',
165
+ headers: resolveShopperHeaders(context),
166
+ errors: {
167
+ 400: `Bad Request error with error details.`,
168
+ 404: `Not found error with error details.`,
169
+ 500: `Internal Server Error, please contact developers.`,
170
+ },
171
+ });
172
+ }
130
173
  }
@@ -9,6 +9,7 @@ export type { AnswerInput } from './models/AnswerInput';
9
9
  export type { AssignNamesReturn } from './models/AssignNamesReturn';
10
10
  export type { BAHold } from './models/BAHold';
11
11
  export type { BlockOfTickets } from './models/BlockOfTickets';
12
+ export type { CapabilityManifestDto } from './models/CapabilityManifestDto';
12
13
  export type { Cart } from './models/Cart';
13
14
  export type { CartAmounts } from './models/CartAmounts';
14
15
  export type { CartClearResult } from './models/CartClearResult';
@@ -16,7 +17,6 @@ export type { CartCounts } from './models/CartCounts';
16
17
  export type { CartCountsLite } from './models/CartCountsLite';
17
18
  export type { CartHashResponse } from './models/CartHashResponse';
18
19
  export type { CartItemCounts } from './models/CartItemCounts';
19
- export type { CartStateEnvelope } from './models/CartStateEnvelope';
20
20
  export type { CartSummary } from './models/CartSummary';
21
21
  export type { CartTierOption } from './models/CartTierOption';
22
22
  export type { CartTierSeat } from './models/CartTierSeat';
@@ -38,7 +38,6 @@ export type { CheckoutSuccessResponse } from './models/CheckoutSuccessResponse';
38
38
  export type { CodeDto } from './models/CodeDto';
39
39
  export type { CompleteBody } from './models/CompleteBody';
40
40
  export type { ConnectedAccountResponse } from './models/ConnectedAccountResponse';
41
- export type { CorrelatedCode } from './models/CorrelatedCode';
42
41
  export type { CreateCustomerResponse } from './models/CreateCustomerResponse';
43
42
  export type { CreatePaymentIntentBody } from './models/CreatePaymentIntentBody';
44
43
  export type { CreatePaymentIntentResponse } from './models/CreatePaymentIntentResponse';
@@ -54,6 +53,7 @@ export type { DonationText } from './models/DonationText';
54
53
  export type { EmailUpdate } from './models/EmailUpdate';
55
54
  export type { EngineSeat } from './models/EngineSeat';
56
55
  export type { EventDetails } from './models/EventDetails';
56
+ export type { EventFormat } from './models/EventFormat';
57
57
  export type { EventGroup } from './models/EventGroup';
58
58
  export type { EventLegend } from './models/EventLegend';
59
59
  export type { EventLegendItem } from './models/EventLegendItem';
@@ -1,31 +0,0 @@
1
- /* generated using openapi-typescript-codegen -- do not edit */
2
- /* istanbul ignore file */
3
- /* tslint:disable */
4
- /* eslint-disable */
5
- import type { CartAmounts } from './CartAmounts';
6
- import type { CartCountsLite } from './CartCountsLite';
7
- import type { CartTotals } from './CartTotals';
8
- import type { CartWithTime } from './CartWithTime';
9
- export type CartStateEnvelope = {
10
- /**
11
- * Server-side build order (ms epoch). Rapid mutations answer with envelopes whose RESPONSES can arrive out of order; the client applies only an envelope newer than the last applied, so a late older snapshot never overwrites fresher truth.
12
- */
13
- builtAt: number;
14
- /**
15
- * Post-recompute money — the GET /cart/totals payload.
16
- */
17
- totals: CartTotals;
18
- /**
19
- * The GET /cart payload (rows are post-recompute).
20
- */
21
- cart: CartWithTime;
22
- /**
23
- * The GET /cart/counts payload (carries the cart clock).
24
- */
25
- counts: CartCountsLite;
26
- /**
27
- * The GET /cart/amounts ledger (tax, subtotals, payments) — post-recompute. Lets the client serve ledger-level refreshes from the envelope instead of chasing four extra reads after every mutation.
28
- */
29
- amounts: CartAmounts;
30
- };
31
-