@session-services/web-elements 0.1.12 → 0.1.14

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.
@@ -1,54 +1,36 @@
1
1
  import { t as transformTag, p as proxyCustomElement, H as H$3, c as createEvent, h as h$2, a as Host } from './index.js';
2
-
3
- function n$1(e){return e[0]??{}}function r$1(e){return Array.isArray(e)?e:e==null?[]:[e]}const i$2=`orpc`;var a$1=class a extends Error{constructor(...e){super(...e),this.name=`AbortError`;}};function o$1(e){let t;return ()=>{if(t)return t.result;let n=e();return t={result:n},n}}function s$1(e){let t=Promise.resolve();return (...n)=>t=t.catch(()=>{}).then(()=>e(...n))}function c$1(){return globalThis[`__@orpc/shared@1.12.2/otel/config__`]}function l$1(e,t={},n){return (c$1()?.tracer)?.startSpan(e,t,n)}function u$1(e,t,n={}){if(!e)return;let r=d$1(t);e.recordException(r),(!n.signal?.aborted||n.signal.reason!==t)&&e.setStatus({code:2,message:r.message});}function d$1(e){if(e instanceof Error){let t={message:e.message,name:e.name,stack:e.stack};return `code`in e&&(typeof e.code==`string`||typeof e.code==`number`)&&(t.code=e.code),t}return {message:String(e)}}async function f$2({name:e,context:t,...n},r){let i=c$1()?.tracer;if(!i)return r();let a=async e=>{try{return await r(e)}catch(t){throw u$1(e,t,n),t}finally{e.end();}};return t?i.startActiveSpan(e,n,t,a):i.startActiveSpan(e,n,a)}async function p$1(e,t){let n=c$1();if(!e||!n)return t();let r=n.trace.setSpan(n.context.active(),e);return n.context.with(r,t)}function ee(e){return !e||typeof e!=`object`?false:`next`in e&&typeof e.next==`function`&&Symbol.asyncIterator in e&&typeof e[Symbol.asyncIterator]==`function`}const te=Symbol.for(`asyncDispose`),ne=Symbol.asyncDispose??te;var m$1=class m{#e=false;#t=false;#n;#r;constructor(e,t){this.#n=t,this.#r=s$1(async()=>{if(this.#e)return {done:true,value:void 0};try{let t=await e();return t.done&&(this.#e=true),t}catch(e){throw this.#e=true,e}finally{this.#e&&!this.#t&&(this.#t=true,await this.#n(`next`));}});}next(){return this.#r()}async return(e){return this.#e=true,this.#t||(this.#t=true,await this.#n(`return`)),{done:true,value:e}}async throw(e){throw this.#e=true,this.#t||(this.#t=true,await this.#n(`throw`)),e}async[ne](){this.#e=true,this.#t||(this.#t=true,await this.#n(`dispose`));}[Symbol.asyncIterator](){return this}};function re({name:e,...t},n){let r;return new m$1(async()=>{r??=l$1(e);try{let e=await p$1(r,()=>n.next());return r?.addEvent(e.done?`completed`:`yielded`),e}catch(e){throw u$1(r,e,t),e}},async e=>{try{e!==`next`&&await p$1(r,()=>n.return?.());}catch(e){throw u$1(r,e,t),e}finally{r?.end();}})}function ie(e,t,n){let r=(t,i)=>{let a=e[i];return a?a({...t,next:(e=t)=>r(e,i+1)}):n(t)};return r(t,0)}function ae(e){if(e)return JSON.parse(e)}function oe(e){return JSON.stringify(e)}function se(e){return h$1(e)?Object.getPrototypeOf(e)?.constructor:null}function ce$1(e){if(!e||typeof e!=`object`)return false;let t=Object.getPrototypeOf(e);return t===Object.prototype||!t||!t.constructor}function h$1(e){return !!e&&(typeof e==`object`||typeof e==`function`)}function le$1(e,t){let n=e;for(let e of t){if(!h$1(n))return;n=n[e];}return n}const ue$1=(()=>{let e=function(){};return e.prototype=Object.create(null),Object.freeze(e.prototype),e})();function de$1(e,...t){return typeof e==`function`?e(...t):e}function fe$1(e){return new Proxy(e,{get(e,t,n){let r=Reflect.get(e,t,n);return t!==`then`||typeof r!=`function`?r:new Proxy(r,{apply(t,n,r){if(r.length!==2||r.some(e=>!me$1(e)))return Reflect.apply(t,n,r);let i=true;r[0].call(n,fe$1(new Proxy(e,{get:(e,t,n)=>{if(i&&t===`then`){i=false;return}return Reflect.get(e,t,n)}})));}})}})}const pe$1=/^\s*function\s*\(\)\s*\{\s*\[native code\]\s*\}\s*$/;function me$1(e){return typeof e==`function`&&pe$1.test(e.toString())}function he$1(e){try{return decodeURIComponent(e)}catch{return e}}const ge$1={BAD_REQUEST:{status:400,message:`Bad Request`},UNAUTHORIZED:{status:401,message:`Unauthorized`},FORBIDDEN:{status:403,message:`Forbidden`},NOT_FOUND:{status:404,message:`Not Found`},METHOD_NOT_SUPPORTED:{status:405,message:`Method Not Supported`},NOT_ACCEPTABLE:{status:406,message:`Not Acceptable`},TIMEOUT:{status:408,message:`Request Timeout`},CONFLICT:{status:409,message:`Conflict`},PRECONDITION_FAILED:{status:412,message:`Precondition Failed`},PAYLOAD_TOO_LARGE:{status:413,message:`Payload Too Large`},UNSUPPORTED_MEDIA_TYPE:{status:415,message:`Unsupported Media Type`},UNPROCESSABLE_CONTENT:{status:422,message:`Unprocessable Content`},TOO_MANY_REQUESTS:{status:429,message:`Too Many Requests`},CLIENT_CLOSED_REQUEST:{status:499,message:`Client Closed Request`},INTERNAL_SERVER_ERROR:{status:500,message:`Internal Server Error`},NOT_IMPLEMENTED:{status:501,message:`Not Implemented`},BAD_GATEWAY:{status:502,message:`Bad Gateway`},SERVICE_UNAVAILABLE:{status:503,message:`Service Unavailable`},GATEWAY_TIMEOUT:{status:504,message:`Gateway Timeout`}};function _e$1(e,t){return t??ge$1[e]?.status??500}function ve$1(e,t){return t||ge$1[e]?.message||e}const g$1=Symbol.for(`__@orpc/client@1.12.2/error/ORPC_ERROR_CONSTRUCTORS__`);globalThis[g$1]??=new WeakSet;const _$1=globalThis[g$1];var ye$1=class ye extends Error{defined;code;status;data;constructor(e,...t){let r=n$1(t);if(r.status!==void 0&&!xe$1(r.status))throw Error(`[ORPCError] Invalid error status code.`);let i=ve$1(e,r.message);super(i,r),this.code=e,this.status=_e$1(e,r.status),this.defined=r.defined??false,this.data=r.data;}toJSON(){return {defined:this.defined,code:this.code,status:this.status,message:this.message,data:this.data}}static[Symbol.hasInstance](e){if(_$1.has(this)){let t=se(e);if(t&&_$1.has(t))return true}return super[Symbol.hasInstance](e)}};_$1.add(ye$1);function be$1(e){return e instanceof ye$1?e:new ye$1(`INTERNAL_SERVER_ERROR`,{message:`Internal server error`,cause:e})}function xe$1(e){return e<200||e>=400}function Se(e){if(!ce$1(e))return false;let t=[`defined`,`code`,`status`,`message`,`data`];return Object.keys(e).some(e=>!t.includes(e))?false:`defined`in e&&typeof e.defined==`boolean`&&`code`in e&&typeof e.code==`string`&&`status`in e&&typeof e.status==`number`&&xe$1(e.status)&&`message`in e&&typeof e.message==`string`}function Ce(e,t={}){return new ye$1(e.code,{...t,...e})}var we=class extends TypeError{},Te$1=class Te extends TypeError{},y$1=class y extends Error{data;constructor(e){super(e?.message??`An error event was received`,e),this.data=e?.data;}};function Ee(e){let t=e.replace(/\n+$/,``).split(/\n/),n={data:void 0,event:void 0,id:void 0,retry:void 0,comments:[]};for(let e of t){let t=e.indexOf(`:`),r=t===-1?e:e.slice(0,t),i=t===-1?``:e.slice(t+1).replace(/^\s/,``);if(t===0)n.comments.push(i);else if(r===`data`)n.data??=``,n.data+=`${i}
4
- `;else if(r===`event`)n.event=i;else if(r===`id`)n.id=i;else if(r===`retry`){let e=Number.parseInt(i);Number.isInteger(e)&&e>=0&&e.toString()===i&&(n.retry=e);}}return n.data=n.data?.replace(/\n$/,``),n}var De=class{constructor(e={}){this.options=e;}incomplete=``;feed(e){this.incomplete+=e;let t=this.incomplete.lastIndexOf(`
5
-
6
- `);if(t===-1)return;let n=this.incomplete.slice(0,t).split(/\n\n/);this.incomplete=this.incomplete.slice(t+2);for(let e of n){let t=Ee(`${e}
7
-
8
- `);this.options.onEvent&&this.options.onEvent(t);}this.incomplete=``;}end(){if(this.incomplete)throw new Te$1(`Event Iterator ended before complete`)}},b$1=class b extends TransformStream{constructor(){let e;super({start(t){e=new De({onEvent:e=>{t.enqueue(e);}});},transform(t){e.feed(t);},flush(){e.end();}});}};function Oe(e){if(e.includes(`
9
- `))throw new we(`Event's id must not contain a newline character`)}function x$1(e){if(e.includes(`
10
- `))throw new we(`Event's event must not contain a newline character`)}function ke(e){if(!Number.isInteger(e)||e<0)throw new we(`Event's retry must be a integer and >= 0`)}function Ae(e){if(e.includes(`
11
- `))throw new we(`Event's comment must not contain a newline character`)}function S$1(e){let t=e?.split(/\n/)??[],n=``;for(let e of t)n+=`data: ${e}
12
- `;return n}function je(e){let t=``;for(let n of e??[])Ae(n),t+=`: ${n}
13
- `;return t}function Me(e){let t=``;return t+=je(e.comments),e.event!==void 0&&(x$1(e.event),t+=`event: ${e.event}
14
- `),e.retry!==void 0&&(ke(e.retry),t+=`retry: ${e.retry}
15
- `),e.id!==void 0&&(Oe(e.id),t+=`id: ${e.id}
16
- `),t+=S$1(e.data),t+=`
17
- `,t}const Ne=Symbol(`ORPC_EVENT_SOURCE_META`);function Pe(e,t){if(t.id===void 0&&t.retry===void 0&&!t.comments?.length)return e;if(t.id!==void 0&&Oe(t.id),t.retry!==void 0&&ke(t.retry),t.comments!==void 0)for(let e of t.comments)Ae(e);return new Proxy(e,{get(e,n,r){return n===Ne?t:Reflect.get(e,n,r)}})}function Fe(e){return h$1(e)?Reflect.get(e,Ne):void 0}function Ie(e){return `inline; filename="${e.replace(/"/g,`\\"`)}"; filename*=utf-8''${encodeURIComponent(e).replace(/['()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`).replace(/%(7C|60|5E)/g,(e,t)=>String.fromCharCode(Number.parseInt(t,16)))}`}function Le(e){let t=e.match(/filename\*=(UTF-8'')?([^;]*)/i);if(t&&typeof t[2]==`string`)return he$1(t[2]);let n=e.match(/filename="((?:\\"|[^"])*)"/i);if(n&&typeof n[1]==`string`)return n[1].replace(/\\"/g,`"`)}function Re(e,t){let n={...e};for(let e in t)Array.isArray(t[e])?n[e]=[...r$1(n[e]),...t[e]]:t[e]!==void 0&&(Array.isArray(n[e])?n[e]=[...n[e],t[e]]:n[e]===void 0?n[e]=t[e]:n[e]=[n[e],t[e]]);return n}function ze(e,t){let n=async e=>{let n=await t.error(e);if(n!==e){let t=Fe(e);t&&h$1(n)&&(n=Pe(n,t));}return n};return new m$1(async()=>{let{done:r,value:i}=await(async()=>{try{return await e.next()}catch(e){throw await n(e)}})(),a=await t.value(i,r);if(a!==i){let e=Fe(i);e&&h$1(a)&&(a=Pe(a,e));}return {done:r,value:a}},async()=>{try{await e.return?.();}catch(e){throw await n(e)}})}function Ve(e){return {...e,context:e.context??{}}}function He(e,t={}){let n=t.path??[];return fe$1(new Proxy(async(...[t,r={}])=>await e.call(n,t,Ve(r)),{get(r,i){return typeof i==`string`?He(e,{path:[...n,i]}):Reflect.get(r,i)}}))}function We(e,t){return {...e,...t}}var Ge=class{"~orpc";constructor(e){if(e.route?.successStatus&&xe$1(e.route.successStatus))throw Error(`[ContractProcedure] Invalid successStatus.`);if(Object.values(e.errorMap).some(e=>e&&e.status&&!xe$1(e.status)))throw Error(`[ContractProcedure] Invalid error status code.`);this[`~orpc`]=e;}};function Ke(e){return e instanceof Ge?true:(typeof e==`object`||typeof e==`function`)&&e!==null&&`~orpc`in e&&typeof e[`~orpc`]==`object`&&e[`~orpc`]!==null&&`errorMap`in e[`~orpc`]&&`route`in e[`~orpc`]&&`meta`in e[`~orpc`]}function qe(e,t){return {...e,...t}}function Je(e,t){return {...e,...t}}function Ye(e,t){return e.path?{...e,path:`${t}${e.path}`}:e}function Xe(e,t){return {...e,tags:[...t,...e.tags??[]]}}function Ze(e,t){return e?`${e}${t}`:t}function Qe(e,t){return e?[...e,...t]:t}function $e(e,t){let n=e;return t.prefix&&(n=Ye(n,t.prefix)),t.tags?.length&&(n=Xe(n,t.tags)),n}function et(e,t){if(Ke(e))return new Ge({...e[`~orpc`],errorMap:We(t.errorMap,e[`~orpc`].errorMap),route:$e(e[`~orpc`].route,t)});let n={};for(let r in e)n[r]=et(e[r],t);return n}const C$1=new class e extends Ge{constructor(e){super(e),this[`~orpc`].prefix=e.prefix,this[`~orpc`].tags=e.tags;}$meta(t){return new e({...this[`~orpc`],meta:t})}$route(t){return new e({...this[`~orpc`],route:t})}errors(t){return new e({...this[`~orpc`],errorMap:We(this[`~orpc`].errorMap,t)})}meta(t){return new e({...this[`~orpc`],meta:qe(this[`~orpc`].meta,t)})}route(t){return new e({...this[`~orpc`],route:Je(this[`~orpc`].route,t)})}input(t){return new e({...this[`~orpc`],inputSchema:t})}output(t){return new e({...this[`~orpc`],outputSchema:t})}prefix(t){return new e({...this[`~orpc`],prefix:Ze(this[`~orpc`].prefix,t)})}tag(...t){return new e({...this[`~orpc`],tags:Qe(this[`~orpc`].tags,t)})}router(e){return et(e,this[`~orpc`])}}({errorMap:{},route:{},meta:{}}),tt={defaultMethod:`POST`,defaultSuccessStatus:200,defaultSuccessDescription:`OK`,defaultInputStructure:`compact`,defaultOutputStructure:`compact`};function nt(e,t){return t===void 0?tt[e]:t}const it=Symbol.for(`constructDateFrom`);function at(e,t){return typeof e==`function`?e(t):e&&typeof e==`object`&&it in e?e[it](t):e instanceof Date?new e.constructor(t):new Date(t)}function ot(e,t){return at(e,e)}function w$1(e,t,n){let r=ot(e);return isNaN(t)?at(e,NaN):(t&&r.setDate(r.getDate()+t),r)}const st={},ct={};function lt(e,t){try{let n=(st[e]||=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`longOffset`}).format)(t).split(`GMT`)[1];return n in ct?ct[n]:dt(n,n.split(`:`))}catch{if(e in ct)return ct[e];let t=e?.match(ut);return t?dt(e,t.slice(1)):NaN}}const ut=/([+-]\d\d):?(\d\d)?/;function dt(e,t){let n=+(t[0]||0),r=+(t[1]||0),i=(t[2]||0)/60;return ct[e]=n*60+r>0?n*60+r+i:n*60-r-i}var ft=class e extends Date{constructor(...e){super(),e.length>1&&typeof e[e.length-1]==`string`&&(this.timeZone=e.pop()),this.internal=new Date,isNaN(lt(this.timeZone,this))?this.setTime(NaN):e.length?typeof e[0]==`number`&&(e.length===1||e.length===2&&typeof e[1]!=`number`)?this.setTime(e[0]):typeof e[0]==`string`?this.setTime(+new Date(e[0])):e[0]instanceof Date?this.setTime(+e[0]):(this.setTime(+new Date(...e)),gt(this),mt(this)):this.setTime(Date.now());}static tz(t,...n){return n.length?new e(...n,t):new e(Date.now(),t)}withTimeZone(t){return new e(+this,t)}getTimezoneOffset(){let e=-lt(this.timeZone,this);return e>0?Math.floor(e):Math.ceil(e)}setTime(e){return Date.prototype.setTime.apply(this,arguments),mt(this),+this}[Symbol.for(`constructDateFrom`)](t){return new e(+new Date(t),this.timeZone)}};const pt=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!pt.test(e))return;let t=e.replace(pt,`$1UTC`);ft.prototype[t]&&(e.startsWith(`get`)?ft.prototype[e]=function(){return this.internal[t]()}:(ft.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),ht(this),+this},ft.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),mt(this),+this}));});function mt(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-lt(e.timeZone,e)*60));}function ht(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),gt(e);}function gt(e){let t=lt(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),r=new Date(+e);r.setUTCHours(r.getUTCHours()-1);let i=-new Date(+e).getTimezoneOffset(),a=i- -new Date(+r).getTimezoneOffset(),o=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();a&&o&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+a);let s=i-n;s&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+s);let c=new Date(+e);c.setUTCSeconds(0);let l=i>0?c.getSeconds():(c.getSeconds()-60)%60,u=Math.round(-(lt(e.timeZone,e)*60))%60;(u||l)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+u),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+u+l));let d=lt(e.timeZone,e),f=d>0?Math.floor(d):Math.ceil(d),p=-new Date(+e).getTimezoneOffset()-f,ee=f!==n,te=p-s;if(ee&&te){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+te);let t=lt(e.timeZone,e),n=f-(t>0?Math.floor(t):Math.ceil(t));n&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+n),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+n));}}function T$1(e){return (typeof e==`string`?new Date(e):e).toISOString().replace(/\.\d{3}Z$/,``)}let E$1;((function(e){let t=e.Tenant={id:`tnt_01jqpj2t2kfvmstt6f6tzkbaf2`,oldId:`none`,name:`Session Services`,slug:`session-services`,email:`hello@session.services`,adminTeamId:`tem_01jqpjksnsen9vprw95et60t3m`,defaultCurrency:`AUD`,baseUrl:{dev:`http://localhost:3000`,production:`https://app.session.services`},logo:{icon:{src:`https://assets.session.services/icon-bg.png`,width:29,height:29},email:{src:`https://assets.session.services/icon-bg.png`,width:165,height:76},website:{src:`https://assets.session.services/icon-bg.png`,width:165,height:76},qr:{src:`https://assets.session.services/tenants/session-services/qr.svg`}},favicon:`https://assets.session.services/tenants/session-services/favicon.svg`};e.Region={country:{id:`rgn_01jqpj2t2kfvmstt6f6tzkbaf2`,name:`Australia`,slug:`australia`,kind:`COUNTRY`,order:1},state:{id:`rgn_01jqpj2t2kfvmstt6f6tzkbaf3`,name:`New South Wales`,slug:`nsw`,kind:`STATE`,parentId:`rgn_01jqpj2t2kfvmstt6f6tzkbaf2`,order:2},city:{id:`rgn_01jqpj2t2kfvmstt6f6tzkbaf4`,name:`Sydney`,slug:`sydney`,kind:`CITY`,parentId:`rgn_01jqpj2t2kfvmstt6f6tzkbaf3`,latitude:-33.8688,longitude:151.2093,radius:25,order:3}};let n=e.User={id:`usr_01jps5cgsd4tzjghtnt45qnhn0`,email:`test@session.services`,firstName:`Jay`,lastName:`McMullen`,imageUrl:void 0,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),tenantId:t.id,deleted:false};e.EmailVerification={id:`emlvrf_01jps5cgsd4tzjghtnt45qnhn0`,userId:`usr_01jps5cgsd4tzjghtnt45qnhn0`,tenantId:t.id,email:`test@session.services`,code:`123456`,expiresAt:new Date(Date.now()+1800*1e3).toISOString(),createdAt:new Date().toISOString()},e.PasswordReset={id:`pwrst_01jps5cgsd4tzjghtnt45qnhn0`,token:`c76e3a5d7105345b58e383e6d90fe7728b75f938b727f0b9ecc5b977e8c3b5d0`,userId:`usr_01jps5cgsd4tzjghtnt45qnhn0`,tenantId:t.id,email:`test@session.services`,code:`123456`,expiresAt:new Date(Date.now()+900*1e3).toISOString(),emailVerified:false,twoFactorVerified:false,createdAt:new Date().toISOString()};let r=e.Team={id:`tem_01jqpjksnsen9vprw95et60t2m`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Session Services`,slug:`session-services`,description:`This is only a test...`,type:`PROMOTER`,tenantId:`tnt_01jqpj2t2kfvmstt6f6tzkbaf2`,deleted:false},i=e.Promoter={id:`pmt_01jqpjksnsen9vprw95et60t2m`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),teamId:r.id,name:`Session Services`,slug:`session-services`,description:`This is only a test...`,payoutFrequency:`AFTER_EVENT`,image:{src:`https://assets.session.services/icon-bg.png`,alt:`Session Services Logo`,width:800,height:800},approval:`APPROVED`,geohash:`r3gx1`,location:{id:`loc_01jqpjksnsen9vprw95et60t4m`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Sydney`,address:`Sydney NSW 2000, Australia`,city:`Sydney`,state:`New South Wales`,postcode:`2000`,country:`Australia`,latitude:-33.8944593,longitude:151.2252255,timeZone:`Australia/Sydney`},tracking:{fbId:`485739562847563`,gtmId:`GTM-K8WPM5N`,tikTokId:`BQCKPH3RC77U8GPMLJ5G`},tenantId:`tnt_01jqpj2t2kfvmstt6f6tzkbaf2`,deleted:false};e.Venue={id:`ven_01jqpjksnsen9vprw95et60t2m`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),teamId:r.id,locationId:`loc_01jqpjksnsen9vprw95et60t3m`,approval:`APPROVED`,name:`Sydney Opera House`,slug:`sydney-opera-house`,description:`Iconic performing arts venue in Sydney, Australia`,type:`THEATER`,logo:{src:`https://assets.session.services/venues/sydney-opera-house.png`,alt:`Sydney Opera House`,width:800,height:800},images:[{src:`https://assets.session.services/venues/sydney-opera-house-1.jpg`,alt:`Sydney Opera House exterior`,width:1920,height:1080}],contact:{email:`info@sydneyoperahouse.com`,phone:`+61 2 9250 7111`,website:`https://www.sydneyoperahouse.com`,instagram:`https://instagram.com/sydneyoperahouse`,facebook:`https://facebook.com/sydneyoperahouse`,twitter:`https://twitter.com/sydneyoperahouse`},location:{id:`loc_01jqpjksnsen9vprw95et60t3m`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Sydney Opera House`,address:`Bennelong Point, Sydney NSW 2000`,city:`Sydney`,state:`New South Wales`,postcode:`2000`,country:`Australia`,latitude:-33.8567844,longitude:151.2152967,timeZone:`Australia/Sydney`,image:{src:`https://assets.session.services/locations/sydney-opera-house.jpg`,alt:`Sydney Opera House`,width:1200,height:800}},geohash:`r3gx2f9`,capacity:5738,tenantId:t.id,deleted:false};let a=e.PromoterMember={id:`mbr_01jps5cgsec5ge0b1bxa6gzkkk`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),teamId:r.id,userId:n.id,user:{id:n.id,email:n.email,firstName:n.firstName,lastName:n.lastName,imageUrl:n.imageUrl},permissions:[`FULL`],isOwner:true,tenantId:t.id};e.TeamMember={id:`mbr_01jqpjksnsen9vprw95et60t2m`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),teamId:r.id,userId:n.id,user:{id:n.id,email:n.email,firstName:n.firstName,lastName:n.lastName,imageUrl:n.imageUrl},permissions:[`FULL`],isOwner:true,tenantId:t.id},e.TeamInvite={id:`inv_01jqpjksnsen9vprw95et60t4m`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),expiresAt:Math.floor(w$1(new Date,7).getTime()/1e3),teamId:r.id,token:`a76e3c5d7109345b58e383e6d90f7728b75f9a38b727f0b9edd5b977e8c3b5d0`,email:`team-invite@session.services`,invitedBy:n.id,permissions:[`EVENT`,`ORDER`],tenantId:t.id},e.CurrentSession={user:n,initials:`JM`,isTenantAdmin:true,promoters:[{...i,member:a}]},e.Session={id:`sess_01jps5cgsd4tzjghtnt45qnhn0`,userId:n.id,tenantId:t.id,expiresAt:w$1(new Date,30).toISOString(),twoFactorVerified:false,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()},e.BackupCode={id:`bkc_01jps5cgsd4tzjghtnt45qnhn0`,userId:n.id,tenantId:t.id,code:`ABC123DEF456`,used:false,createdAt:new Date().toISOString()},e.UserSession={id:`uss_01jps5cgsd4tzjghtnt45qnhn0`,userId:n.id,tenantId:t.id,ipAddress:`192.168.1.100`,userAgent:`Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36`,location:`Sydney, Australia`,isCurrent:true,expiresAt:w$1(new Date,30).toISOString(),createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()},e.PasskeyCredential={id:`pkc_01jps5cgsd4tzjghtnt45qnhn0`,userId:n.id,tenantId:t.id,name:`iPhone Touch ID`,credentialId:`cred_01jps5cgsd4tzjghtnt45qnhn0`,credentialPublicKey:`pQECAyYgASFYIM...`,credentialBackupEligible:true,credentialBackupState:false,credentialDeviceType:`singleDevice`,counter:1,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()},e.SecurityKeyCredential={id:`skc_01jps5cgsd4tzjghtnt45qnhn0`,userId:n.id,tenantId:t.id,name:`YubiKey 5 NFC`,credentialId:`cred_01jps5cgsd4tzjghtnt45qnhn0`,credentialPublicKey:`pQECAyYgASFYIM...`,credentialBackupEligible:false,credentialBackupState:false,credentialDeviceType:`crossPlatform`,counter:5,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()},e.TOTPCredential={id:`tpc_01jps5cgsd4tzjghtnt45qnhn0`,userId:n.id,tenantId:t.id,secret:`JBSWY3DPEHPK3PXP`,verified:true,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()};let o=e.Location={id:`loc_01hk153x00eh99pagyydz03sbz`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),googlePlaceId:`ChIJ6zWCPUyxEmsRmc6BPrNaP4s`,name:`Watson's EQ`,address:`The, Entertainment Quarter, 1 Bent St, Moore Park NSW 2021, Australia`,city:`Moore Park`,state:`New South Wales`,postcode:`2021`,country:`Australia`,latitude:-33.8944593,longitude:151.2252255,timeZone:`Australia/Sydney`,types:[`establishment`,`point_of_interest`,`restaurant`,`bar`],image:{src:`https://assets.session.services/locations/watsons-eq.jpg`,alt:`Watson's EQ`,width:1200,height:800}},s=e.Event={id:`evt_01jps5cgsenjrazw6wswmyspa3`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Test Event`,slug:`test-event`,description:`This is only a test...`,approval:`APPROVED`,status:`UPCOMING`,visibility:`PUBLIC`,currency:`AUD`,entryStartsAt:T$1(w$1(new Date,1)),entryEndsAt:T$1(w$1(new Date,2)),publishAt:T$1(new Date),images:{mobile:{src:`https://assets.session.services/event-mobile.jpg`,alt:`Mobile Event Image`,width:1080,height:1350},desktop:{src:`https://assets.session.services/event-desktop.jpg`,alt:`Desktop Event Image`,width:1920,height:1080}},geohash:`r3gx1`,location:o,teamId:r.id,promoterId:i.id,tenantId:t.id,deleted:false},c=e.Section={id:`sct_01jps5cgse0g3qj16kpq8t221r`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),teamId:r.id,promoterId:i.id,eventId:s.id,eventSlug:s.slug,name:`General Admission`,capacity:1e3,limit:-1,available:700,sold:200,reserved:100,order:0,location:o,tenantId:t.id,deleted:false,orderPadded:`0000000000`},l=e.Admission={id:`adm_01jps5cgsee0xvapbk92e8eb4g`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),sectionId:c.id,teamId:r.id,promoterId:i.id,eventId:s.id,eventSlug:s.slug,name:`Final Release`,capacity:1e5,limit:-1,available:7e4,sold:2e4,reserved:1e4,order:0,entryStartsAt:T$1(w$1(new Date,1)),entryEndsAt:T$1(w$1(new Date,2)),saleStartsAt:T$1(new Date),saleEndsAt:T$1(w$1(new Date,2)),price:{base:1e3,booking:200,currency:`AUD`},tenantId:t.id,deleted:false,orderPadded:`0000000000`};e.DetailedEvent={...s,admissions:[l],sections:[c]};let u=e.Beneficiary={id:`ben_01jps5cgse5n6mg1ymkew9tsfh`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`My Bank Account`,currency:`AUD`,gatewayId:`7489cb17-24c5-4acf-a0cf-d93ed38081fe`,gateway:`AIRWALLEX`,teamId:r.id,promoterIds:[i.id],venueIds:[],tenantId:t.id};e.AirwallexBeneficiary={transfer_methods:[`LOCAL`],beneficiary:{additional_info:{personal_email:`test@session.services`},address:{city:`Sydney`,country_code:`AU`,postcode:`2000`,state:`AU-NSW`,street_address:`123 George Street`},bank_details:{account_currency:`AUD`,account_name:`John Doe`,account_number:`999994`,account_routing_type1:`bsb`,account_routing_value1:`062004`,bank_country_code:`AU`,local_clearing_system:`BANK_TRANSFER`},entity_type:`PERSONAL`,company_name:`Doe Enterprises Pty Ltd`,first_name:`John`,last_name:`Doe`}};let d=e.Coupon={id:`cpn_01jps5cgsfzs1ksqaet5hba8ac`,couponId:`cpn_01jps5cgsfzs1ksqaet5hba8ac`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Half Price`,active:true,kind:`PERCENT`,filter:`TEAM`,currency:`AUD`,discount:50,uses:0,limit:-1,saleStartsAt:`2025-02-10T03:00:00`,saleEndsAt:void 0,deletedAt:void 0,teamId:r.id,tenantId:t.id,deleted:false},f=e.CouponCode={id:`cod_01jps5cgsfzftw7hxcvr2wftk2`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),active:true,name:`TEST50`,uses:0,tenantId:t.id,couponId:d.id,teamId:r.id,deleted:false},p=e.AmountCoupon={id:`cpn_01jps5cgsfndn8jcsfvh72x811`,couponId:`cpn_01jps5cgsfndn8jcsfvh72x811`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Half Price`,active:true,kind:`PERCENT`,filter:`EVENTS`,currency:`AUD`,eventIds:[s.id],discount:50,uses:0,limit:-1,saleStartsAt:`2025-02-10T03:00:00`,saleEndsAt:void 0,deletedAt:void 0,teamId:r.id,tenantId:t.id};e.AmountCouponCode={id:`cod_01jps5cgsfq06xvvhg0hn2rdzd`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),active:true,name:`TEST5DOLLAR`,uses:0,tenantId:t.id,couponId:p.id,teamId:r.id};let ee=e.Customer={id:`cus_01jps5cgsf4pn2a32eamppnap1`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),firstName:`Test`,lastName:`User`,email:`test@session.services`,phone:`+61411111111`,tenantId:t.id},te=e.PayoutTransfer={id:`xfr_01jq8s6c38f97w9yfrfcdhf47v`,createdAt:new Date().toISOString(),kind:`TICKETS`,amount:1e3,currency:`AUD`,fee:0,feeCurrency:`AUD`,reference:`XYZ`,gateway:`AIRWALLEX`,gatewayId:`fe33fb0f-d9d8-47cd-8eef-6a19bd6223eb`,beneficiary:u.name,beneficiaryId:u.id},ne=e.PayoutDeduction={id:`pad_01jq90naksfzf8gt2xnn71h21h`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),amount:100,currency:`AUD`,description:`Minimum bar spend not met`,reference:`XYZ`,gateway:`AIRWALLEX`,gatewayId:`1221bbbc-cc97-4119-a597-69019e9d8a93`,beneficiary:u.name,beneficiaryId:u.id},m=e.Payout={id:`pyt_01jps5cgsfv2wre6hd0rc4w4t8`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),paidAt:new Date().toISOString(),status:`PAID`,method:`AIRWALLEX`,structure:`DEFAULT`,approval:`PENDING`,frequency:`AFTER_EVENT`,transfers:[te],deductions:[ne],event:{id:s.id,name:s.name,slug:s.slug,location:s.location.name},price:{net:1e3,total:1e3,gross:1e3,base:1e3,booking:0,refunded:0,discount:0,gateway:0,dispute:0,shipping:0,deductions:0,currency:`AUD`},eventId:s.id,teamId:r.id,promoterId:i.id,promoterSlug:i.slug,tenantId:t.id},re=e.OrderItem={id:`itm_01jps5cgsfwyxj0516571eaf17`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),orderId:`ord_01jps5cgsfgve5b5g2666kyryh`,kind:`ADMISSION`,quantity:2,admissionId:l.id,sectionId:c.id,price:{net:l.price.base+l.price.booking,total:l.price.base+l.price.booking,gross:l.price.base+l.price.booking,base:l.price.base,booking:l.price.booking,refunded:0,discount:0,currency:l.price.currency}};e.OrderFee={id:`fee_01jps5cgsgamykd6kh2t738qkh`,createdAt:new Date().toISOString(),reason:`Gateway Fee`,amount:-30,currency:`AUD`,requestId:`att_sgpdz4v2ph1axmdmdx8_m8w6qv`};let ie=e.Order={id:`ord_01jps5cgsfgve5b5g2666kyryh`,token:`c76e3a5d7105345b58e383e6d90fe7728b75f938b727f0b9ecc5b977e8c3b5d0`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),status:`PENDING`,price:{net:500,total:1400,gross:2200,base:1e3,booking:400,discount:-1e3,refunded:-700,gateway:0,dispute:0,shipping:0,currency:`AUD`},code:{id:f.id,name:f.name},event:{id:s.id,name:s.name,slug:s.slug},fees:[],items:[re],customer:E$1.Customer,customerId:E$1.Customer.id,teamId:E$1.Team.id,promoterId:E$1.Promoter.id,promoterSlug:E$1.Promoter.slug,eventId:E$1.Event.id,eventSlug:E$1.Event.slug,payment:{method:`AIRWALLEX`,source:`CARD`},payoutIds:[m.id],tenantId:E$1.Tenant.id,checkoutUrl:`${t.baseUrl.dev}/checkout/ord_01jps5cgsfgve5b5g2666kyryh`},ae=e.TicketScan={id:`scn_01jq4rjmtzyzgtsavn9f34mxan`,scannedAt:new Date().toISOString(),scannedBy:{id:n.id,firstName:n.firstName,lastName:n.lastName,email:n.email},scannedById:n.id,deviceId:`dev_01jq4rjvrgar43zwvyakbje22m`,kind:`CHECK_IN`};e.Ticket={id:`tkt_01jps5cgsg0s32w2pr73vbccde`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),status:`REDEEMED`,scans:[ae],token:`7b81e13025f78f9935d5933eec3ab25e3c2bb811c99f2470182dd6ba4394ff82`,attendee:{email:ee.email,firstName:ee.firstName,lastName:ee.lastName},event:{id:s.id,name:s.name,slug:s.slug,location:s.location,entryStartsAt:s.entryStartsAt,entryEndsAt:s.entryEndsAt,images:s.images},admission:{id:l.id,name:l.name,price:l.price,entryStartsAt:l.entryStartsAt,entryEndsAt:l.entryEndsAt},eventId:s.id,admissionId:l.id,customerId:ee.id,orderId:ie.id,orderItemId:re.id,teamId:r.id,promoterId:i.id,promoterSlug:i.slug,tenantId:t.id};}))(E$1||={});function D$1(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,`_zod`,{value:{def:r,constr:o,traits:new Set},enumerable:false}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n));}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,`name`,{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,`init`,{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?true:t?._zod?.traits?.has(e)}),Object.defineProperty(o,`name`,{value:e}),o}var _t=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`);}},vt=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`;}};const yt={};function bt(e){return yt}function xt(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function St(e,t){return typeof t==`bigint`?t.toString():t}function Ct(e){return {get value(){{let t=e();return Object.defineProperty(this,`value`,{value:t}),t}}}}function wt(e){return e==null}function Tt(e){let t=e.startsWith(`^`)?1:0,n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function Et(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=t.toString(),i=(r.split(`.`)[1]||``).length;if(i===0&&/\d?e-\d?/.test(r)){let e=r.match(/\d?e-(\d?)/);e?.[1]&&(i=Number.parseInt(e[1]));}let a=n>i?n:i;return Number.parseInt(e.toFixed(a).replace(`.`,``))%Number.parseInt(t.toFixed(a).replace(`.`,``))/10**a}const Dt=Symbol(`evaluating`);function O$1(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==Dt)return r===void 0&&(r=Dt,r=n()),r},set(n){Object.defineProperty(e,t,{value:n});},configurable:true});}function Ot(e,t,n){Object.defineProperty(e,t,{value:n,writable:true,enumerable:true,configurable:true});}function kt(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e);}return Object.defineProperties({},t)}function At(e){return JSON.stringify(e)}function jt(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}const Mt=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function Nt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}const Pt=Ct(()=>{if(typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return false;try{return Function(``),true}catch{return false}});function Ft(e){if(Nt(e)===false)return false;let t=e.constructor;if(t===void 0||typeof t!=`function`)return true;let n=t.prototype;return !(Nt(n)===false||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===false)}function It(e){return Ft(e)?{...e}:Array.isArray(e)?[...e]:e}const Lt=new Set([`string`,`number`,`symbol`]);function Rt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function zt(e,t,n){let r=new e._zod.constr(t??e._zod.def);return (!t||n?.parent)&&(r._zod.parent=e),r}function k$1(e){let t=e;if(!t)return {};if(typeof t==`string`)return {error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message;}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function Bt(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}const Vt={safeint:[-9007199254740991,2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Ht(e,t){let n=e._zod.def;return zt(e,kt(e._zod.def,{get shape(){let e={};for(let r in t){if(!(r in n.shape))throw Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r]);}return Ot(this,`shape`,e),e},checks:[]}))}function Ut(e,t){let n=e._zod.def;return zt(e,kt(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e];}return Ot(this,`shape`,r),r},checks:[]}))}function Wt(e,t){if(!Ft(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0)throw Error("Object schemas containing refinements cannot be extended. Use `.safeExtend()` instead.");return zt(e,kt(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return Ot(this,`shape`,n),n},checks:[]}))}function Gt(e,t){if(!Ft(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return zt(e,{...e._zod.def,get shape(){let n={...e._zod.def.shape,...t};return Ot(this,`shape`,n),n},checks:e._zod.def.checks})}function Kt(e,t){return zt(e,kt(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return Ot(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:[]}))}function qt(e,t,n){return zt(t,kt(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in r))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t]);}else for(let t in r)i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t];return Ot(this,`shape`,i),i},checks:[]}))}function Jt(e,t,n){return zt(t,kt(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in i))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=new e({type:`nonoptional`,innerType:r[t]}));}else for(let t in r)i[t]=new e({type:`nonoptional`,innerType:r[t]});return Ot(this,`shape`,i),i},checks:[]}))}function Yt(e,t=0){if(e.aborted===true)return true;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==true)return true;return false}function Xt(e,t){return t.map(t=>{var n;return (n=t).path??(n.path=[]),t.path.unshift(e),t})}function Zt(e){return typeof e==`string`?e:e?.message}function Qt(e,t,n){let r={...e,path:e.path??[]};return e.message||(r.message=Zt(e.inst?._zod.def?.error?.(e))??Zt(t?.error?.(e))??Zt(n.customError?.(e))??Zt(n.localeError?.(e))??`Invalid input`),delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function $t(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function en(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}const tn=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,`_zod`,{value:e._zod,enumerable:false}),Object.defineProperty(e,`issues`,{value:t,enumerable:false}),e.message=JSON.stringify(t,St,2),Object.defineProperty(e,`toString`,{value:()=>e.message,enumerable:false});},nn=D$1(`$ZodError`,tn),rn=D$1(`$ZodError`,tn,{Parent:Error});function an(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return {formErrors:r,fieldErrors:n}}function on(e,t=e=>e.message){let n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`&&i.errors.length)i.errors.map(e=>r({issues:e}));else if(i.code===`invalid_key`)r({issues:i.issues});else if(i.code===`invalid_element`)r({issues:i.issues});else if(i.path.length===0)n._errors.push(t(i));else {let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++;}}};return r(e),n}const sn=e=>(t,n,r,i)=>{let a=r?Object.assign(r,{async:false}):{async:false},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new _t;if(o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>Qt(e,a,bt())));throw Mt(t,i?.callee),t}return o.value},cn=e=>async(t,n,r,i)=>{let a=r?Object.assign(r,{async:true}):{async:true},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>Qt(e,a,bt())));throw Mt(t,i?.callee),t}return o.value},ln=e=>(t,n,r)=>{let i=r?{...r,async:false}:{async:false},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new _t;return a.issues.length?{success:false,error:new(e??nn)(a.issues.map(e=>Qt(e,i,bt())))}:{success:true,data:a.value}},un=ln(rn),dn=e=>async(t,n,r)=>{let i=r?Object.assign(r,{async:true}):{async:true},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:false,error:new e(a.issues.map(e=>Qt(e,i,bt())))}:{success:true,data:a.value}},fn=dn(rn),pn=e=>(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return sn(e)(t,n,i)},mn=e=>(t,n,r)=>sn(e)(t,n,r),hn=e=>async(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return cn(e)(t,n,i)},gn$1=e=>async(t,n,r)=>cn(e)(t,n,r),_n$1=e=>(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return ln(e)(t,n,i)},vn$1=e=>(t,n,r)=>ln(e)(t,n,r),yn$1=e=>async(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return dn(e)(t,n,i)},bn$1=e=>async(t,n,r)=>dn(e)(t,n,r),xn$1=/^[cC][^\s-]{8,}$/,Sn$1=/^[0-9a-z]+$/,Cn$1=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,wn$1=/^[0-9a-vA-V]{20}$/,Tn$1=/^[A-Za-z0-9]{27}$/,En$1=/^[a-zA-Z0-9_-]{21}$/,Dn$1=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,On$1=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,kn$1=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,An$1=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;function jn$1(){return RegExp(`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,`u`)}const Mn$1=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Nn$1=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Pn$1=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Fn$1=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,In$1=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Ln$1=/^[A-Za-z0-9_-]*$/,Rn$1=/^\+(?:[0-9]){6,14}[0-9]$/,zn$1=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`,Bn$1=RegExp(`^${zn$1}$`);function Vn$1(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Hn$1(e){return RegExp(`^${Vn$1(e)}$`)}function Un$1(e){let t=Vn$1({precision:e.precision}),n=[`Z`];e.local&&n.push(``),e.offset&&n.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let r=`${t}(?:${n.join(`|`)})`;return RegExp(`^${zn$1}T(?:${r})$`)}const Wn$1=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},Gn$1=/^-?\d+$/,Kn$1=/^-?\d+(?:\.\d+)?/,qn$1=/^(?:true|false)$/i,Jn$1=/^null$/i,Yn$1=/^[^A-Z]*$/,Xn$1=/^[^a-z]*$/,A$1=D$1(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[]);}),Zn$1={number:`number`,bigint:`bigint`,object:`date`},Qn$1=D$1(`$ZodCheckLessThan`,(e,t)=>{A$1.init(e,t);let n=Zn$1[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value);}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:`too_big`,maximum:t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort});};}),$n$1=D$1(`$ZodCheckGreaterThan`,(e,t)=>{A$1.init(e,t);let n=Zn$1[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value);}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:`too_small`,minimum:t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort});};}),er$1=D$1(`$ZodCheckMultipleOf`,(e,t)=>{A$1.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value);}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?n.value%t.value===BigInt(0):Et(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort});};}),tr$1=D$1(`$ZodCheckNumberFormat`,(e,t)=>{A$1.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=Vt[t.format];e._zod.onattach.push(e=>{let r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=a,n&&(r.pattern=Gn$1);}),e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:false,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-9007199254740991,note:`Integers must be within the safe integer range.`,inst:e,origin:r,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:true,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inst:e});};}),nr$1=D$1(`$ZodCheckMaxLength`,(e,t)=>{var n;A$1.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return !wt(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum);}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=$t(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:true,input:r,inst:e,continue:!t.abort});};}),rr$1=D$1(`$ZodCheckMinLength`,(e,t)=>{var n;A$1.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return !wt(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum);}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=$t(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:true,input:r,inst:e,continue:!t.abort});};}),ir$1=D$1(`$ZodCheckLengthEquals`,(e,t)=>{var n;A$1.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return !wt(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length;}),e._zod.check=n=>{let r=n.value,i=r.length;if(i===t.length)return;let a=$t(r),o=i>t.length;n.issues.push({origin:a,...o?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:true,exact:true,input:n.value,inst:e,continue:!t.abort});};}),ar$1=D$1(`$ZodCheckStringFormat`,(e,t)=>{var n,r;A$1.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern));}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort});}):(r=e._zod).check??(r.check=()=>{});}),or$1=D$1(`$ZodCheckRegex`,(e,t)=>{ar$1.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort});};}),sr$1=D$1(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=Yn$1,ar$1.init(e,t);}),cr$1=D$1(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=Xn$1,ar$1.init(e,t);}),lr$1=D$1(`$ZodCheckIncludes`,(e,t)=>{A$1.init(e,t);let n=Rt(t.includes),r=new RegExp(typeof t.position==`number`?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(r);}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort});};}),ur$1=D$1(`$ZodCheckStartsWith`,(e,t)=>{A$1.init(e,t);let n=RegExp(`^${Rt(t.prefix)}.*`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n);}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort});};}),dr$1=D$1(`$ZodCheckEndsWith`,(e,t)=>{A$1.init(e,t);let n=RegExp(`.*${Rt(t.suffix)}$`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n);}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort});};}),fr$1=D$1(`$ZodCheckOverwrite`,(e,t)=>{A$1.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value);};});var pr$1=class pr{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e);}indented(e){this.indent+=1,e(this),--this.indent;}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
18
- `).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e);}compile(){let e=Function,t=this?.args,n=[...(this?.content??[``]).map(e=>` ${e}`)];return new e(...t,n.join(`
19
- `))}};const mr$1={major:4,minor:1,patch:13},j$1=D$1(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=mr$1;let r=[...e._zod.def.checks??[]];e._zod.traits.has(`$ZodCheck`)&&r.unshift(e);for(let t of r)for(let n of t._zod.onattach)n(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse;});else {let t=(e,t,n)=>{let r=Yt(e),i;for(let a of t){if(a._zod.def.when){if(!a._zod.def.when(e))continue}else if(r)continue;let t=e.issues.length,o=a._zod.check(e);if(o instanceof Promise&&n?.async===false)throw new _t;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=Yt(e,t));});else {if(e.issues.length===t)continue;r||=Yt(e,t);}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(Yt(n))return n.aborted=true,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===false)throw new _t;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(i,a)=>{if(a.skipChecks)return e._zod.parse(i,a);if(a.direction===`backward`){let t=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:true});return t instanceof Promise?t.then(e=>n(e,i,a)):n(t,i,a)}let o=e._zod.parse(i,a);if(o instanceof Promise){if(a.async===false)throw new _t;return o.then(e=>t(e,r,a))}return t(o,r,a)};}e[`~standard`]={validate:t=>{try{let n=un(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return fn(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1};}),hr$1=D$1(`$ZodString`,(e,t)=>{j$1.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Wn$1(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value);}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n};}),M$1=D$1(`$ZodStringFormat`,(e,t)=>{ar$1.init(e,t),hr$1.init(e,t);}),gr$1=D$1(`$ZodGUID`,(e,t)=>{t.pattern??=On$1,M$1.init(e,t);}),_r$1=D$1(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=kn$1(e);}else t.pattern??=kn$1();M$1.init(e,t);}),vr=D$1(`$ZodEmail`,(e,t)=>{t.pattern??=An$1,M$1.init(e,t);}),yr=D$1(`$ZodURL`,(e,t)=>{M$1.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.hostname)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid hostname`,pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(i.protocol.endsWith(`:`)?i.protocol.slice(0,-1):i.protocol)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=i.href:n.value=r;return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort});}};}),br=D$1(`$ZodEmoji`,(e,t)=>{t.pattern??=jn$1(),M$1.init(e,t);}),xr=D$1(`$ZodNanoID`,(e,t)=>{t.pattern??=En$1,M$1.init(e,t);}),Sr=D$1(`$ZodCUID`,(e,t)=>{t.pattern??=xn$1,M$1.init(e,t);}),Cr=D$1(`$ZodCUID2`,(e,t)=>{t.pattern??=Sn$1,M$1.init(e,t);}),wr=D$1(`$ZodULID`,(e,t)=>{t.pattern??=Cn$1,M$1.init(e,t);}),Tr=D$1(`$ZodXID`,(e,t)=>{t.pattern??=wn$1,M$1.init(e,t);}),Er=D$1(`$ZodKSUID`,(e,t)=>{t.pattern??=Tn$1,M$1.init(e,t);}),Dr=D$1(`$ZodISODateTime`,(e,t)=>{t.pattern??=Un$1(t),M$1.init(e,t);}),Or=D$1(`$ZodISODate`,(e,t)=>{t.pattern??=Bn$1,M$1.init(e,t);}),kr=D$1(`$ZodISOTime`,(e,t)=>{t.pattern??=Hn$1(t),M$1.init(e,t);}),Ar=D$1(`$ZodISODuration`,(e,t)=>{t.pattern??=Dn$1,M$1.init(e,t);}),jr=D$1(`$ZodIPv4`,(e,t)=>{t.pattern??=Mn$1,M$1.init(e,t),e._zod.bag.format=`ipv4`;}),Mr=D$1(`$ZodIPv6`,(e,t)=>{t.pattern??=Nn$1,M$1.init(e,t),e._zod.bag.format=`ipv6`,e._zod.check=n=>{try{new URL(`http://[${n.value}]`);}catch{n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort});}};}),Nr=D$1(`$ZodCIDRv4`,(e,t)=>{t.pattern??=Pn$1,M$1.init(e,t);}),Pr=D$1(`$ZodCIDRv6`,(e,t)=>{t.pattern??=Fn$1,M$1.init(e,t),e._zod.check=n=>{let r=n.value.split(`/`);try{if(r.length!==2)throw Error();let[e,t]=r;if(!t)throw Error();let n=Number(t);if(`${n}`!==t||n<0||n>128)throw Error();new URL(`http://[${e}]`);}catch{n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort});}};});function Fr(e){if(e===``)return true;if(e.length%4!=0)return false;try{return atob(e),true}catch{return false}}const Ir=D$1(`$ZodBase64`,(e,t)=>{t.pattern??=In$1,M$1.init(e,t),e._zod.bag.contentEncoding=`base64`,e._zod.check=n=>{Fr(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort});};});function Lr(e){if(!Ln$1.test(e))return false;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return Fr(t.padEnd(Math.ceil(t.length/4)*4,`=`))}const Rr=D$1(`$ZodBase64URL`,(e,t)=>{t.pattern??=Ln$1,M$1.init(e,t),e._zod.bag.contentEncoding=`base64url`,e._zod.check=n=>{Lr(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort});};}),zr=D$1(`$ZodE164`,(e,t)=>{t.pattern??=Rn$1,M$1.init(e,t);});function Br(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return false;let[r]=n;if(!r)return false;let i=JSON.parse(atob(r));return !(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return false}}const Vr=D$1(`$ZodJWT`,(e,t)=>{M$1.init(e,t),e._zod.check=n=>{Br(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort});};}),Hr=D$1(`$ZodNumber`,(e,t)=>{j$1.init(e,t),e._zod.pattern=e._zod.bag.pattern??Kn$1,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value);}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:`Infinity`:void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n};}),Ur=D$1(`$ZodNumberFormat`,(e,t)=>{tr$1.init(e,t),Hr.init(e,t);}),Wr=D$1(`$ZodBoolean`,(e,t)=>{j$1.init(e,t),e._zod.pattern=qn$1,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value;}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n};}),Gr=D$1(`$ZodNull`,(e,t)=>{j$1.init(e,t),e._zod.pattern=Jn$1,e._zod.values=new Set([null]),e._zod.parse=(t,n)=>{let r=t.value;return r===null||t.issues.push({expected:`null`,code:`invalid_type`,input:r,inst:e}),t};}),Kr=D$1(`$ZodAny`,(e,t)=>{j$1.init(e,t),e._zod.parse=e=>e;}),qr=D$1(`$ZodUnknown`,(e,t)=>{j$1.init(e,t),e._zod.parse=e=>e;}),Jr=D$1(`$ZodNever`,(e,t)=>{j$1.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t);}),Yr=D$1(`$ZodVoid`,(e,t)=>{j$1.init(e,t),e._zod.parse=(t,n)=>{let r=t.value;return r===void 0||t.issues.push({expected:`void`,code:`invalid_type`,input:r,inst:e}),t};});function Xr(e,t,n){e.issues.length&&t.issues.push(...Xt(n,e.issues)),t.value[n]=e.value;}const Zr=D$1(`$ZodArray`,(e,t)=>{j$1.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:`array`,code:`invalid_type`,input:i,inst:e}),n;n.value=Array(i.length);let a=[];for(let e=0;e<i.length;e++){let o=i[e],s=t.element._zod.run({value:o,issues:[]},r);s instanceof Promise?a.push(s.then(t=>Xr(t,n,e))):Xr(s,n,e);}return a.length?Promise.all(a).then(()=>n):n};});function Qr(e,t,n,r){e.issues.length&&t.issues.push(...Xt(n,e.issues)),e.value===void 0?n in r&&(t.value[n]=void 0):t.value[n]=e.value;}function $r(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${n}": expected a Zod schema`);let n=Bt(e.shape);return {...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function ei(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type;for(let i in t){if(s.has(i))continue;if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>Qr(e,n,i,t))):Qr(a,n,i,t);}return o.length&&n.issues.push({code:`unrecognized_keys`,keys:o,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}const ti=D$1(`$ZodObject`,(e,t)=>{if(j$1.init(e,t),!Object.getOwnPropertyDescriptor(t,`shape`)?.get){let e=t.shape;Object.defineProperty(t,`shape`,{get:()=>{let n={...e};return Object.defineProperty(t,`shape`,{value:n}),n}});}let n=Ct(()=>$r(t));O$1(e._zod,`propValues`,()=>{let e=t.shape,n={};for(let t in e){let r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set);for(let e of r.values)n[t].add(e);}}return n});let r=Nt,i=t.catchall,a;e._zod.parse=(t,o)=>{a??=n.value;let s=t.value;if(!r(s))return t.issues.push({expected:`object`,code:`invalid_type`,input:s,inst:e}),t;t.value={};let c=[],l=a.shape;for(let e of a.keys){let n=l[e]._zod.run({value:s[e],issues:[]},o);n instanceof Promise?c.push(n.then(n=>Qr(n,t,e,s))):Qr(n,t,e,s);}return i?ei(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t};}),ni=D$1(`$ZodObjectJIT`,(e,t)=>{ti.init(e,t);let n=e._zod.parse,r=Ct(()=>$r(t)),i=e=>{let t=new pr$1([`shape`,`payload`,`ctx`]),n=r.value,i=e=>{let t=At(e);return `shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write(`const input = payload.value;`);let a=Object.create(null),o=0;for(let e of n.keys)a[e]=`key_${o++}`;t.write(`const newResult = {};`);for(let e of n.keys){let n=a[e],r=At(e);t.write(`const ${n} = ${i(e)};`),t.write(`
20
- if (${n}.issues.length) {
21
- payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
22
- ...iss,
23
- path: iss.path ? [${r}, ...iss.path] : [${r}]
24
- })));
25
- }
26
-
27
-
28
- if (${n}.value === undefined) {
29
- if (${r} in input) {
30
- newResult[${r}] = undefined;
31
- }
32
- } else {
33
- newResult[${r}] = ${n}.value;
34
- }
35
-
36
- `);}t.write(`payload.value = newResult;`),t.write(`return payload;`);let s=t.compile();return (t,n)=>s(e,t,n)},a,o=Nt,s=!yt.jitless,c=s&&Pt.value,l=t.catchall,u;e._zod.parse=(d,f)=>{u??=r.value;let p=d.value;return o(p)?s&&c&&f?.async===false&&f.jitless!==true?(a||=i(t.shape),d=a(d,f),l?ei([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)};});function ri(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!Yt(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>Qt(e,r,bt())))}),t)}const ii=D$1(`$ZodUnion`,(e,t)=>{j$1.init(e,t),O$1(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),O$1(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),O$1(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),O$1(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>Tt(e.source)).join(`|`)})$`)}});let n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(i,a)=>{if(n)return r(i,a);let o=false,s=[];for(let e of t.options){let t=e._zod.run({value:i.value,issues:[]},a);if(t instanceof Promise)s.push(t),o=true;else {if(t.issues.length===0)return t;s.push(t);}}return o?Promise.all(s).then(t=>ri(t,i,e,a)):ri(s,i,e,a)};}),ai=D$1(`$ZodDiscriminatedUnion`,(e,t)=>{ii.init(e,t);let n=e._zod.parse;O$1(e._zod,`propValues`,()=>{let e={};for(let n of t.options){let r=n._zod.propValues;if(!r||Object.keys(r).length===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(n)}"`);for(let[t,n]of Object.entries(r)){e[t]||(e[t]=new Set);for(let r of n)e[t].add(r);}}return e});let r=Ct(()=>{let e=t.options,n=new Map;for(let r of e){let e=r._zod.propValues?.[t.discriminator];if(!e||e.size===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(r)}"`);for(let t of e){if(n.has(t))throw Error(`Duplicate discriminator value "${String(t)}"`);n.set(t,r);}}return n});e._zod.parse=(i,a)=>{let o=i.value;if(!Nt(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=r.value.get(o?.[t.discriminator]);return s?s._zod.run(i,a):t.unionFallback?n(i,a):(i.issues.push({code:`invalid_union`,errors:[],note:`No matching discriminator`,discriminator:t.discriminator,input:o,path:[t.discriminator],inst:e}),i)};}),oi=D$1(`$ZodIntersection`,(e,t)=>{j$1.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>ci(e,t,n)):ci(e,i,a)};});function si(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return {valid:true,data:e};if(Ft(e)&&Ft(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=si(e[n],t[n]);if(!r.valid)return {valid:false,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data;}return {valid:true,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return {valid:false,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=si(i,a);if(!o.valid)return {valid:false,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data);}return {valid:true,data:n}}return {valid:false,mergeErrorPath:[]}}function ci(e,t,n){if(t.issues.length&&e.issues.push(...t.issues),n.issues.length&&e.issues.push(...n.issues),Yt(e))return e;let r=si(t.value,n.value);if(!r.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(r.mergeErrorPath)}`);return e.value=r.data,e}const li=D$1(`$ZodRecord`,(e,t)=>{j$1.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Ft(i))return n.issues.push({expected:`record`,code:`invalid_type`,input:i,inst:e}),n;let a=[],o=t.keyType._zod.values;if(o){n.value={};let s=new Set;for(let e of o)if(typeof e==`string`||typeof e==`number`||typeof e==`symbol`){s.add(typeof e==`number`?e.toString():e);let o=t.valueType._zod.run({value:i[e],issues:[]},r);o instanceof Promise?a.push(o.then(t=>{t.issues.length&&n.issues.push(...Xt(e,t.issues)),n.value[e]=t.value;})):(o.issues.length&&n.issues.push(...Xt(e,o.issues)),n.value[e]=o.value);}let c;for(let e in i)s.has(e)||(c??=[],c.push(e));c&&c.length>0&&n.issues.push({code:`unrecognized_keys`,input:i,inst:e,keys:c});}else {n.value={};for(let o of Reflect.ownKeys(i)){if(o===`__proto__`)continue;let s=t.keyType._zod.run({value:o,issues:[]},r);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(s.issues.length){n.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>Qt(e,r,bt())),input:o,path:[o],inst:e}),n.value[s.value]=s.value;continue}let c=t.valueType._zod.run({value:i[o],issues:[]},r);c instanceof Promise?a.push(c.then(e=>{e.issues.length&&n.issues.push(...Xt(o,e.issues)),n.value[s.value]=e.value;})):(c.issues.length&&n.issues.push(...Xt(o,c.issues)),n.value[s.value]=c.value);}}return a.length?Promise.all(a).then(()=>n):n};}),ui=D$1(`$ZodEnum`,(e,t)=>{j$1.init(e,t);let n=xt(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>Lt.has(typeof e)).map(e=>typeof e==`string`?Rt(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t};}),di=D$1(`$ZodLiteral`,(e,t)=>{if(j$1.init(e,t),t.values.length===0)throw Error(`Cannot create literal schema with no valid values`);let n=new Set(t.values);e._zod.values=n,e._zod.pattern=RegExp(`^(${t.values.map(e=>typeof e==`string`?Rt(e):e?Rt(e.toString()):String(e)).join(`|`)})$`),e._zod.parse=(r,i)=>{let a=r.value;return n.has(a)||r.issues.push({code:`invalid_value`,values:t.values,input:a,inst:e}),r};}),fi=D$1(`$ZodTransform`,(e,t)=>{j$1.init(e,t),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new vt(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return (i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n));if(i instanceof Promise)throw new _t;return n.value=i,n};});function pi(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const mi=D$1(`$ZodOptional`,(e,t)=>{j$1.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,O$1(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),O$1(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${Tt(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(t=>pi(t,e.value)):pi(r,e.value)}return e.value===void 0?e:t.innerType._zod.run(e,n)};}),hi=D$1(`$ZodNullable`,(e,t)=>{j$1.init(e,t),O$1(e._zod,`optin`,()=>t.innerType._zod.optin),O$1(e._zod,`optout`,()=>t.innerType._zod.optout),O$1(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${Tt(e.source)}|null)$`):void 0}),O$1(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n);}),gi=D$1(`$ZodDefault`,(e,t)=>{j$1.init(e,t),e._zod.optin=`optional`,O$1(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>_i(e,t)):_i(r,t)};});function _i(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const vi=D$1(`$ZodPrefault`,(e,t)=>{j$1.init(e,t),e._zod.optin=`optional`,O$1(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n));}),yi=D$1(`$ZodNonOptional`,(e,t)=>{j$1.init(e,t),O$1(e._zod,`values`,()=>{let e=t.innerType._zod.values;return e?new Set([...e].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>bi(t,e)):bi(i,e)};});function bi(e,t){return !e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}const xi=D$1(`$ZodCatch`,(e,t)=>{j$1.init(e,t),O$1(e._zod,`optin`,()=>t.innerType._zod.optin),O$1(e._zod,`optout`,()=>t.innerType._zod.optout),O$1(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(r=>(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>Qt(e,n,bt()))},input:e.value}),e.issues=[]),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>Qt(e,n,bt()))},input:e.value}),e.issues=[]),e)};}),Si=D$1(`$ZodPipe`,(e,t)=>{j$1.init(e,t),O$1(e._zod,`values`,()=>t.in._zod.values),O$1(e._zod,`optin`,()=>t.in._zod.optin),O$1(e._zod,`optout`,()=>t.out._zod.optout),O$1(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>Ci(e,t.in,n)):Ci(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>Ci(e,t.out,n)):Ci(r,t.out,n)};});function Ci(e,t,n){return e.issues.length?(e.aborted=true,e):t._zod.run({value:e.value,issues:e.issues},n)}const wi=D$1(`$ZodReadonly`,(e,t)=>{j$1.init(e,t),O$1(e._zod,`propValues`,()=>t.innerType._zod.propValues),O$1(e._zod,`values`,()=>t.innerType._zod.values),O$1(e._zod,`optin`,()=>t.innerType?._zod?.optin),O$1(e._zod,`optout`,()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(Ti):Ti(r)};});function Ti(e){return e.value=Object.freeze(e.value),e}const Ei=D$1(`$ZodLazy`,(e,t)=>{j$1.init(e,t),O$1(e._zod,`innerType`,()=>t.getter()),O$1(e._zod,`pattern`,()=>e._zod.innerType?._zod?.pattern),O$1(e._zod,`propValues`,()=>e._zod.innerType?._zod?.propValues),O$1(e._zod,`optin`,()=>e._zod.innerType?._zod?.optin??void 0),O$1(e._zod,`optout`,()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(t,n)=>e._zod.innerType._zod.run(t,n);}),Di=D$1(`$ZodCustom`,(e,t)=>{A$1.init(e,t),j$1.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>Oi(t,n,r,e));Oi(i,n,r,e);};});function Oi(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(en(e));}}var ki,Ai=class{constructor(){this._map=new WeakMap,this._idmap=new Map;}add(e,...t){let n=t[0];if(this._map.set(e,n),n&&typeof n==`object`&&`id`in n){if(this._idmap.has(n.id))throw Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,e);}return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function ji(){return new Ai}(ki=globalThis).__zod_globalRegistry??(ki.__zod_globalRegistry=ji());const Mi=globalThis.__zod_globalRegistry;function Ni(e,t){return new e({type:`string`,...k$1(t)})}function Pi(e,t){return new e({type:`string`,coerce:true,...k$1(t)})}function Fi(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:false,...k$1(t)})}function Ii(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:false,...k$1(t)})}function Li(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:false,...k$1(t)})}function Ri(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:false,version:`v4`,...k$1(t)})}function zi(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:false,version:`v6`,...k$1(t)})}function Bi(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:false,version:`v7`,...k$1(t)})}function Vi(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:false,...k$1(t)})}function Hi(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:false,...k$1(t)})}function Ui(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:false,...k$1(t)})}function Wi(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:false,...k$1(t)})}function Gi(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:false,...k$1(t)})}function Ki(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:false,...k$1(t)})}function qi(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:false,...k$1(t)})}function Ji(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:false,...k$1(t)})}function Yi(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:false,...k$1(t)})}function Xi(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:false,...k$1(t)})}function Zi(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:false,...k$1(t)})}function Qi(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:false,...k$1(t)})}function $i(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:false,...k$1(t)})}function ea(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:false,...k$1(t)})}function ta(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:false,...k$1(t)})}function na(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:false,...k$1(t)})}function ra(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:false,local:false,precision:null,...k$1(t)})}function ia(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...k$1(t)})}function aa(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...k$1(t)})}function oa(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...k$1(t)})}function sa(e,t){return new e({type:`number`,checks:[],...k$1(t)})}function ca(e,t){return new e({type:`number`,coerce:true,checks:[],...k$1(t)})}function la(e,t){return new e({type:`number`,check:`number_format`,abort:false,format:`safeint`,...k$1(t)})}function ua(e,t){return new e({type:`boolean`,...k$1(t)})}function da(e,t){return new e({type:`boolean`,coerce:true,...k$1(t)})}function fa(e,t){return new e({type:`null`,...k$1(t)})}function pa(e){return new e({type:`any`})}function ma(e){return new e({type:`unknown`})}function ha(e,t){return new e({type:`never`,...k$1(t)})}function ga(e,t){return new e({type:`void`,...k$1(t)})}function _a(e,t){return new Qn$1({check:`less_than`,...k$1(t),value:e,inclusive:false})}function va(e,t){return new Qn$1({check:`less_than`,...k$1(t),value:e,inclusive:true})}function ya(e,t){return new $n$1({check:`greater_than`,...k$1(t),value:e,inclusive:false})}function ba(e,t){return new $n$1({check:`greater_than`,...k$1(t),value:e,inclusive:true})}function xa(e,t){return new er$1({check:`multiple_of`,...k$1(t),value:e})}function Sa(e,t){return new nr$1({check:`max_length`,...k$1(t),maximum:e})}function Ca(e,t){return new rr$1({check:`min_length`,...k$1(t),minimum:e})}function wa(e,t){return new ir$1({check:`length_equals`,...k$1(t),length:e})}function Ta(e,t){return new or$1({check:`string_format`,format:`regex`,...k$1(t),pattern:e})}function Ea(e){return new sr$1({check:`string_format`,format:`lowercase`,...k$1(e)})}function Da(e){return new cr$1({check:`string_format`,format:`uppercase`,...k$1(e)})}function Oa(e,t){return new lr$1({check:`string_format`,format:`includes`,...k$1(t),includes:e})}function ka(e,t){return new ur$1({check:`string_format`,format:`starts_with`,...k$1(t),prefix:e})}function Aa(e,t){return new dr$1({check:`string_format`,format:`ends_with`,...k$1(t),suffix:e})}function ja(e){return new fr$1({check:`overwrite`,tx:e})}function Ma(e){return ja(t=>t.normalize(e))}function Na(){return ja(e=>e.trim())}function Pa(){return ja(e=>e.toLowerCase())}function Fa(){return ja(e=>e.toUpperCase())}function Ia(){return ja(e=>jt(e))}function La(e,t,n){return new e({type:`array`,element:t,...k$1(n)})}function Ra(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...k$1(n)})}function za(e){let t=Ba(n=>(n.addIssue=e=>{if(typeof e==`string`)n.issues.push(en(e,n.value,t._zod.def));else {let r=e;r.fatal&&(r.continue=false),r.code??=`custom`,r.input??=n.value,r.inst??=t,r.continue??=!t._zod.def.abort,n.issues.push(en(r));}},e(n.value,n)));return t}function Ba(e,t){let n=new A$1({check:`custom`,...k$1(t)});return n._zod.check=e,n}const Va=D$1(`ZodISODateTime`,(e,t)=>{Dr.init(e,t),L$2.init(e,t);});function N$1(e){return ra(Va,e)}const Ha=D$1(`ZodISODate`,(e,t)=>{Or.init(e,t),L$2.init(e,t);});function Ua(e){return ia(Ha,e)}const Wa=D$1(`ZodISOTime`,(e,t)=>{kr.init(e,t),L$2.init(e,t);});function Ga(e){return aa(Wa,e)}const Ka=D$1(`ZodISODuration`,(e,t)=>{Ar.init(e,t),L$2.init(e,t);});function qa(e){return oa(Ka,e)}const Ja=(e,t)=>{nn.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>on(e,t)},flatten:{value:t=>an(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,St,2);}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,St,2);}},isEmpty:{get(){return e.issues.length===0}}});};D$1(`ZodError`,Ja);const P$2=D$1(`ZodError`,Ja,{Parent:Error}),Ya=sn(P$2),Xa=cn(P$2),Za=ln(P$2),Qa=dn(P$2),$a=pn(P$2),eo=mn(P$2),to=hn(P$2),no=gn$1(P$2),ro=_n$1(P$2),io=vn$1(P$2),ao=yn$1(P$2),oo=bn$1(P$2),F$2=D$1(`ZodType`,(e,t)=>(j$1.init(e,t),e.def=t,e.type=t.type,Object.defineProperty(e,`_def`,{value:t}),e.check=(...n)=>e.clone(kt(t,{checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]})),e.clone=(t,n)=>zt(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.parse=(t,n)=>Ya(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>Za(e,t,n),e.parseAsync=async(t,n)=>Xa(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>Qa(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>$a(e,t,n),e.decode=(t,n)=>eo(e,t,n),e.encodeAsync=async(t,n)=>to(e,t,n),e.decodeAsync=async(t,n)=>no(e,t,n),e.safeEncode=(t,n)=>ro(e,t,n),e.safeDecode=(t,n)=>io(e,t,n),e.safeEncodeAsync=async(t,n)=>ao(e,t,n),e.safeDecodeAsync=async(t,n)=>oo(e,t,n),e.refine=(t,n)=>e.check(Ss(t,n)),e.superRefine=t=>e.check(Cs(t)),e.overwrite=t=>e.check(ja(t)),e.optional=()=>is(e),e.nullable=()=>os(e),e.nullish=()=>is(os(e)),e.nonoptional=t=>fs(e,t),e.array=()=>H$2(e),e.or=t=>Ko([e,t]),e.and=t=>Xo(e,t),e.transform=t=>gs(e,ns(t)),e.default=t=>cs(e,t),e.prefault=t=>us(e,t),e.catch=t=>ms(e,t),e.pipe=t=>gs(e,t),e.readonly=()=>vs(e),e.describe=t=>{let n=e.clone();return Mi.add(n,{description:t}),n},Object.defineProperty(e,`description`,{get(){return Mi.get(e)?.description},configurable:true}),e.meta=(...t)=>{if(t.length===0)return Mi.get(e);let n=e.clone();return Mi.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),so=D$1(`_ZodString`,(e,t)=>{hr$1.init(e,t),F$2.init(e,t);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...t)=>e.check(Ta(...t)),e.includes=(...t)=>e.check(Oa(...t)),e.startsWith=(...t)=>e.check(ka(...t)),e.endsWith=(...t)=>e.check(Aa(...t)),e.min=(...t)=>e.check(Ca(...t)),e.max=(...t)=>e.check(Sa(...t)),e.length=(...t)=>e.check(wa(...t)),e.nonempty=(...t)=>e.check(Ca(1,...t)),e.lowercase=t=>e.check(Ea(t)),e.uppercase=t=>e.check(Da(t)),e.trim=()=>e.check(Na()),e.normalize=(...t)=>e.check(Ma(...t)),e.toLowerCase=()=>e.check(Pa()),e.toUpperCase=()=>e.check(Fa()),e.slugify=()=>e.check(Ia());}),co=D$1(`ZodString`,(e,t)=>{hr$1.init(e,t),so.init(e,t),e.email=t=>e.check(Fi(lo,t)),e.url=t=>e.check(Vi(po,t)),e.jwt=t=>e.check(na(ko,t)),e.emoji=t=>e.check(Hi(ho,t)),e.guid=t=>e.check(Ii(uo,t)),e.uuid=t=>e.check(Li(fo,t)),e.uuidv4=t=>e.check(Ri(fo,t)),e.uuidv6=t=>e.check(zi(fo,t)),e.uuidv7=t=>e.check(Bi(fo,t)),e.nanoid=t=>e.check(Ui(go,t)),e.guid=t=>e.check(Ii(uo,t)),e.cuid=t=>e.check(Wi(_o,t)),e.cuid2=t=>e.check(Gi(vo,t)),e.ulid=t=>e.check(Ki(yo,t)),e.base64=t=>e.check($i(Eo,t)),e.base64url=t=>e.check(ea(Do,t)),e.xid=t=>e.check(qi(bo,t)),e.ksuid=t=>e.check(Ji(xo,t)),e.ipv4=t=>e.check(Yi(So,t)),e.ipv6=t=>e.check(Xi(Co,t)),e.cidrv4=t=>e.check(Zi(wo,t)),e.cidrv6=t=>e.check(Qi(To,t)),e.e164=t=>e.check(ta(Oo,t)),e.datetime=t=>e.check(N$1(t)),e.date=t=>e.check(Ua(t)),e.time=t=>e.check(Ga(t)),e.duration=t=>e.check(qa(t));});function I$2(e){return Ni(co,e)}const L$2=D$1(`ZodStringFormat`,(e,t)=>{M$1.init(e,t),so.init(e,t);}),lo=D$1(`ZodEmail`,(e,t)=>{vr.init(e,t),L$2.init(e,t);});function R$2(e){return Fi(lo,e)}const uo=D$1(`ZodGUID`,(e,t)=>{gr$1.init(e,t),L$2.init(e,t);}),fo=D$1(`ZodUUID`,(e,t)=>{_r$1.init(e,t),L$2.init(e,t);}),po=D$1(`ZodURL`,(e,t)=>{yr.init(e,t),L$2.init(e,t);});function mo(e){return Vi(po,e)}const ho=D$1(`ZodEmoji`,(e,t)=>{br.init(e,t),L$2.init(e,t);}),go=D$1(`ZodNanoID`,(e,t)=>{xr.init(e,t),L$2.init(e,t);}),_o=D$1(`ZodCUID`,(e,t)=>{Sr.init(e,t),L$2.init(e,t);}),vo=D$1(`ZodCUID2`,(e,t)=>{Cr.init(e,t),L$2.init(e,t);}),yo=D$1(`ZodULID`,(e,t)=>{wr.init(e,t),L$2.init(e,t);}),bo=D$1(`ZodXID`,(e,t)=>{Tr.init(e,t),L$2.init(e,t);}),xo=D$1(`ZodKSUID`,(e,t)=>{Er.init(e,t),L$2.init(e,t);}),So=D$1(`ZodIPv4`,(e,t)=>{jr.init(e,t),L$2.init(e,t);}),Co=D$1(`ZodIPv6`,(e,t)=>{Mr.init(e,t),L$2.init(e,t);}),wo=D$1(`ZodCIDRv4`,(e,t)=>{Nr.init(e,t),L$2.init(e,t);}),To=D$1(`ZodCIDRv6`,(e,t)=>{Pr.init(e,t),L$2.init(e,t);}),Eo=D$1(`ZodBase64`,(e,t)=>{Ir.init(e,t),L$2.init(e,t);}),Do=D$1(`ZodBase64URL`,(e,t)=>{Rr.init(e,t),L$2.init(e,t);}),Oo=D$1(`ZodE164`,(e,t)=>{zr.init(e,t),L$2.init(e,t);}),ko=D$1(`ZodJWT`,(e,t)=>{Vr.init(e,t),L$2.init(e,t);}),Ao=D$1(`ZodNumber`,(e,t)=>{Hr.init(e,t),F$2.init(e,t),e.gt=(t,n)=>e.check(ya(t,n)),e.gte=(t,n)=>e.check(ba(t,n)),e.min=(t,n)=>e.check(ba(t,n)),e.lt=(t,n)=>e.check(_a(t,n)),e.lte=(t,n)=>e.check(va(t,n)),e.max=(t,n)=>e.check(va(t,n)),e.int=t=>e.check(B$2(t)),e.safe=t=>e.check(B$2(t)),e.positive=t=>e.check(ya(0,t)),e.nonnegative=t=>e.check(ba(0,t)),e.negative=t=>e.check(_a(0,t)),e.nonpositive=t=>e.check(va(0,t)),e.multipleOf=(t,n)=>e.check(xa(t,n)),e.step=(t,n)=>e.check(xa(t,n)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=true,e.format=n.format??null;});function z$2(e){return sa(Ao,e)}const jo=D$1(`ZodNumberFormat`,(e,t)=>{Ur.init(e,t),Ao.init(e,t);});function B$2(e){return la(jo,e)}const Mo=D$1(`ZodBoolean`,(e,t)=>{Wr.init(e,t),F$2.init(e,t);});function V$2(e){return ua(Mo,e)}const No=D$1(`ZodNull`,(e,t)=>{Gr.init(e,t),F$2.init(e,t);});function Po(e){return fa(No,e)}const Fo=D$1(`ZodAny`,(e,t)=>{Kr.init(e,t),F$2.init(e,t);});function Io(){return pa(Fo)}const Lo=D$1(`ZodUnknown`,(e,t)=>{qr.init(e,t),F$2.init(e,t);});function Ro(){return ma(Lo)}const zo=D$1(`ZodNever`,(e,t)=>{Jr.init(e,t),F$2.init(e,t);});function Bo(e){return ha(zo,e)}const Vo=D$1(`ZodVoid`,(e,t)=>{Yr.init(e,t),F$2.init(e,t);});function Ho(e){return ga(Vo,e)}const Uo=D$1(`ZodArray`,(e,t)=>{Zr.init(e,t),F$2.init(e,t),e.element=t.element,e.min=(t,n)=>e.check(Ca(t,n)),e.nonempty=t=>e.check(Ca(1,t)),e.max=(t,n)=>e.check(Sa(t,n)),e.length=(t,n)=>e.check(wa(t,n)),e.unwrap=()=>e.element;});function H$2(e,t){return La(Uo,e,t)}const Wo=D$1(`ZodObject`,(e,t)=>{ni.init(e,t),F$2.init(e,t),O$1(e,`shape`,()=>t.shape),e.keyof=()=>G$2(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Ro()}),e.loose=()=>e.clone({...e._zod.def,catchall:Ro()}),e.strict=()=>e.clone({...e._zod.def,catchall:Bo()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>Wt(e,t),e.safeExtend=t=>Gt(e,t),e.merge=t=>Kt(e,t),e.pick=t=>Ht(e,t),e.omit=t=>Ut(e,t),e.partial=(...t)=>qt(rs,e,t[0]),e.required=(...t)=>Jt(ds,e,t[0]);});function U$2(e,t){return new Wo({type:`object`,shape:e??{},...k$1(t)})}const Go=D$1(`ZodUnion`,(e,t)=>{ii.init(e,t),F$2.init(e,t),e.options=t.options;});function Ko(e,t){return new Go({type:`union`,options:e,...k$1(t)})}const qo=D$1(`ZodDiscriminatedUnion`,(e,t)=>{Go.init(e,t),ai.init(e,t);});function Jo(e,t,n){return new qo({type:`union`,options:t,discriminator:e,...k$1(n)})}const Yo=D$1(`ZodIntersection`,(e,t)=>{oi.init(e,t),F$2.init(e,t);});function Xo(e,t){return new Yo({type:`intersection`,left:e,right:t})}const Zo=D$1(`ZodRecord`,(e,t)=>{li.init(e,t),F$2.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType;});function W$2(e,t,n){return new Zo({type:`record`,keyType:e,valueType:t,...k$1(n)})}const Qo=D$1(`ZodEnum`,(e,t)=>{ui.init(e,t),F$2.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new Qo({...t,checks:[],...k$1(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new Qo({...t,checks:[],...k$1(r),entries:i})};});function G$2(e,t){return new Qo({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...k$1(t)})}const $o=D$1(`ZodLiteral`,(e,t)=>{di.init(e,t),F$2.init(e,t),e.values=new Set(t.values),Object.defineProperty(e,`value`,{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}});});function es(e,t){return new $o({type:`literal`,values:Array.isArray(e)?e:[e],...k$1(t)})}const ts=D$1(`ZodTransform`,(e,t)=>{fi.init(e,t),F$2.init(e,t),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new vt(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(en(r,n.value,t));else {let t=r;t.fatal&&(t.continue=false),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(en(t));}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)};});function ns(e){return new ts({type:`transform`,transform:e})}const rs=D$1(`ZodOptional`,(e,t)=>{mi.init(e,t),F$2.init(e,t),e.unwrap=()=>e._zod.def.innerType;});function is(e){return new rs({type:`optional`,innerType:e})}const as=D$1(`ZodNullable`,(e,t)=>{hi.init(e,t),F$2.init(e,t),e.unwrap=()=>e._zod.def.innerType;});function os(e){return new as({type:`nullable`,innerType:e})}const ss=D$1(`ZodDefault`,(e,t)=>{gi.init(e,t),F$2.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap;});function cs(e,t){return new ss({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():It(t)}})}const ls=D$1(`ZodPrefault`,(e,t)=>{vi.init(e,t),F$2.init(e,t),e.unwrap=()=>e._zod.def.innerType;});function us(e,t){return new ls({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():It(t)}})}const ds=D$1(`ZodNonOptional`,(e,t)=>{yi.init(e,t),F$2.init(e,t),e.unwrap=()=>e._zod.def.innerType;});function fs(e,t){return new ds({type:`nonoptional`,innerType:e,...k$1(t)})}const ps=D$1(`ZodCatch`,(e,t)=>{xi.init(e,t),F$2.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap;});function ms(e,t){return new ps({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}const hs=D$1(`ZodPipe`,(e,t)=>{Si.init(e,t),F$2.init(e,t),e.in=t.in,e.out=t.out;});function gs(e,t){return new hs({type:`pipe`,in:e,out:t})}const _s=D$1(`ZodReadonly`,(e,t)=>{wi.init(e,t),F$2.init(e,t),e.unwrap=()=>e._zod.def.innerType;});function vs(e){return new _s({type:`readonly`,innerType:e})}const ys=D$1(`ZodLazy`,(e,t)=>{Ei.init(e,t),F$2.init(e,t),e.unwrap=()=>e._zod.def.getter();});function bs(e){return new ys({type:`lazy`,getter:e})}const xs=D$1(`ZodCustom`,(e,t)=>{Di.init(e,t),F$2.init(e,t);});function Ss(e,t={}){return Ra(xs,e,t)}function Cs(e){return za(e)}function ws(e,t){return gs(ns(e),t)}function Ts(e){return Pi(co,e)}function K$1(e){return ca(Ao,e)}function Es(e){return da(Mo,e)}const q$1=G$2([`PENDING`,`APPROVED`,`REJECTED`]).meta({description:`Approval status. PENDING: awaiting review, APPROVED: approved for operation, REJECTED: rejected and cannot operate`}),Os=G$2([`AUD`,`CNY`,`USD`,`HKD`,`EUR`,`GBP`,`CAD`,`SGD`,`CHF`,`NZD`,`JPY`,`THB`,`SEK`,`NOK`,`DKK`,`HUF`,`CZK`,`PLN`,`RON`,`KRW`,`MXN`,`ILS`,`ZAR`,`AED`]).meta({examples:[`AUD`],description:`Three-letter ISO 4217 currency code for transactions and payouts`});function J(e,t){return I$2().regex(RegExp(`^${e}_[0-9a-z]{26}$`),`Must be a valid ${t} ID`).describe(`Unique ${t} identifier`)}const ks=J(`tem`,`team`),As=J(`evt`,`event`),js=J(`ven`,`venue`),Ms=J(`loc`,`location`),Ns=J(`usr`,`user`),Ps=J(`ord`,`order`);J(`tkt`,`ticket`);const Is=J(`pmt`,`promoter`);J(`cpn`,`coupon`);J(`cod`,`coupon code`);const zs=J(`cus`,`customer`),Bs=J(`adm`,`admission`),Vs=J(`sct`,`section`);J(`ben`,`beneficiary`);const Us=J(`pyt`,`payout`),Ws=J(`mbr`,`team member`),Gs=J(`inv`,`team invite`),Ks=J(`ecl`,`event collaborator`),qs=J(`psc`,`permission scope`),Y=U$2({src:mo().meta({examples:[`https://assets.session.services/my-image.jpg`]}),alt:I$2().meta({examples:[`My Image`]}),width:z$2().meta({examples:[1080]}),height:z$2().meta({examples:[1080]})}),Js=Ko([I$2(),z$2(),V$2(),Po()]),Ys=bs(()=>Ko([Js,H$2(Ys),W$2(I$2(),Ys)])),Xs=W$2(I$2().min(1).max(40).meta({description:`Metadata key. Must be 1-40 characters`}),I$2().max(500).meta({description:`Metadata value. Must not exceed 500 characters`})).refine(e=>Object.keys(e).length<=50,{message:`Metadata cannot exceed 50 keys`}).optional().meta({description:`Flexible key-value metadata storage for custom configuration. Similar to Stripe's metadata API. Maximum 50 keys, key names up to 40 characters, values up to 500 characters.`}),X=I$2().regex(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$/,`Must be a naive datetime without timezone (YYYY-MM-DDTHH:mm:ss)`).meta({description:`Wall clock time without timezone (displays same everywhere)`,examples:[`2025-03-15T19:30:00`]}),Zs=G$2([`EVENT`,`ORDER`,`FINANCE`,`SCANNING`,`MARKETING`,`BILLING`,`PROMOTER`,`TEAM`,`VENUE`,`EDITOR`,`FULL`]),$s=H$2(Zs).min(1).meta({description:`Array of permission nodes. Must contain at least one permission. Empty arrays are not allowed for base permissions.`,examples:[[`EVENT`,`ORDER`],[`FULL`],[`SCANNING`]]}),Z=U$2({id:Bs.readonly().meta({description:`A unique identifier for this admission`,examples:[E$1.Admission.id]}),name:I$2().meta({description:`The display name of the admission type shown to customers`,examples:[E$1.Admission.name]}),capacity:z$2().min(-1).prefault(-1).meta({examples:[E$1.Admission.capacity],description:`Maximum number of tickets that can be sold for this admission type. A value of -1 indicates unlimited`}),limit:z$2().min(-1).prefault(-1).refine(e=>e!==0,{message:`Limit cannot be 0. Use -1 for unlimited or a positive number for a specific limit`}).meta({examples:[E$1.Admission.limit??-1],description:`Maximum number of tickets of this admission type that can be purchased in a single order. A value of -1 indicates unlimited`}),available:z$2().min(-1).readonly().meta({examples:[E$1.Admission.available],description:`Current number of tickets available for purchase, calculated as capacity minus sold minus reserved. A value of -1 indicates unlimited`}),sold:z$2().min(0).readonly().meta({examples:[E$1.Admission.sold],description:`Total number of tickets of this admission type that have been purchased`}),reserved:z$2().min(0).readonly().meta({examples:[E$1.Admission.reserved],description:`Number of tickets held for customers during checkout and not available to others`}),order:z$2().min(0).meta({examples:[E$1.Admission.order],description:`Determines the position in which this admission type appears when listed. Lower values appear first`}),createdAt:N$1().readonly().meta({examples:[E$1.Admission.createdAt],description:`Timestamp in ISO 8601 format when this admission type was created`}),updatedAt:N$1().readonly().meta({examples:[E$1.Admission.updatedAt],description:`Timestamp in ISO 8601 format when this admission type was last updated`}),entryStartsAt:X.meta({examples:[E$1.Admission.entryStartsAt],description:`Wall clock time from which tickets of this type are valid for entry (no timezone)`}),entryEndsAt:X.meta({examples:[E$1.Admission.entryEndsAt],description:`Wall clock time until which tickets of this type are valid for entry (no timezone)`}),saleStartsAt:X.meta({examples:[E$1.Admission.saleStartsAt],description:`Wall clock time when ticket sales for this admission type begin (no timezone)`}),saleEndsAt:X.meta({examples:[E$1.Admission.saleEndsAt],description:`Wall clock time when ticket sales for this admission type end (no timezone)`}),price:U$2({base:B$2().min(0).meta({examples:[E$1.Admission.price.base],description:`Base cost of a ticket for this admission type before fees, in cents`}),booking:B$2().min(0).meta({examples:[E$1.Admission.price.booking],description:`Additional booking fee applied to the ticket price, in cents`}),currency:I$2().regex(/^[A-Z]{3}$/).meta({examples:[E$1.Admission.price.currency],description:`Three-letter ISO 4217 currency code for the ticket price`})}).meta({examples:[E$1.Admission.price],description:`Pricing details for this admission type, including base cost and fees in cents, and currency`}),sectionId:Vs.nullable().optional().meta({examples:[E$1.Admission.sectionId],description:`Identifier of the section this admission type belongs to, if any`}),teamId:ks.meta({description:`Team that owns this admission. Denormalized for efficient queries.`}),promoterId:Is.meta({examples:[E$1.Admission.promoterId],description:`Identifier of the promoter responsible for this admission type`}),eventId:As.meta({examples:[E$1.Admission.eventId],description:`Identifier of the event to which this admission type is linked`}),eventSlug:I$2().meta({examples:[E$1.Admission.eventSlug],description:`URL-friendly slug for the event associated with this admission type`})}).meta({description:`Admission represents a specific type or category of ticket available for an event`,examples:[E$1.Admission]}),tc=Z.omit({id:true,createdAt:true,updatedAt:true,available:true,sold:true,reserved:true}).meta({description:`Schema for creating a new admission type for an event`}),nc=Z.pick({id:true}).extend({eventId:Z.shape.eventId.meta({examples:[E$1.Admission.eventId],description:`Identifier of the event to which this admission type belongs`})}).meta({description:`Schema for deleting an admission type from an event. This performs a soft delete by setting the deletedAt timestamp`}),rc=Z.pick({id:true}).extend({eventId:As.meta({examples:[E$1.Admission.eventId],description:`Identifier of the event to which this admission type belongs`})}).meta({description:`Schema for retrieving a specific admission type`}),ic=()=>K$1().min(1).max(100).prefault(20).meta({examples:[20],description:`Maximum number of admission types to return per request. Must be between 1 and 100`}),ac=U$2({eventId:I$2().meta({examples:[E$1.Admission.eventId],description:`Identifier of the event to list admission types for`}),sectionId:I$2().optional().meta({examples:[E$1.Admission.sectionId],description:`Filter admission types by section identifier. If provided, only admissions for this section are returned`}),query:I$2().optional().meta({examples:[`Early Bird`],description:`Optional search query to filter admissions by name. When provided, search-backed pagination is used.`}),limit:ic().optional(),cursor:I$2().optional().meta({examples:[`eyJpZCI6ImFkbV8wMWpwczVjZ3NlZTB4dmFwYms5MmU4ZWI0ZyJ9`],description:`Pagination cursor for retrieving the next set of results. Obtained from previous response`})}).meta({description:`Schema for listing admission types with pagination and filtering options`});function Q$1(e,t){let n={[t]:H$2(e).meta({description:`Array of ${t} for the current result set`})},r=I$2().nullish().meta({examples:[`eyJ2ZXJzaW9uIjoxLCJpbnRlbnQiOnsic291cmNlIjoiZGVtbyJ9LCJwb3MiOnsicHJpbWFyeUtleSI6InBybV8wMXM4NTNqIn19`],description:`Cursor for navigating backward in the result set. Omitted when there are no prior results.`}),i=I$2().nullish().meta({examples:[`eyJ2ZXJzaW9uIjoxLCJpbnRlbnQiOnsic291cmNlIjoiZGVtbyJ9LCJwb3MiOnsicHJpbWFyeUtleSI6InBybV8wMXM4NTNkIn19`],description:`Cursor for navigating forward in the result set. Omitted when there are no subsequent results.`});return U$2({...n,before:r,after:i,limit:K$1().min(1).meta({examples:[20],description:`Maximum number of items to return in each result set`})})}const sc=Q$1(Z,`admissions`),cc=Z.pick({eventId:true}).extend({message:I$2().meta({examples:[`7.5% of the ticket price or $2 AUD, whichever is higher`],description:`Detailed explanation of the booking fee calculation applied to this admission type`}),price:U$2({base:B$2().min(0).meta({examples:[E$1.Admission.price.base],description:`Base cost of a ticket for this admission type before fees, in cents`}),booking:B$2().min(0).meta({examples:[E$1.Admission.price.booking],description:`Calculated booking fee applied to the ticket price, in cents`}),currency:I$2().regex(/^[A-Z]{3}$/).meta({examples:[E$1.Admission.price.currency],description:`Three-letter ISO 4217 currency code for the quoted price`})}).meta({examples:[E$1.Admission.price],description:`Pricing quote for this admission type, showing base cost and calculated booking fee in cents`})}).meta({description:`Response schema for admission pricing quotes, including booking fee calculations and explanatory messages`}),lc=Z.pick({eventId:true}).extend({base:B$2().min(0).meta({examples:[E$1.Admission.price.base],description:`Base cost of a ticket for this admission type before fees, in cents`}),currency:I$2().regex(/^[A-Z]{3}$/).meta({examples:[E$1.Admission.price.currency],description:`Three-letter ISO 4217 currency code for the ticket price`})}).meta({description:`Request schema for generating a pricing quote for an admission type, including booking fee calculations`}),uc=U$2({quote:cc}),dc=U$2({admission:Z}),fc=Z.omit({promoterId:true,createdAt:true,updatedAt:true,eventSlug:true,sold:true,reserved:true}).partial().extend({id:Z.shape.id,eventId:Z.shape.eventId,sectionId:Vs.nullable().optional().meta({description:`Section ID. Pass null to unassign from section; omit to leave unchanged.`})}).meta({description:`Schema for updating an existing admission type.`}),pc=U$2({value:z$2().describe(`Current period value`),previous:z$2().describe(`Comparison period value`),change:z$2().describe(`Percentage change from previous period`),changeType:G$2([`increase`,`decrease`,`unchanged`]).describe(`Direction of change`)}),mc=U$2({eventId:I$2().describe(`Event identifier`),startDate:I$2().optional().describe(`Start date (YYYY-MM-DD). If omitted, returns all-time data.`),endDate:I$2().optional().describe(`End date (YYYY-MM-DD). If omitted, returns all-time data.`)}),hc=U$2({meta:U$2({eventId:I$2().describe(`Event identifier`),eventName:I$2().describe(`Event name`),currency:I$2().describe(`Currency code (e.g., USD, EUR)`),dateRange:U$2({start:I$2().describe(`Period start date`),end:I$2().describe(`Period end date`)}).optional().describe(`Present only when startDate/endDate are provided`),comparisonRange:U$2({start:I$2().describe(`Comparison period start date`),end:I$2().describe(`Comparison period end date`)}).optional().describe(`Present only when startDate/endDate are provided`)}),metrics:U$2({revenue:pc.describe(`Total revenue in cents`),ticketsSold:pc.describe(`Number of tickets sold`),orderCount:pc.describe(`Number of orders placed`),averageOrderValue:pc.describe(`Average order value in cents`),conversionRate:pc.describe(`Conversion rate as percentage`),pageViews:pc.describe(`Total page/product views`),uniqueVisitors:pc.describe(`Unique visitors (estimated)`),checkoutStarted:pc.describe(`Number of checkout started events (external link clicks for external events)`)})}),gc=U$2({eventId:I$2().describe(`Event identifier`),startDate:I$2().describe(`Start date`),endDate:I$2().describe(`End date`),granularity:G$2([`HOUR`,`DAY`,`WEEK`,`MONTH`]).optional().default(`DAY`).describe(`Time granularity for aggregation`),breakdown:G$2([`TOTAL`]).optional().default(`TOTAL`).describe(`Breakdown type (always TOTAL for performance)`)}),_c=U$2({meta:U$2({eventId:I$2(),eventName:I$2().describe(`Event name`),currency:I$2().describe(`Currency code`),dateRange:U$2({start:I$2(),end:I$2()}),granularity:G$2([`HOUR`,`DAY`,`WEEK`,`MONTH`])}),series:H$2(U$2({date:I$2().describe(`Date or timestamp`),tickets:z$2().describe(`Tickets sold in period`),revenue:z$2().describe(`Revenue in period (cents)`),admissions:H$2(U$2({id:I$2(),name:I$2(),quantity:z$2()})),sections:H$2(U$2({id:I$2(),name:I$2(),quantity:z$2()}))}))}),vc=U$2({eventId:I$2().describe(`Event identifier`),startDate:I$2().describe(`Start date (YYYY-MM-DD)`),endDate:I$2().describe(`End date (YYYY-MM-DD)`)}),yc=U$2({meta:U$2({eventId:I$2(),eventName:I$2().describe(`Event name`),currency:I$2().describe(`Currency code`),dateRange:U$2({start:I$2(),end:I$2()})}),totals:U$2({entered:z$2().describe(`Total entered funnel (product viewed)`),completed:z$2().describe(`Total completed (orders)`),overallConversionRate:z$2().describe(`Overall conversion rate (%)`),totalDropped:z$2().describe(`Total dropped off`)}),stages:H$2(U$2({id:I$2().describe(`Funnel stage identifier`),name:I$2().describe(`Human-readable stage name`),count:z$2().describe(`Number of events at this stage`),conversionRate:z$2().describe(`Conversion rate from first stage (%)`),dropoffRate:z$2().describe(`Dropoff rate from previous stage (%)`)}))});U$2({meta:U$2({eventId:I$2(),dimension:I$2().describe(`Dimension type`),dateRange:U$2({start:I$2(),end:I$2()}),limit:z$2().optional()}),data:H$2(U$2({name:I$2().describe(`Dimension value (e.g., campaign name)`),views:z$2().describe(`Page/product views`),conversions:z$2().describe(`Completed orders`),revenue:z$2().describe(`Total revenue in cents`),conversionRate:z$2().describe(`Conversion rate (%)`),share:z$2().describe(`Percentage share of total`).optional()})),totals:U$2({views:z$2(),conversions:z$2(),revenue:z$2()}).optional()});const xc=U$2({startDate:I$2().datetime(),endDate:I$2().datetime()}),Sc=G$2([`HOUR`,`DAY`,`WEEK`,`MONTH`]);U$2({eventId:I$2(),granularity:Sc.optional()}).merge(xc);U$2({granularity:Sc,data:H$2(U$2({date:I$2(),revenue:z$2(),ticketsSold:z$2()}))});const Tc=U$2({eventId:I$2(),limit:z$2().min(1).max(100).optional().default(10)}).merge(xc),Ec=U$2({meta:U$2({eventId:I$2().describe(`Event identifier`),eventName:I$2().describe(`Event name`),currency:I$2().describe(`Currency code (e.g., USD, EUR)`),dateRange:U$2({start:I$2().describe(`Period start date`),end:I$2().describe(`Period end date`)}),limit:z$2().describe(`Maximum number of results returned`)}),totals:U$2({uses:z$2().describe(`Total coupon uses across all coupons`),revenue:z$2().describe(`Total revenue from coupon-discounted orders (cents)`)}),coupons:H$2(U$2({id:I$2().describe(`Coupon code identifier`),code:I$2().describe(`Coupon code`),uses:z$2().describe(`Number of times this coupon was used`),revenue:z$2().describe(`Revenue from this coupon (cents)`),discount:I$2().describe(`Discount amount or percentage`),share:z$2().describe(`Share of total coupon uses (%)`)})).describe(`Coupons sorted by uses descending`)}),Dc=U$2({eventId:I$2(),limit:z$2().min(1).max(100).optional().default(10)}).merge(xc),Oc=U$2({data:H$2(U$2({campaign:I$2(),views:z$2(),conversions:z$2(),conversionRate:z$2(),sharePercent:z$2()})),totalConversions:z$2()}),kc=U$2({eventId:I$2(),limit:z$2().min(1).max(100).optional().default(10)}).merge(xc),Ac=U$2({meta:U$2({eventId:I$2().describe(`Event identifier`),eventName:I$2().describe(`Event name`),currency:I$2().describe(`Currency code (e.g., USD, EUR)`),dateRange:U$2({start:I$2().describe(`Period start date`),end:I$2().describe(`Period end date`)}),limit:z$2().describe(`Maximum number of results returned`)}),totals:U$2({views:z$2().describe(`Total views across all mediums`),conversions:z$2().describe(`Total conversions across all mediums`)}),mediums:H$2(U$2({id:I$2().describe(`Medium identifier (e.g., 'social', 'email')`),name:I$2().describe(`Medium name`),views:z$2().describe(`Views from this medium`),conversions:z$2().describe(`Conversions from this medium`),conversionRate:z$2().describe(`Conversion rate (%)`),share:z$2().describe(`Share of total conversions (%)`)})).describe(`Mediums sorted by conversions descending`)}),jc=U$2({eventId:I$2()}).merge(xc),Mc=U$2({meta:U$2({eventId:I$2().describe(`Event identifier`),eventName:I$2().describe(`Event name`),currency:I$2().describe(`Currency code (e.g., USD, EUR)`),dateRange:U$2({start:I$2().describe(`Period start date`),end:I$2().describe(`Period end date`)})}),totals:U$2({revenue:z$2().describe(`Total revenue across all devices (cents)`),orders:z$2().describe(`Total orders across all devices`)}),devices:H$2(U$2({id:G$2([`MOBILE`,`DESKTOP`,`TABLET`]).describe(`Device type`),name:I$2().describe(`Human-readable device name`),revenue:z$2().describe(`Revenue from this device (cents)`),orders:z$2().describe(`Orders from this device`),conversionRate:z$2().describe(`Conversion rate (%)`),share:z$2().describe(`Share of total revenue (%)`)})).describe(`Devices sorted by revenue descending`)}),Nc=U$2({eventId:I$2(),limit:z$2().min(1).max(100).optional().default(10)}).merge(xc),Pc=U$2({meta:U$2({eventId:I$2().describe(`Event identifier`),eventName:I$2().describe(`Event name`),currency:I$2().describe(`Currency code (e.g., USD, EUR)`),dateRange:U$2({start:I$2().describe(`Period start date`),end:I$2().describe(`Period end date`)}),limit:z$2().describe(`Maximum number of results returned`)}),totals:U$2({tickets:z$2().describe(`Total tickets across all locations`),revenue:z$2().describe(`Total revenue across all locations (cents)`)}),locations:H$2(U$2({id:I$2().describe(`Location/region code (e.g., 'US-CA', 'GB')`),name:I$2().describe(`Human-readable location name`),views:z$2().describe(`Page views from this location`),tickets:z$2().describe(`Tickets from this location`),revenue:z$2().describe(`Revenue from this location (cents)`),share:z$2().describe(`Share of total views (%)`)})).describe(`Locations sorted by views descending`)}),Fc=U$2({eventId:I$2(),limit:z$2().min(1).max(100).optional().default(10)}).merge(xc),Ic=U$2({meta:U$2({eventId:I$2().describe(`Event identifier`),eventName:I$2().describe(`Event name`),currency:I$2().describe(`Currency code (e.g., USD, EUR)`),dateRange:U$2({start:I$2().describe(`Period start date`),end:I$2().describe(`Period end date`)}),limit:z$2().describe(`Maximum number of results returned`)}),totals:U$2({sessions:z$2().describe(`Total sessions across all sources`),conversions:z$2().describe(`Total conversions across all sources`),revenue:z$2().describe(`Total revenue across all sources (cents)`)}),sources:H$2(U$2({id:I$2().describe(`Traffic source identifier`),name:I$2().describe(`Traffic source name`),referrer:I$2().describe(`Referrer URL or domain`),sessions:z$2().describe(`Sessions from this source`),conversions:z$2().describe(`Conversions from this source`),conversionRate:z$2().describe(`Conversion rate (%)`),revenue:z$2().describe(`Revenue from this source (cents)`),share:z$2().describe(`Share of total conversions (%)`)})).describe(`Traffic sources sorted by conversions descending`)}),Lc=U$2({eventId:I$2(),includeAdmission:V$2().optional().default(true),includeSection:V$2().optional().default(true),granularity:G$2([`HOUR`,`MINUTE`]).optional()}),Rc=U$2({totalTickets:z$2(),checkedIn:z$2(),notCheckedIn:z$2(),checkinRate:z$2()}),zc=Rc.extend({admissionId:I$2(),admissionName:I$2()}),Bc=Rc.extend({sectionId:I$2(),sectionName:I$2()}),Vc=Ko([Rc.extend({byAdmission:H$2(zc),bySection:H$2(Bc)}),U$2({granularity:G$2([`HOUR`,`MINUTE`]),totalTickets:z$2(),data:H$2(U$2({timestamp:I$2(),checkedIn:z$2(),rate:z$2(),checkinsThisPeriod:z$2()})),byAdmission:H$2(U$2({admissionId:I$2(),admissionName:I$2(),data:H$2(U$2({timestamp:I$2(),checkedIn:z$2(),rate:z$2()}))})).optional(),bySection:H$2(U$2({sectionId:I$2(),sectionName:I$2(),data:H$2(U$2({timestamp:I$2(),checkedIn:z$2(),rate:z$2()}))})).optional()})]),Hc=U$2({promoterId:I$2().describe(`Promoter identifier`),startDate:I$2().describe(`Start date (YYYY-MM-DD)`),endDate:I$2().describe(`End date (YYYY-MM-DD)`),currency:I$2().optional().describe(`Currency code for revenue metrics`)}),Uc=U$2({meta:U$2({promoterId:I$2().describe(`Promoter identifier`),promoterName:I$2().describe(`Promoter name`),teamId:I$2().describe(`Team identifier`),teamName:I$2().describe(`Team name`),currency:I$2().describe(`Primary currency code`),currencies:H$2(I$2()).describe(`All currencies with transactions`),dateRange:U$2({start:I$2().describe(`Period start date`),end:I$2().describe(`Period end date`)}),comparisonRange:U$2({start:I$2().describe(`Comparison period start date`),end:I$2().describe(`Comparison period end date`)})}),metrics:U$2({revenue:U$2({value:z$2().describe(`Current period value`),previous:z$2().describe(`Comparison period value`),change:z$2().describe(`Percentage change from previous period`),changeType:G$2([`increase`,`decrease`,`unchanged`]).describe(`Direction of change`)}).describe(`Total revenue in cents`),ticketsSold:U$2({value:z$2(),previous:z$2(),change:z$2(),changeType:G$2([`increase`,`decrease`,`unchanged`])}).describe(`Number of tickets sold`),averageOrderValue:U$2({value:z$2(),previous:z$2(),change:z$2(),changeType:G$2([`increase`,`decrease`,`unchanged`])}).describe(`Average order value in cents`),conversionRate:U$2({value:z$2(),previous:z$2(),change:z$2(),changeType:G$2([`increase`,`decrease`,`unchanged`])}).describe(`Overall conversion rate (%)`),activeEvents:U$2({value:z$2(),previous:z$2(),change:z$2(),changeType:G$2([`increase`,`decrease`,`unchanged`])}).describe(`Number of active events in period`),uniqueCustomers:U$2({value:z$2(),previous:z$2(),change:z$2(),changeType:G$2([`increase`,`decrease`,`unchanged`])}).describe(`Unique customers (estimated)`),orderCount:U$2({value:z$2(),previous:z$2(),change:z$2(),changeType:G$2([`increase`,`decrease`,`unchanged`])}).describe(`Number of orders placed`),pageViews:U$2({value:z$2(),previous:z$2(),change:z$2(),changeType:G$2([`increase`,`decrease`,`unchanged`])}).describe(`Total page views from tracking`)})}),Wc=U$2({promoterId:I$2().describe(`Promoter identifier`),startDate:I$2().describe(`Start date`),endDate:I$2().describe(`End date`),granularity:G$2([`HOUR`,`DAY`,`WEEK`,`MONTH`]).optional().default(`DAY`).describe(`Time granularity`),currency:I$2().optional().describe(`Currency filter`)}),Gc=U$2({meta:U$2({promoterId:I$2(),dateRange:U$2({start:I$2(),end:I$2()}),granularity:G$2([`HOUR`,`DAY`,`WEEK`,`MONTH`])}),currencies:H$2(U$2({currency:I$2().describe(`Currency code (e.g., USD, EUR)`),series:H$2(U$2({date:I$2().describe(`Date (YYYY-MM-DD)`),revenue:z$2().describe(`Revenue in cents`),tickets:z$2().describe(`Tickets sold`)})),totals:U$2({revenue:z$2().describe(`Total revenue for period in cents`),tickets:z$2().describe(`Total tickets for period`)})})).describe(`Time-series data grouped by currency`)}),Kc=U$2({promoterId:I$2().describe(`Promoter identifier`),startDate:I$2().describe(`Start date (ISO format)`),endDate:I$2().describe(`End date (ISO format)`),limit:z$2().optional().default(5).describe(`Maximum number of events to return`)}),qc=U$2({events:H$2(U$2({eventId:I$2().describe(`Event identifier`),eventName:I$2().describe(`Event name`),ticketCount:z$2().describe(`Number of tickets sold`),sharePercent:z$2().describe(`Percentage of total tickets`)})),totalTickets:z$2().describe(`Total tickets across all events`)}),Jc=U$2({value:z$2().describe(`Current period value`),previous:z$2().describe(`Comparison period value`),change:z$2().describe(`Percentage change from previous period`),changeType:G$2([`increase`,`decrease`,`unchanged`]).describe(`Direction of change`)}),Yc=U$2({teamId:I$2().describe(`Team identifier`),startDate:I$2().describe(`Start date (YYYY-MM-DD)`),endDate:I$2().describe(`End date (YYYY-MM-DD)`),currency:I$2().optional().describe(`Currency code for revenue metrics`)}),Xc=U$2({meta:U$2({teamId:I$2().describe(`Team identifier`),teamName:I$2().describe(`Team name`),currency:I$2().describe(`Primary currency code`),currencies:H$2(I$2()).describe(`All currencies with transactions`),dateRange:U$2({start:I$2().describe(`Period start date`),end:I$2().describe(`Period end date`)}),comparisonRange:U$2({start:I$2().describe(`Comparison period start date`),end:I$2().describe(`Comparison period end date`)})}),metrics:U$2({revenue:Jc.describe(`Total revenue in cents`),ticketsSold:Jc.describe(`Number of tickets sold`),averageOrderValue:Jc.describe(`Average order value in cents`),conversionRate:Jc.describe(`Overall conversion rate (%)`),activeEvents:Jc.describe(`Number of active events in period`),uniqueCustomers:Jc.describe(`Unique customers (estimated)`),orderCount:Jc.describe(`Number of orders placed`),pageViews:Jc.describe(`Total page views from tracking`)})}),Zc=U$2({teamId:I$2().describe(`Team identifier`),startDate:I$2().describe(`Start date`),endDate:I$2().describe(`End date`),granularity:G$2([`HOUR`,`DAY`,`WEEK`,`MONTH`]).optional().default(`DAY`).describe(`Time granularity`),currency:I$2().optional().describe(`Currency filter`)}),Qc=U$2({meta:U$2({teamId:I$2(),dateRange:U$2({start:I$2(),end:I$2()}),granularity:G$2([`HOUR`,`DAY`,`WEEK`,`MONTH`])}),currencies:H$2(U$2({currency:I$2().describe(`Currency code (e.g., USD, EUR)`),series:H$2(U$2({date:I$2().describe(`Date (YYYY-MM-DD)`),revenue:z$2().describe(`Revenue in cents`),tickets:z$2().describe(`Tickets sold`),orders:z$2().describe(`Orders placed`)})),totals:U$2({revenue:z$2().describe(`Total revenue for period in cents`),tickets:z$2().describe(`Total tickets for period`),orders:z$2().describe(`Total orders for period`)})})).describe(`Time-series data grouped by currency`)});U$2({teamId:I$2().describe(`Team identifier`),startDate:I$2().describe(`Start date`),endDate:I$2().describe(`End date`),limit:z$2().optional().default(10).describe(`Number of events to return`),sortBy:G$2([`revenue`,`tickets`,`conversion`]).optional().default(`revenue`).describe(`Sort metric`)});U$2({meta:U$2({teamId:I$2(),dateRange:U$2({start:I$2(),end:I$2()}),limit:z$2(),sortBy:I$2()}),data:H$2(U$2({eventId:I$2().describe(`Event identifier`),eventName:I$2().describe(`Event name`),eventDate:I$2().describe(`Event date`).optional(),status:I$2().describe(`Event status`),revenue:z$2().describe(`Total revenue in cents`),tickets:z$2().describe(`Tickets sold`),views:z$2().describe(`Page views`),conversionRate:z$2().describe(`Conversion rate (%)`),contribution:z$2().describe(`% of promoter's total revenue`)})),totals:U$2({events:z$2().describe(`Total events in period`),revenue:z$2().describe(`Combined revenue`),tickets:z$2().describe(`Combined tickets`)})});const tl=U$2({teamId:I$2().describe(`Team identifier`),startDate:I$2().describe(`Start date (ISO format)`),endDate:I$2().describe(`End date (ISO format)`),limit:z$2().optional().default(5).describe(`Maximum number of events to return`)}),nl=U$2({events:H$2(U$2({eventId:I$2().describe(`Event identifier`),eventName:I$2().describe(`Event name`),ticketCount:z$2().describe(`Number of tickets sold`),sharePercent:z$2().describe(`Percentage of total tickets`)})),totalTickets:z$2().describe(`Total tickets across all events`)}),rl=U$2({teamId:I$2().describe(`Team identifier`),startDate:I$2().describe(`Start date (YYYY-MM-DD)`),endDate:I$2().describe(`End date (YYYY-MM-DD)`)}),il=U$2({stages:H$2(U$2({stageId:I$2().describe(`Funnel stage identifier`),stageLabel:I$2().describe(`Human-readable stage name`),count:z$2().describe(`Number of events at this stage`),conversionRate:z$2().describe(`Conversion rate from first stage (%)`),dropoffPercent:z$2().describe(`Dropoff rate from previous stage (%)`)}))}),al=U$2({teamId:I$2().describe(`Team identifier`),startDate:I$2().describe(`Start date (ISO format)`),endDate:I$2().describe(`End date (ISO format)`),groupBy:G$2([`HOUR`,`DAY_OF_WEEK`,`DAY`,`WEEK`,`MONTH`]).optional().default(`HOUR`).describe(`Time breakdown for aggregation`),timeZone:I$2().optional().default(`UTC`).describe(`IANA timezone for hour/day aggregation (e.g., 'America/New_York')`)}),ol=U$2({groupBy:G$2([`HOUR`,`DAY_OF_WEEK`,`DAY`,`WEEK`,`MONTH`]).describe(`The grouping used for aggregation`),buckets:H$2(U$2({key:Ko([z$2(),I$2()]).describe(`Bucket key (hour 0-23, day 0-6, or date string)`),label:I$2().describe(`Human-readable label`),orderCount:z$2().describe(`Number of orders`),sharePercent:z$2().describe(`Percentage of total orders`)})),totalOrders:z$2().describe(`Total orders across all buckets`)}),sl=U$2({teamId:I$2().describe(`Team identifier`),startDate:I$2().describe(`Start date (ISO format)`),endDate:I$2().describe(`End date (ISO format)`),limit:z$2().optional().default(10).describe(`Maximum number of admissions to return`)}),cl=U$2({admissions:H$2(U$2({admissionId:I$2().describe(`Admission identifier`),admissionName:I$2().describe(`Admission name`),ticketCount:z$2().describe(`Number of tickets sold`),sharePercent:z$2().describe(`Percentage of total tickets`)})),totalTickets:z$2().describe(`Total tickets across all admissions`)}),ll=U$2({teamId:I$2().describe(`Team identifier`),startDate:I$2().describe(`Start date (YYYY-MM-DD)`),endDate:I$2().describe(`End date (YYYY-MM-DD)`),type:G$2([`campaign`,`medium`,`source`]).describe(`Dimension type to analyze`),limit:z$2().optional().default(20).describe(`Maximum number of results to return`)}),ul=U$2({dimensionType:G$2([`campaign`,`medium`,`source`]).describe(`The dimension type analyzed`),data:H$2(U$2({dimensionValue:I$2().describe(`The dimension value (e.g., campaign name)`),dimensionLabel:I$2().describe(`Human-readable label`),views:z$2().describe(`Total page views`),conversions:z$2().describe(`Total conversions (orders)`),revenue:z$2().describe(`Total revenue in cents`),conversionRate:z$2().describe(`Conversion rate (%)`),sharePercent:z$2().describe(`Share of total conversions (%)`),uniqueVisitors:z$2().describe(`Unique visitors (estimated)`)})),totalConversions:z$2().describe(`Total conversions across all dimensions`)}),dl=U$2({teamId:I$2().describe(`Team identifier`),startDate:I$2().describe(`Start date (YYYY-MM-DD)`),endDate:I$2().describe(`End date (YYYY-MM-DD)`),granularity:G$2([`DAY`,`WEEK`,`MONTH`]).optional().default(`DAY`).describe(`Time granularity for aggregation`)}),fl=U$2({granularity:G$2([`DAY`,`WEEK`,`MONTH`]).describe(`The granularity used`),series:H$2(U$2({date:I$2().describe(`Date key (YYYY-MM-DD, YYYY-Www, or YYYY-MM)`),label:I$2().describe(`Human-readable label`),productViewed:z$2().describe(`Page views`),productAdded:z$2().describe(`Add to cart events`),checkoutStarted:z$2().describe(`Checkout started events`),orderCompleted:z$2().describe(`Completed orders`)})),totals:U$2({productViewed:z$2().describe(`Total page views`),productAdded:z$2().describe(`Total add to cart`),checkoutStarted:z$2().describe(`Total checkouts started`),orderCompleted:z$2().describe(`Total orders completed`),uniqueVisitors:z$2().describe(`Unique visitors (estimated via HyperLogLog, ~0.8% error)`)})}),pl=G$2(`Products Searched.Product List Viewed.Product List Filtered.Promotion Viewed.Promotion Clicked.Product Clicked.Product Viewed.Product Added.Product Removed.Cart Viewed.Checkout Started.Checkout Step Viewed.Checkout Step Completed.Payment Info Entered.Order Completed.Order Updated.Order Refunded.Order Cancelled.Coupon Entered.Coupon Applied.Coupon Denied.Coupon Removed.Product Added to Wishlist.Product Removed from Wishlist.Wishlist Product Added to Cart.Product Shared.Cart Shared.Product Reviewed`.split(`.`)),hl=U$2({product_id:I$2().optional().describe(`admission_id in ticketing context`),sku:I$2().optional().describe(`admission_id or admission_name`),category:I$2().optional().describe(`event_name or "Admission"`),name:I$2().optional().describe(`admission_name`),brand:I$2().optional().describe(`promoter_name`),variant:I$2().optional().describe(`section_name`),price:z$2().optional().describe(`admission price (base + booking fee)`),quantity:z$2().optional().describe(`number of tickets`),coupon:I$2().optional().describe(`coupon code applied`),position:z$2().optional().describe(`position in list`),url:I$2().optional().describe(`URL to event/admission page`),image_url:I$2().optional().describe(`event image`),admission_id:I$2().optional().describe(`Explicit admission ID`),section_id:I$2().optional().describe(`Section ID if applicable`),event_id:I$2().optional().describe(`Event ID for this admission`),promoter_id:I$2().optional().describe(`Promoter ID`),price_base:z$2().nullish().describe(`Base price before fees`),price_booking_fee:z$2().nullish().describe(`Booking fee`),capacity:z$2().optional().describe(`Total capacity for this admission`),available:z$2().optional().describe(`Remaining tickets available`),sold:z$2().optional().describe(`Tickets already sold`)}),gl=U$2({type:I$2(),value:I$2()}),_l=U$2({type:I$2(),value:I$2()}),vl=U$2({query:Ko([I$2(),W$2(I$2(),Ro())]).optional(),list_id:I$2().optional(),category:I$2().optional(),filters:H$2(gl).optional(),sorts:H$2(_l).optional(),promotion_id:I$2().optional(),creative:I$2().optional(),name:I$2().optional(),position:Ko([I$2(),z$2()]).optional(),product_id:I$2().optional(),sku:I$2().optional(),brand:I$2().optional(),variant:I$2().optional(),price:z$2().optional(),quantity:z$2().optional(),coupon:I$2().optional(),currency:I$2().optional(),value:z$2().optional(),url:I$2().optional(),image_url:I$2().optional(),cart_id:I$2().optional(),checkout_id:I$2().optional(),step:z$2().optional(),shipping_method:I$2().optional(),payment_method:I$2().optional(),order_id:I$2().optional(),affiliation:I$2().optional(),subtotal:z$2().optional(),total:z$2().optional(),revenue:z$2().optional(),shipping:z$2().optional(),tax:z$2().optional(),discount:z$2().optional(),coupon_id:I$2().optional(),coupon_name:I$2().optional(),reason:I$2().optional(),wishlist_id:I$2().optional(),wishlist_name:I$2().optional(),share_via:I$2().optional(),share_message:I$2().optional(),recipient:I$2().optional(),review_id:I$2().optional(),review_body:I$2().optional(),rating:I$2().optional(),products:H$2(hl).optional(),event_id:I$2().optional().describe(`ID of the ticketed event (evt_xxx)`),event_name:I$2().optional().describe(`Name of the ticketed event`),event_slug:I$2().optional().describe(`URL slug of event`),event_starts_at:X.optional().describe(`When the event starts (naive datetime, no timezone)`),event_ends_at:X.optional().describe(`When the event ends (naive datetime, no timezone)`),event_status:G$2([`UPCOMING`,`LIVE`,`ENDED`,`CANCELLED`]).optional(),event_visibility:G$2([`PUBLIC`,`PRIVATE`]).optional(),event_location:I$2().optional().describe(`Venue name`),event_city:I$2().optional().describe(`Venue city`),event_country:I$2().optional().describe(`Venue country`),promoter_id:I$2().optional().describe(`ID of the promoter (pmt_xxx)`),promoter_name:I$2().optional().describe(`Name of the promoter`),promoter_slug:I$2().optional().describe(`URL slug of promoter`),admission_id:I$2().optional().describe(`ID of admission type (adm_xxx)`),admission_name:I$2().optional().describe(`Name of admission (e.g., "General Admission")`),admission_capacity:z$2().optional().describe(`Total capacity for this admission`),admission_available:z$2().optional().describe(`Tickets still available`),admission_sold:z$2().optional().describe(`Tickets already sold`),section_id:I$2().optional().describe(`ID of section (sct_xxx)`),section_name:I$2().optional().describe(`Name of section (e.g., "VIP", "General")`),section_capacity:z$2().optional().describe(`Total capacity for this section`),section_available:z$2().optional().describe(`Spots still available in section`),ticket_id:I$2().optional().describe(`Individual ticket ID (tkt_xxx)`),ticket_status:G$2([`VALID`,`REDEEMED`,`CANCELLED`]).optional(),tickets_quantity:z$2().optional().describe(`Number of tickets in transaction`),customer_id:I$2().optional().describe(`Customer ID (cus_xxx)`),customer_email:I$2().optional().describe(`Customer email`),customer_first_name:I$2().optional(),customer_last_name:I$2().optional(),price_base:z$2().nullish().describe(`Base price before fees`),price_booking_fee:z$2().nullish().describe(`Booking fee amount`),price_discount_amount:z$2().nullish().describe(`Discount amount applied`),sale_starts_at:X.optional().describe(`When tickets go on sale (naive datetime, no timezone)`),sale_ends_at:X.optional().describe(`When ticket sales end (naive datetime, no timezone)`),entry_starts_at:X.optional().describe(`When entry to event begins (naive datetime, no timezone)`),entry_ends_at:X.optional().describe(`When entry to event ends (naive datetime, no timezone)`),funnel_step:I$2().optional().describe(`Current funnel step (e.g., "browse", "cart", "checkout")`),time_to_purchase:z$2().optional().describe(`Seconds from first view to purchase`),session_duration:z$2().optional().describe(`Total session duration in seconds`),referrer_type:G$2([`DIRECT`,`SOCIAL`,`EMAIL`,`SEARCH`,`REFERRAL`,`AD`]).optional(),campaign_id:I$2().optional().describe(`Marketing campaign ID`),affiliate_id:I$2().optional().describe(`Affiliate partner ID`),promo_code_used:I$2().optional().describe(`Promotional code applied`),platform:G$2([`WEB`,`MOBILE_WEB`,`IOS`,`ANDROID`]).optional(),app_version:I$2().optional(),device_type:G$2([`MOBILE`,`TABLET`,`DESKTOP`]).optional()}),yl=U$2({session_id:I$2(),user_id:I$2().optional(),anonymous_id:I$2(),utm_source:I$2().optional(),utm_medium:I$2().optional(),utm_campaign:I$2().optional(),utm_term:I$2().optional(),utm_content:I$2().optional(),page:U$2({url:I$2(),path:I$2(),title:I$2()}),referrer:I$2().optional(),user_agent:I$2().optional(),ip:I$2().optional(),geo:U$2({country:I$2().optional().describe(`Country code (e.g., "AU")`),countryName:I$2().optional().describe(`Country name (e.g., "Australia")`),region:I$2().optional().describe(`State/province code`),regionName:I$2().optional().describe(`State/province name (e.g., "New South Wales")`),city:I$2().optional().describe(`City name`),latitude:I$2().optional().describe(`Latitude`),longitude:I$2().optional().describe(`Longitude`)}).optional(),fbc:I$2().optional().describe(`Facebook click ID`),fbp:I$2().optional().describe(`Facebook browser ID`),ttclid:I$2().optional().describe(`TikTok click ID`)}),bl=U$2({id:I$2(),eventId:I$2().describe(`Event being tracked (evt_123)`),teamId:I$2().describe(`Team ID (team_123)`),promoterId:I$2().describe(`Promoter ID (pmt_123)`),eventType:pl,timestamp:I$2(),date:I$2().describe(`YYYY-MM-DD`),hour:z$2().int().min(0).max(23),properties:vl,context:yl,productId:I$2().optional(),createdAt:I$2(),updatedAt:I$2()}),xl=bl.omit({id:true,timestamp:true,date:true,hour:true,createdAt:true,updatedAt:true}).meta({description:`Schema for tracking an analytics event. Excludes system-generated fields`});U$2({eventId:I$2().meta({description:`Event ID to get tracking events for`}),startDate:I$2().optional().meta({description:`Start date (YYYY-MM-DD) for filtering events`}),endDate:I$2().optional().meta({description:`End date (YYYY-MM-DD) for filtering events`}),limit:K$1().int().positive().optional().meta({description:`Maximum number of events to return`})}).meta({description:`Schema for retrieving tracking events for an event`});const Cl=G$2([`AIRWALLEX`,`STRIPE`]),Tl=U$2({id:I$2().readonly().meta({examples:[E$1.Beneficiary.id],description:`A unique identifier for this beneficiary.`}),createdAt:N$1().readonly().meta({examples:[E$1.Beneficiary.createdAt],description:`Timestamp in ISO 8601 format when this beneficiary was created.`}),updatedAt:N$1().readonly().meta({examples:[E$1.Beneficiary.updatedAt],description:`Timestamp in ISO 8601 format when this beneficiary was last updated.`}),name:I$2().meta({examples:[E$1.Beneficiary.name],description:`The account name for this beneficiary.`}),currency:I$2().regex(/^[A-Z]{3}$/).meta({examples:[`AUD`],description:`Three-letter ISO 4217 currency code for payouts.`}),gateway:Cl.meta({examples:[`STRIPE`],description:`The payment gateway used for processing payouts.`}),gatewayId:I$2().meta({examples:[E$1.Beneficiary.gatewayId],description:`The identifier assigned by the payment gateway to this account.`}),teamId:I$2().meta({description:`Team that owns this beneficiary account.`}),promoterIds:H$2(I$2()).meta({examples:[[]],description:`List of promoter IDs this beneficiary is assigned to. Empty array means team-level only (available to all promoters).`}),venueIds:H$2(I$2()).meta({examples:[[]],description:`List of venue IDs this beneficiary is assigned to. Empty array means team-level only (available to all venues).`})}).meta({description:`beneficiary`}),El=U$2({city:I$2().optional(),country_code:I$2(),postcode:I$2().optional(),state:I$2().optional(),street_address:I$2().optional()}),Dl=U$2({account_currency:I$2(),account_name:I$2(),account_number:I$2().optional(),account_routing_type1:I$2().optional(),account_routing_value1:I$2().optional(),account_routing_type2:I$2().optional(),account_routing_value2:I$2().optional(),bank_account_category:I$2().optional(),bank_branch:I$2().optional(),bank_country_code:I$2(),bank_name:I$2().optional(),bank_street_address:I$2().optional(),binding_mobile_number:I$2().optional(),fingerprint:I$2().optional(),iban:I$2().optional(),local_clearing_system:I$2().optional(),swift_code:I$2().optional(),transaction_reference:I$2().optional()}),Ol=U$2({id:I$2().optional(),transfer_methods:H$2(G$2([`SWIFT`,`LOCAL`])),beneficiary:U$2({company_name:I$2().optional(),date_of_birth:I$2().optional(),entity_type:I$2(),first_name:I$2().optional(),last_name:I$2().optional(),address:El,bank_details:Dl,additional_info:U$2({personal_email:R$2().optional()}).optional()})}),kl=Tl.omit({id:true,createdAt:true,updatedAt:true,currency:true}).extend({currency:Os.meta({examples:[E$1.Beneficiary.currency],description:`Three-letter ISO 4217 currency code for payouts to this beneficiary account`}),airwallex:Ol.optional().meta({examples:[E$1.AirwallexBeneficiary],description:`Airwallex-specific beneficiary details including bank account information and address (required when gateway is AIRWALLEX)`}),promoterIds:H$2(I$2()).optional().default([]).meta({examples:[[]],description:`List of promoter IDs to assign this beneficiary to. Empty array or omitted means team-level only.`}),venueIds:H$2(I$2()).optional().default([]).meta({examples:[[]],description:`List of venue IDs to assign this beneficiary to. Empty array or omitted means team-level only.`})}).meta({description:`Schema for creating a new beneficiary account for receiving payouts`}),Al=Tl.pick({id:true}).meta({description:`Schema for retrieving a single beneficiary by its unique identifier`}),jl=Al.meta({description:`Schema for deleting a beneficiary account - requires the beneficiary ID`}),Ml=U$2({teamId:I$2().optional().meta({examples:[E$1.Team.id],description:`Optional identifier of the team whose beneficiaries to list. When provided, only beneficiaries for that team are returned.`}),gateway:G$2([`AIRWALLEX`,`STRIPE`]).optional().meta({examples:[E$1.Beneficiary.gateway],description:`Filter beneficiaries by payment gateway provider (optional)`}),currency:Os.optional().meta({examples:[E$1.Beneficiary.currency],description:`Filter beneficiaries by currency code (optional)`}),query:I$2().optional().meta({examples:[`beneficiary`],description:`Optional search query to filter beneficiaries by name or gateway identifier. When provided, search-backed pagination is used.`}),limit:(()=>K$1().min(1).max(100).prefault(20).meta({examples:[20],description:`Maximum number of beneficiaries to return per request (1-100, default: 20)`}))().optional(),cursor:I$2().optional().meta({examples:[`eyJpZCI6ImJlbl8wMWpwczVjZ3NlNW42bWcxeW1rZXc5dHNmaCJ9`],description:`Pagination cursor returned by a previous request. Omit on the first request.`})}).meta({description:`Query parameters for listing beneficiaries with pagination and optional filters`}),Nl=Q$1(Tl,`beneficiaries`),Pl=U$2({beneficiary:Tl}),Fl=G$2([`AMOUNT`,`PERCENT`]),Ll=G$2([`TEAM`,`PROMOTER`,`EVENTS`,`SECTIONS`,`ADMISSIONS`]),zl=U$2({id:I$2().readonly().meta({examples:[E$1.Coupon.id],description:`A unique identifier for this coupon.`}),couponId:I$2().optional().readonly().meta({examples:[E$1.Coupon.couponId],description:`Duplicate of id field for GSI queries.`}),createdAt:N$1().readonly().meta({examples:[E$1.Coupon.createdAt],description:`Timestamp in ISO 8601 format when this coupon was created.`}),updatedAt:N$1().readonly().meta({examples:[E$1.Coupon.updatedAt],description:`Timestamp in ISO 8601 format when this coupon was last updated.`}),name:I$2().meta({examples:[E$1.Coupon.name],description:`Internal label for the coupon, visible to event organisers.`}),active:V$2().optional().meta({examples:[E$1.Coupon.active],description:`Whether this coupon is currently active.`}),kind:Fl.meta({examples:[`PERCENT`],description:`Type of discount this coupon gives: a fixed amount or a percentage.`}),filter:Ll.meta({examples:[`EVENTS`],description:`Scope of the coupon. TEAM applies to all events in the team. PROMOTER applies to all events by specified promoters. EVENTS/SECTIONS/ADMISSIONS apply to specific items.`}),currency:I$2().regex(/^[A-Z]{3}$/).optional().meta({examples:[E$1.Coupon.currency],description:`Three-letter ISO 4217 currency code. Required for AMOUNT coupons. Optional for PERCENT coupons - when omitted, applies to all currencies.`}),discount:z$2().min(0).meta({examples:[E$1.Coupon.discount],description:`The discount value. If kind is 'amount', this is a currency amount. If kind is 'percent', this is a percentage.`}),limit:z$2().meta({examples:[E$1.Coupon.limit],description:`Maximum number of times the coupon can be redeemed across all customers.`}),uses:z$2().optional().meta({examples:[E$1.Coupon.uses],description:`Number of times this coupon has been redeemed so far.`}),promoters:H$2(U$2({id:I$2().meta({description:`Identifier of a promoter this coupon applies to.`}),name:I$2().meta({description:`Name of a promoter this coupon applies to.`}),slug:I$2().meta({description:`URL slug of a promoter this coupon applies to.`})})).optional().meta({description:`List of promoters this coupon applies to when filter is PROMOTER.`}),events:H$2(U$2({id:I$2().meta({description:`Identifier of an event this coupon applies to.`}),name:I$2().meta({description:`Name of an event this coupon applies to.`}),slug:I$2().meta({description:`URL slug of an event this coupon applies to.`})})).optional().meta({description:`List of events this coupon applies to when filter is EVENTS.`}),sections:H$2(U$2({id:I$2().meta({description:`Identifier of a section this coupon applies to.`}),name:I$2().meta({description:`Name of a section this coupon applies to.`}),eventId:I$2().meta({description:`Identifier of the event this section belongs to.`})})).optional().meta({description:`List of sections this coupon applies to when filter is 'sections'.`}),admissions:H$2(U$2({id:I$2().meta({description:`Identifier of an admission this coupon applies to.`}),name:I$2().meta({description:`Name of an admission this coupon applies to.`}),eventId:I$2().meta({description:`Identifier of the event this admission belongs to.`})})).optional().meta({description:`List of admissions this coupon applies to when filter is 'admissions'.`}),saleStartsAt:X.meta({examples:[E$1.Coupon.saleStartsAt],description:`Wall clock time when this coupon becomes valid (no timezone, ISO 8601 format: YYYY-MM-DDTHH:mm:ss)`}),saleEndsAt:X.optional().meta({examples:[E$1.Coupon.saleEndsAt],description:`Wall clock time when this coupon expires (no timezone, ISO 8601 format: YYYY-MM-DDTHH:mm:ss)`}),teamId:I$2().meta({description:`Team that created this coupon.`})}).meta({description:`coupon`}),Bl=U$2({id:I$2().readonly().meta({examples:[E$1.CouponCode.id],description:`A unique identifier for this coupon code.`}),createdAt:N$1().readonly().meta({examples:[E$1.CouponCode.createdAt],description:`Timestamp in ISO 8601 format when this coupon code was created.`}),updatedAt:N$1().readonly().meta({examples:[E$1.CouponCode.updatedAt],description:`Timestamp in ISO 8601 format when this coupon code was last updated.`}),name:I$2().meta({examples:[E$1.CouponCode.name],description:`The code string that customers enter to redeem the coupon.`}),active:V$2().meta({examples:[E$1.CouponCode.active],description:`Whether this coupon code is currently enabled for use.`}),couponId:I$2().meta({examples:[E$1.Coupon.id],description:`Identifier of the coupon to which this code belongs.`}),teamId:I$2().meta({description:`Team that created this coupon code.`}),uses:z$2().int().nonnegative().default(0).readonly().meta({examples:[0],description:`Number of times this specific coupon code has been used in successful orders.`})}).meta({description:`coupon-code`}),Vl=Bl.pick({id:true});U$2({couponId:I$2().meta({examples:[E$1.Coupon.id]})});U$2({name:I$2(),couponId:I$2().optional().meta({examples:[E$1.Coupon.id]})});const Wl=Bl.omit({id:true,createdAt:true,updatedAt:true,uses:true}),Gl=Bl.omit({createdAt:true,updatedAt:true,couponId:true,teamId:true,uses:true}).partial().extend({id:Bl.shape.id}),Kl=Vl,ql=U$2({couponId:I$2().optional().meta({examples:[E$1.Coupon.id],description:`Optional filter to retrieve coupon codes for a specific coupon`}),teamId:I$2().optional().meta({examples:[`tem_01jqpjksnsen9vprw95et60t2m`],description:`Optional filter to retrieve coupon codes created by a specific team`}),active:Es().optional().meta({examples:[true],description:`Optional filter to retrieve only active or inactive coupon codes`}),query:I$2().optional().meta({examples:[`SUMMER`],description:`Optional search query to filter coupon codes by name. When provided, search-backed pagination is used.`}),limit:(()=>K$1().min(1).max(100).prefault(20).meta({examples:[20],description:`Maximum number of coupon codes to return per request (1-100, defaults to 20)`}))().optional(),cursor:I$2().optional().meta({examples:[`eyJpZCI6ImNwY18wMWpwczVjZ3NmenR3N2h4Y3ZyMndmdGsyIn0`],description:`Pagination cursor returned by a previous request. Omit on the first request.`})}).meta({description:`Schema for listing coupon codes with optional filtering, search, and pagination`}),Jl=Q$1(Bl,`codes`),Yl=U$2({couponCode:Bl}),Xl=zl.omit({id:true,createdAt:true,updatedAt:true}).meta({description:`Schema for creating a new coupon without system-generated fields`}),Zl=zl.pick({id:true}).meta({description:`Schema for retrieving a single coupon by ID`}),Ql=Zl.meta({description:`Schema for deleting a coupon by ID with optional soft-delete filtering`}),$l=U$2({teamId:I$2().meta({examples:[E$1.Team.id],description:`Unique identifier of the team whose coupons to retrieve`}),active:Es().optional().meta({examples:[true],description:`Optional filter to retrieve only active or inactive coupons`}),query:I$2().optional().meta({examples:[`Half Price`],description:`Optional search query to filter coupons by name or description. When provided, search-backed pagination is used.`}),limit:(()=>K$1().min(1).max(100).prefault(20).meta({examples:[20],description:`Maximum number of coupons to return per request (1-100, defaults to 20)`}))().optional(),cursor:I$2().optional().meta({examples:[`eyJpZCI6ImNwbl8wMWpwczVjZ3NmenMxa3NxYWV0NWhiYThhYyJ9`],description:`Pagination cursor returned by a previous request. Omit on the first request.`})}).meta({description:`Schema for listing coupons belonging to a specific team with optional filtering and pagination`}),eu=Q$1(zl,`coupons`),tu=U$2({coupon:zl}),nu=zl.omit({createdAt:true,updatedAt:true,teamId:true}).partial().extend({id:zl.shape.id.meta({examples:[E$1.Coupon.id],description:`Unique identifier of the coupon to update`}),saleEndsAt:X.nullable().optional().meta({examples:[E$1.Coupon.saleEndsAt],description:`Expiry time. Pass null to remove end date; omit to leave unchanged.`}),currency:I$2().regex(/^[A-Z]{3}$/).nullable().optional().meta({examples:[`AUD`,`USD`,`GBP`],description:`Three-letter ISO 4217 currency code. Pass null to clear; omit to leave unchanged.`})}).meta({description:`Schema for updating an existing coupon.`}),ru=U$2({id:Ms.readonly().meta({examples:[E$1.Location.id],description:`Location identifier`}),googlePlaceId:I$2().optional().meta({examples:[`ChIJP3Sa8ziYEmsRUKgyFmh9AQM`],description:`Google Place ID for this location`}),createdAt:N$1().meta({examples:[E$1.Location.createdAt],description:`Timestamp in ISO 8601 format when the location was created`}),updatedAt:N$1().meta({examples:[E$1.Location.updatedAt],description:`Timestamp in ISO 8601 format when the location was last updated`}),name:I$2().meta({examples:[E$1.Location.name],description:`Location name`}),address:I$2().meta({examples:[E$1.Location.address],description:`Formatted address`}),city:I$2().optional().meta({examples:[E$1.Location.city],description:`City name`}),state:I$2().optional().meta({examples:[E$1.Location.state],description:`State or region`}),postcode:I$2().optional().meta({examples:[E$1.Location.postcode],description:`Postal code`}),country:I$2().meta({examples:[E$1.Location.country],description:`Country name`}),latitude:z$2().min(-90).max(90).meta({examples:[E$1.Location.latitude],description:`Latitude coordinate`}),longitude:z$2().min(-180).max(180).meta({examples:[E$1.Location.longitude],description:`Longitude coordinate`}),timeZone:I$2().min(1).regex(/^[A-Za-z0-9_+-]+(\/[A-Za-z0-9_+-]+)*$/,{message:`Must be a valid IANA timezone identifier format`}).meta({examples:[E$1.Location.timeZone],description:`IANA timezone identifier (e.g., 'America/New_York', 'Europe/London', 'Australia/Sydney', 'UTC'). Must be validated against the IANA timezone database where used.`}),types:H$2(I$2()).optional().meta({examples:[[`establishment`,`point_of_interest`,`stadium`]],description:`Google Place types indicating the category and nature of this location`}),description:I$2().optional().meta({examples:[`Historic outdoor amphitheater known for summer concerts`],description:`AI-generated description of the place, when available`}),image:Y.optional().meta({description:`Primary location photo`}),venueId:js.optional().meta({description:`Venue identifier if this location is a managed venue on the platform`})}).meta({description:`Location with full details including coordinates and timezone`}),iu=U$2({id:I$2().readonly().meta({examples:[E$1.Section.id],description:`Unique identifier for the section`}),createdAt:N$1().readonly().meta({examples:[E$1.Section.createdAt],description:`Timestamp when the section was created in ISO 8601 format`}),updatedAt:N$1().readonly().meta({examples:[E$1.Section.updatedAt],description:`Timestamp when the section was last updated in ISO 8601 format`}),name:I$2().meta({examples:[E$1.Section.name],description:`Display name of the section (e.g., 'VIP Area', 'General Admission')`}),capacity:z$2().min(-1).prefault(-1).meta({examples:[E$1.Section.capacity],description:`Maximum number of attendees for this section. Use -1 for unlimited capacity`}),limit:z$2().min(-1).prefault(-1).refine(e=>e!==0,{message:`Limit cannot be 0. Use -1 for unlimited or a positive number for a specific limit`}).meta({examples:[E$1.Section.limit??-1],description:`Maximum number of tickets for this section that can be purchased in a single order. A value of -1 indicates unlimited`}),available:z$2().min(-1).readonly().meta({examples:[E$1.Section.available],description:`Number of tickets currently available for purchase in this section. Use -1 when capacity is unlimited`}),sold:z$2().min(0).readonly().meta({examples:[E$1.Section.sold],description:`Number of tickets sold for this section`}),reserved:z$2().readonly().meta({examples:[E$1.Section.reserved],description:`Number of tickets currently reserved (in pending orders) for this section`}),order:z$2().min(0).meta({examples:[E$1.Section.order],description:`Display order of the section. Lower numbers appear first in listings`}),location:ru.meta({description:`Physical location details for the section`}),teamId:I$2().meta({description:`Team that owns this section. Denormalized for efficient queries.`}),promoterId:I$2().meta({examples:[E$1.Section.promoterId],description:`Unique identifier of the promoter who owns this section`}),eventId:I$2().meta({examples:[E$1.Section.eventId],description:`Unique identifier of the event this section belongs to`}),eventSlug:I$2().meta({examples:[E$1.Section.eventSlug],description:`URL-friendly identifier of the event this section belongs to`})}).meta({description:`A section represents a distinct area or tier within an event venue with its own capacity and pricing`}),au=ru.omit({venueId:true}).extend({venue:U$2({id:js.meta({description:`Venue identifier`}),name:I$2().meta({description:`Venue name`}),slug:I$2().meta({description:`URL-friendly venue slug`}),teamId:I$2().meta({description:`Team that owns this venue`}),approval:q$1.meta({description:`Venue approval status`}),image:Y.optional().meta({description:`Venue image`}),description:I$2().optional().meta({description:`Venue description`})}).optional().meta({description:`Denormalized venue details if this location is a managed venue. Only included when venue is approved.`})}),ou=G$2([`UPCOMING`,`ENDED`]),cu=G$2([`PUBLIC`,`PRIVATE`,`SCHEDULED`,`PASSWORD`,`CANCELLED`]),uu=U$2({id:As.readonly().meta({examples:[E$1.Event.id],description:`A unique identifier for this event`}),createdAt:N$1().readonly().meta({examples:[E$1.Event.createdAt],description:`Timestamp in ISO 8601 format when this event was created`}),updatedAt:N$1().readonly().meta({examples:[E$1.Event.updatedAt],description:`Timestamp in ISO 8601 format when this event was last updated`}),name:I$2().meta({examples:[E$1.Event.name],description:`The title of the event shown to attendees`}),slug:I$2().meta({examples:[E$1.Event.slug],description:`URL-friendly identifier for the event`}),description:I$2().meta({examples:[E$1.Event.description],description:`Detailed description of the event`}),approval:q$1.meta({examples:[`APPROVED`],description:`Approval status of the event`}),status:ou.meta({examples:[`UPCOMING`,`ENDED`],description:`Current stage of the event lifecycle`}),visibility:cu.meta({examples:[`PUBLIC`],description:`Who can see the event`}),currency:I$2().regex(/^[A-Z]{3}$/).meta({examples:[`AUD`],description:`Three-letter ISO 4217 currency code used for ticket prices`}),url:mo().optional().meta({examples:[`https://example.com`],description:`External URL for the event website or ticket page`}),entryStartsAt:X.meta({examples:[E$1.Event.entryStartsAt],description:`Wall clock time when event entry begins (no timezone, displays same everywhere)`}),entryEndsAt:X.meta({examples:[E$1.Event.entryEndsAt],description:`Wall clock time when event entry ends (no timezone, displays same everywhere)`}),publishAt:X.meta({examples:[E$1.Event.publishAt],description:`Wall clock time when the event becomes publicly visible (no timezone)`}),images:U$2({mobile:Y.meta({description:`Mobile-optimized image for the event`}),desktop:Y.meta({description:`Desktop-optimized image for the event`})}),geohash:I$2().meta({examples:[E$1.Event.geohash],description:`Geohash representing the event location`}),location:au.meta({description:`Structured location details for the event`}),teamId:ks.meta({description:`Team that owns this event. Denormalized for efficient queries.`}),promoterId:Is.meta({examples:[E$1.Promoter.id],description:`Promoter organizing the event. Must belong to the team.`}),metadata:Xs}).meta({description:`event`}),du=uu.extend({sections:H$2(iu),admissions:H$2(Z)}),fu=U$2({event:du}),pu=uu.omit({id:true,teamId:true,createdAt:true,updatedAt:true,status:true,approval:true,geohash:true,location:true}).extend({slug:I$2().min(3).max(100).optional().meta({examples:[E$1.Event.slug],description:`URL-friendly slug for the event. If not provided, will be automatically generated from the name. Must be unique and between 3 and 100 characters`}),password:I$2().optional().meta({description:`Password for protected access to the event`}),locationId:Ms.optional().meta({examples:[`loc_01jqpjksnsen9vprw95et60t2m`],description:`ID of an existing location. Either locationId or googlePlaceId must be provided.`}),googlePlaceId:I$2().optional().meta({examples:[`ChIJN1t_tDeuEmsRUsoyG83frY4`],description:`Google Place ID to create a new location from. Either locationId or googlePlaceId must be provided.`})}).refine(e=>e.locationId||e.googlePlaceId,{message:`Either locationId or googlePlaceId must be provided`}),mu=U$2({key:I$2().min(1).meta({description:`Event key - either a unique ID (evt_xxx format) or URL-friendly slug`,examples:[E$1.Event.id,E$1.Event.slug]})}),hu=U$2({key:I$2().min(1).meta({description:`Event key - either a unique ID (evt_xxx format) or URL-friendly slug`,examples:[E$1.Event.id,E$1.Event.slug]}),password:I$2().optional().meta({description:`Password for accessing password-protected events`})}),gu=U$2({sold:z$2().min(0).meta({description:`Number of tickets sold`}),reserved:z$2().min(0).meta({description:`Number of tickets reserved`}),available:z$2().min(-1).meta({description:`Number of tickets available (-1 for unlimited)`}),capacity:z$2().min(-1).meta({description:`Total capacity (-1 for unlimited)`})}),_u=U$2({status:G$2([`UPCOMING`,`ENDED`]).optional().meta({examples:[`UPCOMING`],description:`Filter events by their current lifecycle status`}),approval:q$1.optional().meta({examples:[`APPROVED`],description:`Filter events by their approval status`}),visibility:G$2([`PUBLIC`,`PRIVATE`,`SCHEDULED`,`PASSWORD`]).optional().meta({examples:[`PUBLIC`],description:`Filter events by their visibility setting`}),promoterId:I$2().optional().meta({examples:[E$1.Promoter.id],description:`Filter events to only those belonging to a specific promoter. If not provided, returns events from all promoters the user has access to`}),teamId:I$2().optional().meta({description:`Filter events to only those belonging to a specific team. If not provided, returns events from all teams the user has access to`}),venueId:I$2().optional().meta({description:`Filter events to only those at a specific venue. If not provided, returns events at all venues`}),limit:K$1().min(1).max(100).prefault(20).meta({examples:[20],description:`Maximum number of events to return in each result set. Must be between 1 and 100, defaults to 20`}),cursor:I$2().optional().meta({examples:[`evt_01jps5cgsenjrazw6wswmyspa3`],description:`Cursor token for pagination. Provide the cursor from the previous response to continue fetching results`}),query:Ts().optional().meta({examples:[`Test Event`],description:`Search term to filter events by name, description, or location. Triggers full‑text search when provided`}),latitude:K$1().min(-90).max(90).optional().meta({examples:[E$1.Event.location.latitude],description:`Latitude coordinate for geographic search. Provide with longitude (and optional radius)`}),longitude:K$1().min(-180).max(180).optional().meta({examples:[E$1.Event.location.longitude],description:`Longitude coordinate for geographic search. Provide with latitude (and optional radius)`}),radius:K$1().optional().meta({examples:[20],description:`Search radius in kilometers from the provided coordinates. Defaults to 20km`}),from:I$2().date().optional().meta({examples:[`2024-01-01`],description:`Filter events that start on or after this date (YYYY-MM-DD format). Events with entryStartsAt >= from`}),to:I$2().date().optional().meta({examples:[`2024-12-31`],description:`Filter events that start on or before this date (YYYY-MM-DD format). Events with entryStartsAt <= to`})}).meta({description:`List events with filtering, full‑text search, geo queries, date range filtering, and cursor-based pagination`}),vu=_u,yu=Q$1(uu.extend({inventory:gu.optional()}),`events`),bu=U$2({event:uu}),xu=uu.omit({createdAt:true,updatedAt:true,promoterId:true,geohash:true,status:true,location:true}).partial().extend({key:I$2().meta({examples:[E$1.Event.id,E$1.Event.slug],description:`Event key - either a unique ID (evt_xxx format) or URL-friendly slug`}),password:I$2().nullable().optional().meta({description:`Password for protected access. Pass null to clear; omit to leave unchanged.`}),url:mo().nullable().optional().meta({examples:[`https://example.com/events/summer-festival-2025`],description:`External event URL. Pass null to clear; omit to leave unchanged.`}),locationId:Ms.optional().meta({examples:[`loc_01jqpjksnsen9vprw95et60t2m`],description:`ID of an existing location to update to. Either locationId or googlePlaceId can be provided.`}),googlePlaceId:I$2().optional().meta({examples:[`ChIJN1t_tDeuEmsRUsoyG83frY4`],description:`Google Place ID to update location from. Either locationId or googlePlaceId can be provided.`})}).meta({description:`Schema for updating an existing event.`}),Su=U$2({id:Ks.readonly().meta({description:`Unique identifier for the event collaborator`}),createdAt:N$1().readonly().meta({description:`Timestamp in ISO 8601 format when the collaborator was added`}),updatedAt:N$1().readonly().meta({description:`Timestamp in ISO 8601 format when the collaborator was last updated`}),eventId:As.meta({description:`Event this collaboration applies to`}),promoterId:Is.meta({description:`Promoter collaborating on the event`}),acceptedBy:Ns.meta({description:`User ID who accepted the invitation to collaborate`}),promoter:U$2({id:Is.meta({description:`Unique identifier of the promoter`}),name:I$2().meta({description:`Name of the promoter`}),teamId:ks.meta({description:`Team ID of the promoter`})}).optional().meta({description:`Populated promoter details. Only included when explicitly requested.`}),permissions:$s.meta({description:`Permissions granted to this collaborator. User must have permission in BOTH this grant AND their team membership (intersection).`,examples:[[`EVENT`,`ORDER`],[`FULL`],[`SCANNING`]]}),tenantId:I$2().readonly().meta({description:`Tenant ID for multi-tenant isolation`})}).meta({description:`Active event collaborator. Created when a promoter accepts an invitation or is directly added to an event. Hard deleted when removed.`}),Cu=Su.pick({id:true,eventId:true}).meta({description:`Schema for accepting an event promoter collaboration invitation. User accepting must be a member of the invited promoter's team.`}),wu=U$2({id:Ks.readonly().meta({description:`Unique identifier for the event collaboration invitation`}),createdAt:N$1().readonly().meta({description:`Timestamp in ISO 8601 format when the invitation was created`}),updatedAt:N$1().readonly().meta({description:`Timestamp in ISO 8601 format when the invitation was last updated`}),eventId:As.meta({description:`Event this invitation applies to`}),promoterId:Is.meta({description:`Promoter being invited to collaborate on the event.`}),invitedByPromoterId:Is.meta({description:`Promoter who sent this invitation (event owner or collaborator with permission).`}),permissions:$s.meta({description:`Permissions the promoter will receive upon accepting the invitation.`,examples:[[`EVENT`,`ORDER`],[`FULL`],[`SCANNING`]]}),token:I$2().readonly().meta({description:`Secure token for invite acceptance. Required to accept the invitation.`}),invitedBy:Ns.meta({description:`User ID who sent the invitation`}),expiresAt:z$2().int().positive().meta({description:`Unix timestamp (seconds) for DynamoDB TTL. Invitation will be automatically deleted after 7 days.`}),tenantId:I$2().readonly().meta({description:`Tenant ID for multi-tenant isolation`})}).meta({description:`Pending event collaborator invitation. Automatically deleted after 7 days via DynamoDB TTL. When accepted, creates an EventCollaborator record and deletes the invitation.`}),Tu=wu.omit({id:true,tenantId:true,createdAt:true,updatedAt:true,token:true,expiresAt:true,invitedByPromoterId:true}).meta({description:`Schema for inviting a promoter to collaborate on an event. Creates a pending invitation that the promoter can accept.`}),Eu=U$2({eventId:As.meta({description:`Event ID that the collaboration belongs to`}),id:Ks.meta({description:`Event team access grant ID to retrieve`})}),Du=U$2({eventId:I$2().meta({description:`Event ID to list collaborators for`}),accessPromoterId:I$2().optional().meta({description:`DEPRECATED: Use 'promoterId' instead. Filter by collaborating promoter ID (what events can this promoter access). Maintained for backward compatibility.`}),ownerPromoterId:I$2().optional().meta({description:`DEPRECATED: No longer used. Maintained for backward compatibility only.`}),limit:(()=>K$1().min(1).max(100).prefault(20).meta({description:`Maximum number of event promoter access grants to return (1-100, defaults to 20)`}))(),cursor:I$2().optional().meta({description:`Pagination cursor from previous response. Used to fetch next page of results`})}).meta({description:`Query parameters for listing active event collaborations with pagination and filtering. Only returns accepted collaborations (not pending invitations). Use invite endpoints for pending invitations.`}),Ou=Q$1(Su,`grants`),ku=U$2({description:I$2(),terms:H$2(U$2({value:I$2(),offset:z$2()})),matchedSubstrings:H$2(U$2({offset:z$2(),length:z$2()})),structuredFormatting:U$2({mainText:I$2(),mainTextMatchedSubstrings:H$2(U$2({offset:z$2(),length:z$2()})).optional(),secondaryText:I$2().optional(),secondaryTextMatchedSubstrings:H$2(U$2({offset:z$2(),length:z$2()})).optional()}).optional(),placeId:I$2().optional(),types:H$2(I$2()).optional()}),Au=U$2({predictions:H$2(ku)}),ju=Io(),Mu=U$2({query:I$2().meta({description:`Search text to autocomplete`}),country:I$2().optional().meta({description:`Optional country code for restricting results`})}),Nu=U$2({placeId:I$2().meta({examples:[`ChIJP3Sa8ziYEmsRUKgyFmh9AQM`],description:`Unique identifier for a place from Google Places API. Used to retrieve detailed information including timezone data. This ID is obtained from the autocomplete endpoint and is required to fetch comprehensive place details.`})}),Pu=U$2({file:Io().describe(`Image file to upload (max 10MB)`),folder:G$2([`avatars`,`events`,`teams`,`promoters`,`venues`]).describe(`Folder to upload to`),width:K$1().int().positive().optional().describe(`Target width in pixels`),height:K$1().int().positive().optional().describe(`Target height in pixels`)}),Fu=Y,Iu=U$2({key:I$2().min(1).meta({description:`Location key - either a location ID (loc_xxx format) or provider-specific identifier (e.g., Google Place ID)`,examples:[E$1.Location.id,`ChIJP3Sa8ziYEmsRUKgyFmh9AQM`]})}),Lu=U$2({query:I$2().min(1).meta({examples:[`sydney opera`],description:`Search query for location search`}),latitude:K$1().min(-90).max(90).optional().meta({examples:[E$1.Location.latitude],description:`User's latitude for proximity-based results (optional for better relevance)`}),longitude:K$1().min(-180).max(180).optional().meta({examples:[E$1.Location.longitude],description:`User's longitude for proximity-based results (optional for better relevance)`})}).meta({description:`Parameters for searching locations`}),Ru=U$2({googlePlaceId:I$2().meta({examples:[`ChIJP3Sa8ziYEmsRUKgyFmh9AQM`],description:`Google Place ID for this location`}),name:I$2().meta({examples:[E$1.Location.name],description:`Primary name of the location`}),description:I$2().meta({examples:[E$1.Location.address],description:`Full formatted address`}),venue:U$2({id:js.meta({examples:[E$1.Venue.id],description:`Venue ID if this location is a managed venue`}),name:I$2().meta({examples:[E$1.Venue.name],description:`Venue name`}),teamId:I$2().meta({description:`Team that manages this venue`}),image:Y.optional().meta({description:`Primary venue image`})}).optional().meta({description:`Present if this location is a managed venue on the platform`})}).meta({description:`Single location search result with optional venue overlay`}),zu=U$2({predictions:H$2(Ru).meta({description:`Array of location predictions`})}).meta({description:`Response containing location search results`}),Bu=U$2({id:I$2().meta({examples:[E$1.CouponCode.id],description:`Unique identifier of the coupon code used in the order`}),name:I$2().meta({examples:[E$1.CouponCode.name],description:`The coupon code string that was entered by the customer`}),couponId:I$2().meta({examples:[E$1.CouponCode.couponId],description:`Unique identifier of the parent coupon configuration`})}),Vu=U$2({id:I$2().meta({examples:[E$1.Customer.id],description:`Unique identifier of the customer who placed the order`}),firstName:I$2().meta({examples:[E$1.Customer.firstName],description:`First name of the customer`}),lastName:I$2().meta({examples:[E$1.Customer.lastName],description:`Last name of the customer`}),email:R$2().meta({examples:[E$1.Customer.email],description:`Email address of the customer`}),phone:I$2().meta({examples:[E$1.Customer.phone],description:`Phone number of the customer`}).optional()}),Hu=U$2({id:I$2().meta({examples:[E$1.Event.id],description:`Unique identifier of the event associated with the order`}),name:I$2().meta({examples:[E$1.Event.name],description:`Display name of the event`}),slug:I$2().meta({examples:[E$1.Event.slug],description:`URL-friendly slug of the event`}),location:I$2().meta({examples:[E$1.Event.location.name],description:`Name of the venue or location where the event takes place`}).optional()}),Uu=U$2({id:I$2().meta({examples:[E$1.OrderFee.id],description:`Unique identifier for this order fee`}),createdAt:N$1().readonly().meta({examples:[E$1.OrderFee.createdAt],description:`Timestamp in ISO 8601 format when this fee was created`}),reason:I$2().meta({examples:[E$1.OrderFee.reason],description:`Description explaining why this fee was applied to the order`}),amount:z$2().finite(`Amount must be a valid number`).meta({examples:[E$1.OrderFee.amount],description:`Fee amount in cents (positive value indicates charge to customer, negative value indicates credit or discount)`}),currency:I$2().regex(/^[A-Z]{3}$/,`Currency must be a valid 3-letter ISO-4217 code`).meta({examples:[E$1.OrderFee.currency],description:`Currency code in ISO 4217 format`}),requestId:I$2().meta({examples:[E$1.OrderFee.requestId],description:`External payment processor request identifier for tracking this fee`})});let Wu;(function(e){let{Tenant:t,Team:n,TeamMember:r,TeamInvite:i,Venue:a,User:o,Session:s,EmailVerification:c,PasswordReset:l,Promoter:u,PromoterMember:d,CurrentSession:f,Event:p,DetailedEvent:ee,Location:te,Section:ne,Admission:m,Beneficiary:re,AirwallexBeneficiary:ie,Coupon:ae,CouponCode:oe,AmountCoupon:se,AmountCouponCode:ce,Customer:h,Payout:le,Order:ue,OrderItem:de,OrderFee:fe,Ticket:pe}=E$1;e.Tenant=t,e.Team=n,e.TeamMember=r,e.TeamInvite=i,e.Venue=a,e.User=o,e.Session=s,e.EmailVerification=c,e.PasswordReset=l,e.Promoter=u,e.PromoterMember=d,e.CurrentSession=f,e.Event=p,e.DetailedEvent=ee,e.Location=te,e.Section=ne,e.Admission=m,e.Beneficiary=re,e.AirwallexBeneficiary=ie,e.Coupon=ae,e.CouponCode=oe,e.AmountCoupon=se,e.AmountCouponCode=ce,e.Customer=h,e.Payout=le,e.Order=ue,e.OrderItem=de,e.OrderFee=fe,e.Ticket=pe,e.JayUser={...o,id:`usr_01k5hbpkfje048zccqmqfhjpep`,email:`j@1f.io`,firstName:`Jay`,lastName:`McMullen`};let me=e.TestUser={id:`usr_01k5wcss3gf24advd4av43s96m`,email:`test@e2e.session.services`,firstName:`Test`,lastName:`User`,createdAt:`2025-09-23T22:58:37.808Z`,updatedAt:`2025-09-23T22:58:37.808Z`,tenantId:`tnt_01jqpj2t2kfvmstt6f6tzkbaf2`};e.TestPromoterMember={id:`mbr_01k6s0t3f3f6cak0066dy5n1dm`,createdAt:`2025-10-05T01:47:04.035Z`,updatedAt:`2025-10-05T01:47:04.035Z`,teamId:n.id,userId:me.id,user:me,permissions:[`FULL`],isOwner:false,tenantId:t.id},e.SystemUser={...o,id:`usr_01jps5cgsgn1ee4txxn0fz81f2`,email:`system@session.services`,firstName:`Session`,lastName:`Services`},e.DeletedAdmission={...m,id:`adm_01jps5cgsg63gr2s1g2d87cqfy`,deletedAt:new Date().toISOString(),deleted:true},e.SoloAdmission={...m,id:`adm_01jpsf2h7r4z8kmd9x1q3w4vty`,name:`Solo Admission`,sectionId:void 0},e.DeletedCoupon={...ae,id:`cpn_01jps5cgsgzxf6xvmx3dnt9h1p`,couponId:`cpn_01jps5cgsgzxf6xvmx3dnt9h1p`,deletedAt:new Date().toISOString(),deleted:true},e.DeletedCouponCode={...oe,id:`cod_01jps5cgsg7ep2gvwzghp1ppv6`,deletedAt:new Date().toISOString(),deleted:true},e.DeletedSection={...ne,id:`sct_01jps5cgsgy7681swwcvf01wxh`,deletedAt:new Date().toISOString(),deleted:true},e.DeletedEvent={...p,id:`evt_01jps5cgsg8pyd64pc89tcbg9j`,slug:`deleted-event`,name:`Deleted Event`,deletedAt:new Date().toISOString(),deleted:true},e.PastEvent={...p,id:`evt_01jqqt1ztw4676fdrr27z7de1c`,status:`ENDED`,createdAt:new Date(2020,1,1).toISOString(),updatedAt:new Date(2020,1,1).toISOString(),publishAt:T$1(new Date(2020,1,1)),entryStartsAt:T$1(new Date(2020,1,1)),entryEndsAt:T$1(new Date(2020,1,2)),slug:`past-event`,name:`Past Event`},e.CancelledEvent={...p,id:`evt_01jt0tfntmfk1sgn72q8c02v7a`,status:`CANCELLED`,createdAt:new Date(2020,1,1).toISOString(),updatedAt:new Date(2020,1,1).toISOString(),publishAt:T$1(new Date(2020,1,1)),entryStartsAt:T$1(new Date(2020,1,1)),entryEndsAt:T$1(new Date(2020,1,2)),slug:`cancelled-event`,name:`Cancelled Event`},e.DeletedPromoter={...u,id:`pmt_01jps5cgsg4xem309j6sxj01aw`,slug:`deleted-promoter`,name:`Deleted Promoter`,deletedAt:new Date().toISOString(),deleted:true},e.DeletedPromoterMember={...d,userId:Wu.User.id,user:Wu.User,id:`mbr_01jpwzceh3zvab64kwq633q4cc`},e.ExpiredOrder={...ue,id:`ord_01jq0xwysx1hzs3wqt2fns4578`,token:`c76e3a5d7105345b58e383e6d90fe7728b75f938b727f0b9ecc5b977e8c3b5d0`,status:`PENDING`,createdAt:new Date(2020,1,1).toISOString(),updatedAt:new Date(2020,1,1).toISOString()},e.AbandonedOrder={...ue,id:`ord_01jq0xdzwsfjpd329r8gv3txr2`,token:`c76e3a5d7105345b58e383e6d90fe7728b75f938b727f0b9ecc5b977e8c3b5d0`,status:`ABANDONED`,createdAt:new Date(2020,1,1).toISOString(),updatedAt:new Date(2020,1,1).toISOString()},e.ProcessingOrder={...ue,id:`ord_01jq289n4kcz2tnre24x3v2get`,token:`c76e3a5d7105345b58e383e6d90fe7728b75f938b727f0b9ecc5b977e8c3b5d0`,status:`PROCESSING`,customer:E$1.Customer,customerId:E$1.Customer.id},e.FreeAdmission={...m,id:`adm_01jpykjbrdgy8jxmz57hmampww`,price:{base:0,booking:0,currency:`AUD`}},e.SoldOutAdmission={...m,id:`adm_01jps5cgse6m3567vzvk69hkrm`,name:`First Release`,capacity:100,available:0,sold:100,reserved:0},e.UnlimitedAdmission={...m,id:`adm_01jsr09narf6d83vyk3hs8q9cf`,name:`First Release`,capacity:-1,available:-1,sold:100,reserved:0},e.UnlimitedSection={id:`sct_01jsr09narf6d83vytx3cng55e`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),teamId:n.id,promoterId:u.id,eventId:p.id,eventSlug:p.slug,name:`Sold Out Section`,capacity:-1,limit:-1,available:-1,sold:200,reserved:0,order:0,location:te,tenantId:t.id};let he=e.SoldOutSection={id:`sct_01jq1rcqbkzqbbakgwy8ptpmvq`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),teamId:n.id,promoterId:u.id,eventId:p.id,eventSlug:p.slug,name:`Sold Out Section`,capacity:200,limit:-1,sold:200,available:0,reserved:0,order:0,location:te,tenantId:t.id};e.SoldOutSectionAdmission={...m,sectionId:he.id,id:`adm_01jq1rcjah79628zsafg3k8wyz`,name:`First Release`,capacity:100,available:100,sold:0,reserved:0,order:0};let ge=e.MaxReservedSection={id:`sct_01jq1rcqbkzrkea9ng8e4kngvq`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),teamId:n.id,promoterId:u.id,eventId:p.id,eventSlug:p.slug,name:`Max Reserved Section`,capacity:200,limit:-1,sold:0,available:0,reserved:200,location:te,tenantId:t.id,order:0};e.MaxReservedAdmission={...m,id:`adm_01jq1rcqbk5s86df68xvz66fh4`,name:`First Release`,capacity:100,available:0,sold:0,reserved:100},e.MaxReservedSectionAdmission={...m,sectionId:ge.id,id:`adm_01jq1rcqbkhkxq67e9rs8rpngt`,name:`First Release`,capacity:100,available:100,sold:0,reserved:0},e.SessionsBeneficiary={...re,id:`ben_01jps5cgse5n6mg1ymkew9tsss`,promoterId:`pmt_01jqpjksnsen9vprw95et60t2m`},e.AnotherBeneficiary={...re,id:`ben_01jpsbxdthxadywamz2yj4zt75`,currency:`USD`,name:`Another Bank Account`},e.AnotherSection={...ne,id:`sct_01jps5cgsg3spk97pwwp4352z9`},e.AnotherEvent={...p,id:`evt_01jps5cgsgkegpptzf3dsmkbpy`,slug:`another-event`,name:`Another Event`,visibility:`PUBLIC`},e.AnotherCouponCode={...oe,name:`ANOTHER`,id:`cod_01jps5cgsghcvnjsf5nax5d7z7`},e.PrivateEvent={...p,id:`evt_01jps5cgsgavb91qw967y3d64f`,slug:`private-event`,name:`Private Event`,visibility:`PRIVATE`},e.PendingEvent={...p,id:`evt_01jps5cgsh7mpevnq8pngdqs8q`,slug:`pending-event`,name:`Pending Event`,approval:`PENDING`};let _e=e.WrongUser={id:`usr_01jps5cgshwa2sts0fj53pksk0`,email:`wrong@session.services`,firstName:`Wrong`,lastName:`User`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),tenantId:t.id},ve=e.WrongTeam={id:`tem_01jps5cgshfgkvmjhfkev542en`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Wrong Team`,slug:`wrong-team`,description:`This is the wrong team...`,type:`PROMOTER`,tenantId:`tnt_01jqpj2t2kfvmstt6f6tzkbaf2`},g=e.WrongPromoter={id:`pmt_01jps5cgshfgkvmjhfkev542en`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Wrong Promoter`,slug:`wrong-promoter`,description:`This is the wrong promoter...`,payoutFrequency:`AFTER_EVENT`,image:{src:`https://assets.session.services/icon-bg.png`,alt:`Session Services Logo`,width:800,height:800},approval:`APPROVED`,type:`PROMOTER`,teamId:ve.id,geohash:`r3gx1`,location:{id:`loc_01jps5cgshfgkvmjhfkev542ep`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Sydney`,address:`Sydney NSW 2000, Australia`,city:`Sydney`,state:`New South Wales`,postcode:`2000`,country:`Australia`,latitude:-33.8688,longitude:151.2093,timeZone:`Australia/Sydney`},tracking:{fbId:`485739562847563`,gtmId:`GTM-K8WPM5N`,tikTokId:`BQCKPH3RC77U8GPMLJ5G`},tenantId:`tnt_01jqpj2t2kfvmstt6f6tzkbaf2`};e.WrongPromoterMember={id:`mbr_01jps5cgsec5ge0b1bxa6gzkkk`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),promoterId:g.id,userId:_e.id,user:{id:_e.id,email:_e.email,firstName:_e.firstName,lastName:_e.lastName},permissions:[`FULL`],tenantId:t.id};let _=e.WrongEvent={id:`evt_01jps5cgshm2v14zzykna678fd`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Wrong Event`,slug:`wrong-event`,description:`This is the wrong event...`,approval:`APPROVED`,status:`UPCOMING`,visibility:`PUBLIC`,currency:`AUD`,entryStartsAt:T$1(w$1(new Date,1)),entryEndsAt:T$1(w$1(new Date,2)),publishAt:T$1(new Date),images:{mobile:{src:`https://assets.session.services/event-mobile.jpg`,alt:`Mobile Event Image`,width:1080,height:1350},desktop:{src:`https://assets.session.services/event-desktop.jpg`,alt:`Desktop Event Image`,width:1920,height:1080}},geohash:`r3gx1`,location:{id:`loc_01jps5cgshm2v14zzykna678fe`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Watson's EQ`,address:`The, Entertainment Quarter, 1 Bent St, Moore Park NSW 2021, Australia`,city:`Moore Park`,state:`New South Wales`,postcode:`2021`,country:`Australia`,latitude:-33.8944593,longitude:151.2252255,timeZone:`Australia/Sydney`,image:{src:`https://assets.session.services/locations/watsons-eq.jpg`,alt:`Watson's EQ`,width:1200,height:800}},teamId:ve.id,promoterId:g.id,tenantId:t.id},ye=e.WrongSection={id:`sct_01jps5cgsh6asm2d0ghfqq6br2`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),teamId:ve.id,promoterId:g.id,eventId:_.id,eventSlug:_.slug,name:`Wrong Admission`,capacity:200,limit:-1,available:200,reserved:0,order:0,sold:0,location:te,tenantId:t.id},v=e.WrongAdmission={id:`adm_01jps5cgshfggkvmjhfkevy5en`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),sectionId:ye.id,teamId:ve.id,promoterId:g.id,eventId:_.id,eventSlug:_.slug,name:`Wrong Release`,capacity:100,limit:-1,available:100,entryStartsAt:T$1(w$1(new Date,1)),entryEndsAt:T$1(w$1(new Date,2)),saleStartsAt:T$1(new Date),saleEndsAt:T$1(w$1(new Date,2)),price:{base:1e3,booking:200,currency:`AUD`},tenantId:t.id};e.ExpiredAdmission={...m,id:`adm_01jq6cazzbswynyvg8d0hpx1n5`,entryStartsAt:T$1(new Date(2020,0,1)),entryEndsAt:T$1(w$1(new Date(2020,0,1),2))};let be=e.WrongBeneficiary={id:`ben_01jps5cgshfgnzwvcyck0y4sdg`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`My Bank Account`,currency:`AUD`,gatewayId:`ben_12345abcde67890`,gateway:`AIRWALLEX`,assignment:`PROMOTER`,teamId:ve.id,promoterId:g.id,tenantId:t.id},xe=e.WrongCoupon={id:`cpn_01jps5cgsh4fy01mvwvzn7xbc9`,couponId:`cpn_01jps5cgsh4fy01mvwvzn7xbc9`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Wrong Price`,active:true,kind:`PERCENT`,filter:`TEAM`,currency:`AUD`,discount:50,uses:0,limit:-1,saleStartsAt:T$1(new Date(2025,1,10,3,0,0)),saleEndsAt:void 0,deletedAt:void 0,teamId:ve.id,tenantId:t.id},Se=e.WrongCouponCode={id:`cod_01jps5cgsh2hevcp6av50kbgyf`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),active:true,name:`WRONG`,tenantId:t.id,couponId:xe.id,teamId:ve.id},Ce=e.WrongPayout={id:`pyt_01jps5cgshynssderz1k0fd7z3`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),paidAt:new Date().toISOString(),structure:`default`,items:{tickets:{beneficiaryId:be.id,feeAmount:0,feeCurrency:`AUD`,transferAmount:1e3,transferCurrency:`AUD`},sessions:{beneficiaryId:be.id,feeAmount:0,feeCurrency:`AUD`,transferAmount:650,transferCurrency:`AUD`}},eventId:_.id,teamId:ve.id,promoterId:g.id},we=e.WrongOrder={id:`ord_01jps5cgshxhcpy2djnr8e04s3`,token:`51126f93491f3bda92235ade2d87baec7935610e52b64d4252a3c721dfc6016a`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),status:`PENDING`,payment:{method:`FREE`},price:{total:0,base:0,booking:0,discount:0,processor:0,currency:`AUD`},code:{id:Se.id,name:Se.name},customer:h,teamId:ve.id,promoterId:g.id,eventId:_.id,paymentId:``,payoutIds:[Ce.id]},Te=e.WrongOrderItem={id:`itm_01jps5cgsh14bjvyywkvt6f37e`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),orderId:we.id,kind:`ADMISSION`,quantity:2,admissionId:v.id,price:{base:v.price.base,booking:v.price.booking,discount:0,currency:v.price.currency}};e.WrongOrderFee={id:`fee_01jps5cgshgebpv67sppjfrgb8`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),orderId:we.id,reason:`Gateway Fee`,amount:-30,currency:`AUD`,requestId:`att_sgpdz4v2ph1axmdmdx8_m8w6qv`},e.WrongTicket={id:`tkt_01jps5cgsh51kzg7534pzap7gk`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),status:`REDEEMED`,scans:[],token:`a1b2c3d4e5f6789012345678901234567890123456789012345678901234abcd`,attendee:{email:h.email,firstName:h.firstName,lastName:h.lastName},event:{id:_.id,name:_.name,slug:_.slug,location:_.location,entryStartsAt:_.entryStartsAt,entryEndsAt:_.entryEndsAt,images:_.images},admission:{id:v.id,name:v.name,price:v.price,entryStartsAt:v.entryStartsAt,entryEndsAt:v.entryEndsAt},eventId:_.id,customerId:h.id,orderId:we.id,orderItemId:Te.id,admissionId:Te.admissionId,teamId:ve.id,promoterId:g.id,promoterSlug:g.slug,tenantId:t.id},e.AnotherTicket={...pe,id:`tkt_01jq6v4gmad9m28kzw8g8910jw`},e.ExpiredTicket={id:`tkt_01jps5cgsh51kzg7534pzap7gk`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),status:`REDEEMED`,scans:[],token:`e1f2a3b4c5d6789012345678901234567890123456789012345678901234efab`,attendee:{email:h.email,firstName:h.firstName,lastName:h.lastName},event:{id:_.id,name:_.name,slug:_.slug,location:_.location,entryStartsAt:_.entryStartsAt,entryEndsAt:_.entryEndsAt,images:_.images},admission:{id:v.id,name:v.name,price:v.price,entryStartsAt:v.entryStartsAt,entryEndsAt:v.entryEndsAt},eventId:_.id,customerId:h.id,orderId:we.id,orderItemId:Te.id,admissionId:Te.admissionId,promoterId:g.id,promoterSlug:g.slug,tenantId:t.id},e.UpcomingPayout={...le,id:`pyt_01jq9cvaxvatez34jmwn11rzt8`,status:`UPCOMING`,transfers:[],deductions:[]};let y=e.MixmagTenant={id:`tnt_01hk153x00en6tvgwwwhn8xj1p`,oldId:`p8npi2s3t24arpunzp2e7dzaq`,name:`Mixmag ANZ`,slug:`mixmag-anz`,email:`hello@mixmag.net.au`,adminTeamId:`tem_01hr9kk2pgez2s8jzb3gs5nwsf`,legacyTenantsToTeams:{clhvrnqph0000m9rq039hkw7s:`tem_01k5sashm1xmaganzteam0001`,"6kh3sj8ih5tvg927rz5elm90o":`tem_01k6blankm1xmaganzteam002`,vc8vrjrv5arhabnk8ainx0ycb:`tem_01k7prowlm1xmaganzteam003`,clkwbixsi0000m9coi7i5b65z:`tem_01k8crousm1xmaganzteam004`},defaultCurrency:`AUD`,baseUrl:{dev:`http://mixmag-au.local:3000`,production:`https://mixmag-anz.app.session.services`},logo:{icon:{src:`https://assets.session.services/icon-bg.png`,width:29,height:29},email:{src:`https://assets.session.services/icon-bg.png`,width:165,height:76},website:{src:`https://assets.session.services/icon-bg.png`,width:165,height:76},qr:{src:`https://assets.session.services/tenants/mixmag-anz/qr.svg`}},favicon:`https://assets.session.services/tenants/mixmag-anz/favicon.svg`},Ee=e.MixmagUser={id:`usr_01jps5cgsmh2d4ez6xz2t23fsf`,email:`mixmag@session.services`,firstName:`Mixmag`,lastName:`User`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),tenantId:y.id},De=e.MixmagTeam={id:`tem_01hr9kk2pgez2s8jzb3gs5nwsf`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Mixmag Team`,slug:`mixmag-team`,description:`This is Mixmag team...`,type:`PROMOTER`,tenantId:`tnt_01jqpj2t2kfvmstt6f6tzkbaf2`},b=e.MixmagPromoter={id:`pmt_01hr9kk2pgez2s8jzb3gs5nwsf`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),payoutFrequency:`AFTER_EVENT`,name:`Mixmag Promoter`,slug:`mixmag-promoter`,description:`This is Mixmag...`,image:{src:`https://assets.session.services/icon-bg.png`,alt:`Session Services Logo`,width:800,height:800},approval:`APPROVED`,type:`PROMOTER`,geohash:`r3gx1`,location:{id:`loc_01hr9kk2pgez2s8jzb3gs5nwsg`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Mixmag`,address:`169 Oxford St, Darlinghurst NSW 2010, Australia`,city:`Darlinghurst`,state:`New South Wales`,postcode:`2010`,country:`Australia`,latitude:-33.8774,longitude:151.2196,timeZone:`Australia/Sydney`},tracking:{fbId:`485739562847563`,gtmId:`GTM-K8WPM5N`,tikTokId:`BQCKPH3RC77U8GPMLJ5G`},teamId:De.id,tenantId:`tnt_01jqpj2t2kfvmstt6f6tzkbaf2`},Oe=e.MixmagSashPromoter={id:`pmt_01jps5cgsm15cfwrtat68b2vq5`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),payoutFrequency:`WEEKLY`,name:`SASH Mixmag Promoter`,slug:`sash-mixmag-promoter`,description:`This is SASH on Mixmag...`,image:{src:`https://assets.session.services/icon-bg.png`,alt:`Session Services Logo`,width:800,height:800},approval:`APPROVED`,type:`PROMOTER`,geohash:`r3gx1`,location:{id:`loc_01jps5cgsm15cfwrtat68b2vq6`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Mixmag`,address:`169 Oxford St, Darlinghurst NSW 2010, Australia`,city:`Darlinghurst`,state:`New South Wales`,postcode:`2010`,country:`Australia`,latitude:-33.8774,longitude:151.2196,timeZone:`Australia/Sydney`},tracking:{fbId:`485739562847563`,gtmId:`GTM-K8WPM5N`,tikTokId:`BQCKPH3RC77U8GPMLJ5G`},tenantId:y.id};e.MixmagPromoterMember={id:`mbr_01jps5cgsmk2femegmakpgrjdq`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),promoterId:b.id,promoterSlug:b.slug,userId:Ee.id,user:{id:Ee.id,email:Ee.email,firstName:Ee.firstName,lastName:Ee.lastName},permissions:[`FULL`],tenantId:y.id};let x=e.MixmagEvent={id:`evt_01jps5cgsmwksmhse1gr2jrq7x`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Mixmag Event`,slug:`wrong-event`,description:`This is the wrong event...`,approval:`APPROVED`,status:`UPCOMING`,visibility:`PUBLIC`,currency:`AUD`,entryStartsAt:T$1(w$1(new Date,1)),entryEndsAt:T$1(w$1(new Date,2)),publishAt:T$1(new Date),images:{mobile:{src:`https://assets.session.services/event-mobile.jpg`,alt:`Mobile Event Image`,width:1080,height:1350},desktop:{src:`https://assets.session.services/event-desktop.jpg`,alt:`Desktop Event Image`,width:1920,height:1080}},geohash:`r3gx1`,location:{id:`loc_01jps5cgsmkp1bdr7hgfmmhr4e`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Mixmag`,address:`169 Oxford St, Darlinghurst NSW 2010, Australia`,city:`Darlinghurst`,state:`New South Wales`,postcode:`2010`,country:`Australia`,latitude:-33.8774,longitude:151.2196,timeZone:`Australia/Sydney`},teamId:De.id,promoterId:b.id,tenantId:y.id},ke=e.MixmagSashEvent={id:`evt_01kb1ve66keh4rntf96rq5wpk2`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Mixmag SASH Event`,slug:`mixmag-sash-event`,description:`This is a sash on mixmag event...`,approval:`APPROVED`,status:`UPCOMING`,visibility:`PUBLIC`,currency:`AUD`,entryStartsAt:T$1(w$1(new Date,1)),entryEndsAt:T$1(w$1(new Date,2)),publishAt:T$1(new Date),images:{mobile:{src:`https://assets.session.services/event-mobile.jpg`,alt:`Mobile Event Image`,width:1080,height:1350},desktop:{src:`https://assets.session.services/event-desktop.jpg`,alt:`Desktop Event Image`,width:1920,height:1080}},geohash:`r3gx1`,location:{id:`loc_01jps5cgsm7qxvh6watsons0eq`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Watson's EQ`,address:`The, Entertainment Quarter, 1 Bent St, Moore Park NSW 2021, Australia`,city:`Moore Park`,state:`New South Wales`,postcode:`2010`,country:`Australia`,latitude:-33.8944593,longitude:151.2252255,timeZone:`Australia/Sydney`},teamId:De.id,promoterId:b.id,tenantId:y.id},Ae=e.MixmagSection={id:`sct_01jps5cgsmhrfxjn18y9bfdqc2`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),teamId:De.id,promoterId:b.id,eventId:x.id,eventSlug:x.slug,name:`Mixmag Admission`,capacity:200,limit:-1,available:200,reserved:0,order:0,sold:0,location:te,tenantId:y.id},S=e.MixmagAdmission={id:`adm_01jps5cgsmbepdasrtxvh9xa0k`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),sectionId:Ae.id,teamId:De.id,promoterId:b.id,eventId:x.id,eventSlug:x.slug,name:`Mixmag Release`,capacity:100,limit:-1,available:100,entryStartsAt:T$1(w$1(new Date,1)),entryEndsAt:T$1(w$1(new Date,2)),saleStartsAt:T$1(new Date),saleEndsAt:T$1(w$1(new Date,2)),price:{base:1e3,booking:200,currency:`AUD`},tenantId:y.id};e.MixmagSashAdmission={id:`adm_01jps5cgsm5c3scpdyf25bhntd`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),promoterId:Oe.id,eventId:ke.id,eventSlug:ke.slug,name:`Final Release`,capacity:100,limit:-1,available:100,entryStartsAt:T$1(w$1(new Date,1)),entryEndsAt:T$1(w$1(new Date,2)),saleStartsAt:T$1(new Date),saleEndsAt:T$1(w$1(new Date,2)),price:{base:1e3,booking:200,currency:`AUD`},tenantId:y.id};let je=e.MixmagBeneficiary={id:`ben_01jps5cgsmgxsdv4nxjk51s5by`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`My Bank Account`,currency:`AUD`,gatewayId:`ben_12345abcde67890`,gateway:`AIRWALLEX`,assignment:`PROMOTER`,teamId:De.id,promoterId:b.id,tenantId:y.id},Me=e.MixmagCoupon={id:`cpn_01kb1vvpa0ecrbpyh2j5mvzdp9`,couponId:`cpn_01kb1vvpa0ecrbpyh2j5mvzdp9`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Mixmag Price`,active:true,kind:`PERCENT`,filter:`TEAM`,currency:`AUD`,discount:50,uses:0,limit:-1,saleStartsAt:T$1(new Date(2025,1,10,3,0,0)),saleEndsAt:void 0,deletedAt:void 0,teamId:De.id,tenantId:y.id},Ne=e.MixmagCouponCode={id:`cod_01jps5cgsmc53405wk7t2v8ka7`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),active:true,name:`MIXMAG`,tenantId:y.id,couponId:Me.id,teamId:De.id},Pe=e.MixmagPayout={id:`pyt_01jps5cgsmx1x39hnrmvvtcets`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),paidAt:new Date().toISOString(),structure:`default`,items:{tickets:{beneficiaryId:je.id,feeAmount:0,feeCurrency:`AUD`,transferAmount:1e3,transferCurrency:`AUD`},sessions:{beneficiaryId:je.id,feeAmount:0,feeCurrency:`AUD`,transferAmount:650,transferCurrency:`AUD`}},eventId:x.id,promoterId:b.id},Fe=e.MixmagOrder={id:`ord_01jps5cgsmtxt8e0985tstqe5h`,token:`16a761b251a2368027c6c08453eca1a97f7e7fcbf714b789c8aa96033d199b90`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),status:`PENDING`,payment:{method:`FREE`},price:{total:0,base:0,booking:0,discount:0,processor:0,currency:`AUD`},code:{id:Ne.id,name:Ne.name},customer:h,promoterId:b.id,eventId:x.id,paymentId:``,payoutIds:[Pe.id]},Ie=e.MixmagOrderItem={id:`itm_01jps5cgsmqrkg0btn7khdyjyg`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),orderId:Fe.id,kind:`ADMISSION`,quantity:2,admissionId:S.id,price:{base:S.price.base,booking:S.price.booking,discount:0,currency:S.price.currency}};e.MixmagOrderFee={id:`fee_01jps5cgsm4jgpnfqxahmwm7he`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),orderId:Fe.id,reason:`Gateway Fee`,amount:30,currency:`AUD`,requestId:`att_sgpdz4v2ph1axmdmdx8_m8w6qv`},e.MixmagTicket={id:`tkt_01jps5cgsmycbvfrqw5h3zt9bp`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),status:`REDEEMED`,scans:[],token:`m1i2x3m4a5g6789012345678901234567890123456789012345678901234mixm`,attendee:{email:h.email,firstName:h.firstName,lastName:h.lastName},event:{id:x.id,name:x.name,slug:x.slug,location:x.location,entryStartsAt:x.entryStartsAt,entryEndsAt:x.entryEndsAt,images:x.images},admission:{id:S.id,name:S.name,price:S.price,entryStartsAt:S.entryStartsAt,entryEndsAt:S.entryEndsAt},eventId:x.id,customerId:h.id,orderId:Fe.id,orderItemId:Ie.id,admissionId:S.id,promoterId:b.id,promoterSlug:b.slug,tenantId:y.id},e.InactiveCoupon={...ae,id:`cpn_01kb1ve66keh4rntfm5z89yskj`,couponId:`cpn_01kb1ve66keh4rntfm5z89yskj`,name:`Inactive Coupon`,active:false};let Le=e.MelbourneLocation={id:`loc_01kb1sr54cf27s4yas3fxy0c76`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),googlePlaceId:`ChIJc4QL47ZC1moRFW-PYdhx-O0`,name:`Federation Square`,address:`Federation Square, Melbourne VIC 3000, Australia`,city:`Melbourne`,state:`Victoria`,postcode:`3000`,country:`Australia`,latitude:-37.8179789,longitude:144.9690576,timeZone:`Australia/Melbourne`};e.MelbourneVenue={...a,id:`ven_01kb1ve66heh4rntebeywafbwj`,name:`Melbourne Convention Centre`,slug:`melbourne-convention-centre`,description:`Premier convention and exhibition venue in Melbourne`,locationId:Le.id,location:Le,geohash:`r1r0f`};let Re=e.MelbournePromoter={...u,id:`pmt_01kb1ve66keh4rntehghtb8j43`,name:`Melbourne Promoter`,slug:`melbourne-promoter`,description:`A promoter based in Melbourne`,geohash:`r1r0f`,location:Le};e.MelbourneEvent={...p,id:`evt_01kb1ve66keh4rnteypq587crh`,name:`Melbourne Event`,slug:`melbourne-event`,description:`An event in Melbourne for geo testing`,promoterId:Re.id,geohash:`r1r0f`,location:Le},e.PendingVenue={...a,id:`ven_01kb1ve66keh4rntf3crpmdyaw`,name:`Pending Venue`,slug:`pending-venue`,description:`A venue pending approval`,approval:`PENDING`},e.Locations={sydneyOperaHouse:{id:`loc_01hk153x00fpxv6cjp99qawkcs`,googlePlaceId:`ChIJ3S-JXmauEmsRUcIaWtf4MzE`,name:`Sydney Opera House`,address:`Bennelong Point, Sydney NSW 2000, Australia`,city:`Sydney`,state:`New South Wales`,postcode:`2000`,country:`Australia`,latitude:-33.8567844,longitude:151.2152967,timeZone:`Australia/Sydney`,types:[`establishment`,`point_of_interest`,`tourist_attraction`],image:{src:`https://assets.session.services/locations/loc_01hk153x00fpxv6cjp99qawkcs.jpg`,alt:`Sydney Opera House`,width:1200,height:800}},carouselBarBallroom:{id:`loc_01hk153x00efq9ygdkc9eb3rjt`,googlePlaceId:`ChIJc8-zlGSvEmsR0rbZWpCP6z0`,name:`Carousel Bar & Ballroom`,address:`169 Oxford St, Darlinghurst NSW 2010, Australia`,city:`Darlinghurst`,state:`New South Wales`,postcode:`2010`,country:`Australia`,latitude:-33.8803603,longitude:151.2161228,timeZone:`Australia/Sydney`,types:[`establishment`,`night_club`,`point_of_interest`],image:{src:`https://assets.session.services/locations/loc_01hk153x00efq9ygdkc9eb3rjt.jpg`,alt:`Carousel Bar & Ballroom`,width:1200,height:800}},homeTheVenue:{id:`loc_01hk153x00eqbb7qm3b7fjxh7j`,googlePlaceId:`ChIJLaRY2DuuEmsRkgiW8LMz2Hs`,name:`Home The Venue`,address:`101/1-5 Wheat Rd, Sydney NSW 2000, Australia`,city:`Sydney`,state:`New South Wales`,postcode:`2000`,country:`Australia`,latitude:-33.8725457,longitude:151.201907,timeZone:`Australia/Sydney`,types:[`establishment`,`food`,`night_club`,`point_of_interest`,`restaurant`],image:{src:`https://assets.session.services/locations/loc_01hk153x00eqbb7qm3b7fjxh7j.jpg`,alt:`Home The Venue`,width:1200,height:800}},greenwoodHotel:{id:`loc_01hk153x00eerbxb70s9fwbmc9`,googlePlaceId:`ChIJPZiEA_OuEmsRWKYZIBL58QU`,name:`Greenwood Hotel`,address:`The Greenwood Plaza Rooftop, 36 Blue St, North Sydney NSW 2060, Australia`,city:`North Sydney`,state:`New South Wales`,postcode:`2060`,country:`Australia`,latitude:-33.8401485,longitude:151.2074803,timeZone:`Australia/Sydney`,types:[`bar`,`establishment`,`food`,`point_of_interest`,`restaurant`],image:{src:`https://assets.session.services/locations/loc_01hk153x00eerbxb70s9fwbmc9.jpg`,alt:`Greenwood Hotel`,width:1200,height:800}},sydneyRacquetClub:{id:`loc_01hk153x00f26trt0z9kmm5pm4`,googlePlaceId:`ChIJB3Dai2SvEmsR904tdDsfGWs`,name:`Sydney Racquet Club`,address:`17 Park Rd N, Moore Park NSW 2021, Australia`,city:`Moore Park`,state:`New South Wales`,postcode:`2021`,country:`Australia`,latitude:-33.89344310000001,longitude:151.2260224,timeZone:`Australia/Sydney`,types:[`establishment`,`point_of_interest`],image:{src:`https://assets.session.services/locations/loc_01hk153x00f26trt0z9kmm5pm4.jpg`,alt:`Sydney Racquet Club`,width:1200,height:800}},centralStation:{id:`loc_01hk153x00fypv7sxqvby33hsg`,googlePlaceId:`ChIJpcfaaCGuEmsRcTRNZkqb51U`,name:`Central Station`,address:`Eddy Ave, Haymarket NSW 2000, Australia`,city:`Haymarket`,state:`New South Wales`,postcode:`2000`,country:`Australia`,latitude:-33.8826465,longitude:151.2064744,timeZone:`Australia/Sydney`,types:[`establishment`,`point_of_interest`,`subway_station`,`train_station`,`transit_station`],image:{src:`https://assets.session.services/locations/loc_01hk153x00fypv7sxqvby33hsg.jpg`,alt:`Central Station`,width:1200,height:800}},federationSquare:{id:`loc_01hk153x00ebfrn7y8v7z8emew`,googlePlaceId:`ChIJc4QL47ZC1moRFW-PYdhx-O0`,name:`Federation Square`,address:`Federation Square, Melbourne VIC 3000, Australia`,city:`Melbourne`,state:`Victoria`,postcode:`3000`,country:`Australia`,latitude:-37.8179789,longitude:144.9690576,timeZone:`Australia/Melbourne`,types:[`town_square`],image:{src:`https://assets.session.services/locations/loc_01hk153x00ebfrn7y8v7z8emew.jpg`,alt:`Federation Square`,width:1200,height:800}},bondiBeach:{id:`loc_01hk153x00er59hr0dvf9t4mpy`,googlePlaceId:`ChIJWTi8xgGyEmsRgK0yFmh9AQU`,name:`Bondi Beach`,address:`Bondi Beach NSW 2026, Australia`,city:`Bondi Beach`,state:`New South Wales`,postcode:`2026`,country:`Australia`,latitude:-33.8891201,longitude:151.2703991,timeZone:`Australia/Sydney`,types:[`locality`,`political`],image:{src:`https://assets.session.services/locations/loc_01hk153x00er59hr0dvf9t4mpy.jpg`,alt:`Bondi Beach`,width:1200,height:800}},sydney:{id:`loc_01hk153x00fyrr4gttg9psr5cv`,googlePlaceId:`ChIJP3Sa8ziYEmsRUKgyFmh9AQM`,name:`Sydney`,address:`Sydney NSW, Australia`,city:`Sydney`,state:`New South Wales`,postcode:void 0,country:`Australia`,latitude:-33.8727409,longitude:151.2057136,timeZone:`Australia/Sydney`,types:[`colloquial_area`,`locality`,`political`],image:{src:`https://assets.session.services/locations/loc_01hk153x00fyrr4gttg9psr5cv.jpg`,alt:`Sydney`,width:1200,height:800}}};})(Wu||={});const Gu=U$2({net:B$2().min(0).meta({examples:[E$1.OrderItem.price.net],description:`Total amount to pay to promoter in cents.
37
- Calculated as: total - booking - refunded`}),total:B$2().min(0).meta({examples:[E$1.OrderItem.price.total],description:`Total amount the customer should pay in cents.
38
- Calculated as: gross - discount`}),gross:B$2().min(0).meta({examples:[E$1.OrderItem.price.gross],description:`Total amount before refunds and discounts in cents.
39
- Calculated as: base + booking`}),base:B$2().min(0).meta({examples:[E$1.OrderItem.price.base],description:`Total ticket price in cents`}),booking:B$2().min(0).meta({examples:[E$1.OrderItem.price.booking],description:`Total booking fees in cents (non-refundable)`}),refunded:B$2().max(0).meta({examples:[E$1.OrderItem.price.refunded],description:`Total amount refunded in cents`}),discount:B$2().max(0).meta({examples:[E$1.OrderItem.price.discount],description:`Total amount discounted in cents`}),currency:I$2().regex(/^[A-Z]{3}$/).meta({examples:[E$1.OrderItem.price.currency],description:`Currency code in ISO 4217 format.`})}),Ku=G$2([`ADMISSION`,`ADDON`]),Ju=U$2({id:I$2().meta({examples:[E$1.OrderItem.id],description:`Unique identifier for this order item`}),kind:Ku.meta({examples:[E$1.OrderItem.kind],description:`Type of item: ADMISSION for tickets, ADDON for additional products or services`}),quantity:B$2().min(1).meta({examples:[E$1.OrderItem.quantity],description:`Number of items purchased (minimum 1)`}),admissionId:I$2().optional().meta({examples:[E$1.OrderItem.admissionId],description:`Unique identifier of the admission ticket type, required for ADMISSION items`}),sectionId:I$2().optional().meta({examples:[E$1.OrderItem.sectionId],description:`Unique identifier of the venue section for this admission`}),admission:Z.optional().meta({examples:[Wu.Admission],description:`Complete admission details captured at time of purchase. This is a snapshot that preserves the exact ticket type information as it was when the order was placed`}),section:iu.optional().meta({examples:[Wu.Section],description:`Complete section details captured at time of purchase. This is a snapshot that preserves the exact venue area or category information as it was when the order was placed`}),price:Gu.meta({description:`Pricing breakdown for this order item including all fees and discounts`})}),Yu=G$2([`FREE`,`AIRWALLEX`,`STRIPE`]),Zu=G$2([`AMERICAN_EXPRESS`,`CHINA_UNION_PAY`,`DINERS_CLUB_INTERNATIONAL`,`DISCOVER`,`JCB`,`MAESTRO`,`MASTERCARD`,`UNION_PAY`,`VISA`]),$u=G$2(`ACH_DIRECT_DEBIT.ACSS_DEBIT.AFFIRM.AFTERPAY.ALFAMART.ALIPAY.ALIPAYCN.ALIPAYHK.ALMA.AMAZON_PAY.APPLEPAY.ATOME.BACS_DIRECT_DEBIT.BANCONTACT.BANK_TRANSFER.BECS_DIRECT_DEBIT.BILLIE.BITPAY.BLIK.BOLETO.BOOST.CARD.CARD_PRESENT.CASHAPP.CRYPTO.CUSTOM.CUSTOMER_BALANCE.DANA.DOKU_EWALLET.DRAGONPAY.DUIT_NOW.EFT_DIRECT_DEBIT.EPS.ESUN.FAMILY_MART.FPX.FPS.GCASH.GIROPAY.GOOGLEPAY.GO_PAY.GRABPAY.HI_LIFE.IDEAL.INDOMARET.INTERAC_PRESENT.JENIUS_PAY.KAKAOPAY.KLARNA.KONBINI.KOREAN_LOCAL_CARD.LINK.LINKAJA.MAXIMA.MB_WAY.MOBILEPAY.MULTIBANCO.MYBANK.NARVESEN.NAVER_PAY.NZ_BANK_ACCOUNT.ONLINE_BANKING.OVO.OXXO.P24.PAYBYBANKAPP.PAYCO.PAYEASY.PAYPAL.PAYPAY.PAYSAFECASH.PAYSAFECARD.PAYSERA.PAY_NOW.PERLAS_TERMINALS.PIX.PROMPTPAY.RABBIT_LINE_PAY.REVOLUT_PAY.SAMSUNG_PAY.SATISPAY.SEPA_DIRECT_DEBIT.SEVEN_ELEVEN.SHOPEE_PAY.SKRILL.SOFORT.SWISH.TNG.TOSS_PAY.TRUEMONEY.TRUSTLY.TWINT.VERKKOPANKKI.WECHATPAY.ZIP`.split(`.`)),td=U$2({method:Yu.meta({examples:[`FREE`],description:`Payment gateway used to process this order: FREE for no-cost orders, AIRWALLEX or STRIPE for paid orders`}),source:$u.optional().meta({examples:[`APPLEPAY`,`GOOGLEPAY`,`CARD`],description:`Payment method used by the customer such as ApplePay, GooglePay, or card-based payments`}),brand:Zu.optional().meta({examples:[`VISA`,`MASTERCARD`,`AMERICAN_EXPRESS`],description:`Card brand when source is CARD (Visa, Mastercard, American Express, etc.)`}),last4:I$2().optional().meta({examples:[`4242`],description:`Last 4 digits of the card number when source is CARD`}),stripeId:I$2().optional().meta({examples:[`pi_1234567890abcdef`],description:`Stripe payment intent identifier when using Stripe gateway`}),airwallexId:I$2().optional().meta({examples:[`int_hkdmr7v9rg1j8donpkmv96`],description:`Airwallex payment intent identifier when using Airwallex gateway`})}),nd=U$2({net:B$2().meta({examples:[E$1.Order.price.net],description:`Total amount to pay to promoter in cents.
40
- Calculated as: total + booking + refunded + dispute`}),total:B$2().meta({examples:[E$1.Order.price.total],description:`Total amount the customer should pay in cents.
41
- Calculated as: gross + discount`}),gross:B$2().min(0).meta({examples:[E$1.Order.price.gross],description:`Total amount before refunds and discounts in cents.
42
- Calculated as: base + booking + shipping`}),base:B$2().min(0).meta({examples:[E$1.Order.price.base],description:`Total ticket price in cents`}),booking:B$2().min(0).meta({examples:[E$1.Order.price.booking],description:`Total booking fees in cents (non-refundable)`}),shipping:B$2().min(0).meta({examples:[E$1.Order.price.shipping],description:`Total shipping amount in cents`}),refunded:B$2().max(0).meta({examples:[-E$1.Order.price.refunded],description:`Total amount refunded in cents (negative value)`}),discount:B$2().max(0).meta({examples:[-E$1.Order.price.discount],description:`Total amount discounted in cents (negative value)`}),gateway:B$2().max(0).meta({examples:[-E$1.Order.price.gateway],description:`Total absorbed payment gateway fees in cents (negative value)`}),dispute:B$2().max(0).meta({examples:[-E$1.Order.price.dispute],description:`Total non-absorbed payment gateway fees in cents (negative value)`}),currency:I$2().regex(/^[A-Z]{3}$/).meta({examples:[E$1.Order.price.currency],description:`Currency code in ISO 4217 format`})}),rd=G$2(`ORDER_STATUS_UPDATED.ORDER_EXPIRED.ORDER_COMPLETED.PAYMENT_INITIATED.PAYMENT_PROCESSING.PAYMENT_FAILED.PAYMENT_SUCCEEDED.REFUND_INITIATED.REFUND_PROCESSING.REFUND_SUCCEEDED.REFUND_FAILED.CHARGEBACK_INITIATED.CHARGEBACK_EVIDENCE_SUBMITTED.CHARGEBACK_WON.CHARGEBACK_LOST.CHARGEBACK_FUNDS_WITHDRAWN.TICKETS_GENERATED.TICKET_ADDED.TICKETS_SCANNED.TICKET_EDITED.TICKET_STATUS_CHANGED.EMAIL_SENT.EMAIL_DELIVERED.EMAIL_OPENED.EMAIL_BOUNCED.EMAIL_COMPLAINED.EMAIL_FAILED.NOTE`.split(`.`)),id=U$2({id:I$2().meta({examples:[E$1.Order.id],description:`Unique identifier of the order this timeline entry belongs to`}),createdAt:N$1().readonly().meta({examples:[E$1.Order.createdAt],description:`Timestamp in ISO 8601 format when this timeline entry was created`}),status:I$2().optional().meta({examples:[`SUCCESSFUL`],description:`Order status associated with this timeline entry, when applicable.`}),kind:rd.meta({examples:[`ORDER_CREATED`],description:`Type of timeline event (ORDER_CREATED, PAYMENT_SUCCEEDED, REFUND_INITIATED, etc.)`}),editable:V$2().meta({examples:[false],description:`Whether this timeline entry can be edited by users`}),pinned:V$2().meta({examples:[false],description:`Whether this timeline entry is pinned to the top of the timeline`}),description:I$2().meta({examples:[`Order was created successfully`],description:`Human-readable description of what happened in this timeline event`}),author:I$2().meta({examples:[`System`],description:`Name of the user or system that created this timeline entry`}),userId:I$2().optional().meta({examples:[E$1.User.id],description:`Identifier of the user who created this timeline entry, when available.`}),externalId:I$2().optional().meta({examples:[`ses:01234567-89ab-cdef-0123-456789abcdef:Delivery`],description:`External idempotency key for deduplication (e.g., SES messageId + eventType)`})}),ad=G$2([`PENDING`,`PROCESSING`,`SUCCESSFUL`,`REFUNDED`,`DISPUTED`,`ABANDONED`]),sd=U$2({id:Ps.readonly().meta({examples:[E$1.Order.id],description:`A unique identifier for this order.`}),token:I$2().readonly().meta({examples:[E$1.Order.token],description:`A secure token used to reference this order when not authenticated.`}),createdAt:N$1().readonly().meta({examples:[E$1.Order.createdAt],description:`Timestamp in ISO 8601 format when this order was created.`}),updatedAt:N$1().readonly().meta({examples:[E$1.Order.updatedAt],description:`Timestamp in ISO 8601 format when this order was last updated.`}),status:ad.meta({examples:[`PENDING`],description:`The current payment status of the order.`}),payment:td.optional().meta({description:`Details of the payment method and transaction for this order.`}),items:H$2(Ju).meta({description:`List of items included in this order.`}),fees:H$2(Uu).meta({description:`List of fees applied to this order.`}),price:nd.meta({description:`Summary of the order total, including items and fees.`}),couponCode:Bu.optional().meta({description:`Details of the coupon code applied to this order for discount calculation`}),customer:Vu.optional().meta({description:`Details of the customer who placed this order, if available.`}),timeline:H$2(id).optional().meta({description:`Chronological audit trail entries associated with this order.`}),customerId:zs.optional().meta({examples:[E$1.Customer.id],description:`Identifier of the customer who placed this order.`}),createdBy:Vu.optional().meta({description:`Details of the admin user who created this order on behalf of the customer.`}),createdById:Ns.optional().meta({examples:[E$1.User.id],description:`Identifier of the admin user who created this order on behalf of the customer.`}),teamId:ks.meta({description:`Team that owns this order. Denormalized for efficient queries.`}),promoterId:Is.meta({examples:[E$1.Promoter.id],description:`Identifier of the promoter managing this order.`}),event:Hu.meta({description:`Details of the event associated with this order.`}),payoutIds:H$2(Us.meta({examples:[E$1.Promoter.id],description:`Identifier for each payout transaction generated by this order.`})).meta({description:`List of payout identifiers created when this order was settled.`}),eventId:As.meta({examples:[E$1.Event.id],description:`Identifier of the event for which this order was placed.`}),eventSlug:I$2().meta({examples:[E$1.Event.slug],description:`URL-friendly slug of the event.`}),checkoutUrl:I$2().readonly().meta({examples:[`https://example.com/checkout/ord_1234567890`],description:`The URL where the customer can complete the checkout for this order.`}),returnUrl:I$2().optional().meta({examples:[`https://example.com/event/success`],description:`The URL to redirect to after successful payment completion.`})}).meta({description:`order`}),cd=U$2({id:I$2().meta({examples:[E$1.Order.id],description:`Unique identifier of the order to add a note to`}),note:I$2().min(1).max(1e3).meta({examples:[`Customer requested special seating arrangements`],description:`Note text content (1-1000 characters)`})}),ld=U$2({teamId:I$2().optional().meta({description:`Filter orders by team unique identifier`}),promoterId:I$2().optional().meta({examples:[`pmt_01jqpjksnsen9vprw95et60t2m`],description:`Filter orders by promoter unique identifier`}),eventId:I$2().optional().meta({examples:[`evt_01jps5cgsenjrazw6wswmyspa3`],description:`Filter orders by event unique identifier`}),customerId:I$2().optional().meta({examples:[`cus_01jps5cgsf4pn2a32eamppnap1`],description:`Filter orders by customer unique identifier`}),status:G$2([`PENDING`,`PROCESSING`,`SUCCESSFUL`,`REFUNDED`,`DISPUTED`,`ABANDONED`]).optional().meta({examples:[`SUCCESSFUL`],description:`Filter orders by payment status`}),query:I$2().optional().meta({examples:[`John Doe`],description:`Optional search query to filter orders by customer details. When provided, search-backed pagination is used.`}),from:I$2().date().optional().meta({examples:[`2025-01-01`],description:`Filter orders created on or after this date (YYYY-MM-DD format). Inclusive of the entire day.`}),to:I$2().date().optional().meta({examples:[`2025-12-31`],description:`Filter orders created on or before this date (YYYY-MM-DD format). Inclusive of the entire day.`}),limit:(()=>K$1().min(1).max(100).prefault(20).meta({examples:[20],description:`Maximum number of orders to return (1-100, default: 20)`}))().optional(),cursor:I$2().optional().meta({examples:[`eyJpZCI6Im9yZF8wMWpwczVjZ3NmZ3ZlNWI1ZzI2NjZreXJ5aCJ9`],description:`Pagination cursor for continuing to fetch subsequent results`})}),ud=ld.extend({from:I$2().date().meta({examples:[`2025-01-01`],description:`Start date in YYYY-MM-DD format for counting orders within a date range. Inclusive of the entire day.`}),to:I$2().date().meta({examples:[`2025-12-31`],description:`End date in YYYY-MM-DD format for counting orders within a date range. Inclusive of the entire day.`})}),dd=U$2({count:z$2()}),fd=Ju.omit({id:true,price:true,kind:true}).extend({id:I$2().optional().meta({examples:[`itm_01jps5cgsfwyxj0516571eaf17`],description:`Unique identifier for this order item. When omitted, the server assigns an id during processing`})}),pd=U$2({eventId:I$2().meta({examples:[`evt_01jps5cgsenjrazw6wswmyspa3`],description:`Unique identifier of the event for which to create the order`}),items:H$2(fd).meta({description:`List of items to include in the new order`}),couponCode:I$2().optional().meta({examples:[`TEST50`],description:`Optional coupon code to apply discount to the order`}),returnUrl:I$2().optional().meta({examples:[`https://example.com/event/success`],description:`Optional URL to redirect to after successful payment`})}),md=U$2({id:I$2().meta({examples:[E$1.Order.id],description:`Unique identifier of the order`}),noteId:I$2().meta({examples:[`tl_1234567890_abc123`],description:`Unique identifier of the timeline note to delete`})});U$2({id:I$2().meta({examples:[E$1.Order.id],description:`Unique identifier of the order to edit`}),token:I$2().meta({examples:[E$1.Order.token],description:`Order token for customer access during checkout. Required for editing order items.`}),items:H$2(fd).min(1).meta({description:`Updated list of items for the order (replaces existing items). Prices will be recalculated and payment intent updated.`})});const gd=U$2({id:I$2().meta({examples:[E$1.Order.id],description:`Unique identifier of the order to retrieve`}),token:I$2().meta({examples:[E$1.Order.token],description:`Optional secure token for accessing order without authentication`}).optional()}),_d=iu.omit({id:true,createdAt:true,updatedAt:true,order:true,available:true,sold:true,reserved:true,promoterId:true,eventSlug:true,location:true}).extend({order:z$2().optional().meta({examples:[E$1.Section.order],description:`Display order of the section. Lower numbers appear first in listings. Defaults to 0 if not specified`}),locationId:Ms.optional().meta({examples:[`loc_01jqpjksnsen9vprw95et60t2m`],description:`ID of an existing location. Either locationId or googlePlaceId must be provided.`}),googlePlaceId:I$2().optional().meta({examples:[`ChIJN1t_tDeuEmsRUsoyG83frY4`],description:`Google Place ID to create a new location from. Either locationId or googlePlaceId must be provided.`})}).refine(e=>e.locationId||e.googlePlaceId,{message:`Either locationId or googlePlaceId must be provided`}).meta({description:`Schema for creating a new section within an event venue. Excludes system-generated fields and fields derived from the event`}),vd=iu.pick({id:true}).extend({eventId:I$2().meta({examples:[E$1.Section.eventId],description:`Unique identifier of the event to verify section belongs to`})}).meta({description:`Schema for soft-deleting a section by setting its deletedAt timestamp`}),yd=iu.pick({id:true}).extend({eventId:I$2().meta({examples:[E$1.Section.eventId],description:`Unique identifier of the event to verify section belongs to`})}).meta({description:`Schema for retrieving a specific section by ID`}),bd=U$2({eventId:iu.shape.eventId,query:I$2().optional().meta({examples:[`VIP`],description:`Optional search query. When provided, automatically uses search-backed pagination for full-text search capabilities`}),limit:K$1().min(1).max(100).prefault(20).meta({examples:[20],description:`Maximum number of sections to return in each result set. Must be between 1 and 100, defaults to 20`}),cursor:I$2().optional().meta({examples:[`eyJpbnRlbnQiOnsicmVzb3VyY2UiOiJzZWN0aW9uLmxpc3QifSwicG9zaXRpb24iOnsiZW5naW5lIjoiZHluYW1vIiwgImN1cnNvciI6InNlY18wMWpwczVjZ3NlMGczcWo1NnZkODZ6N3FqIiwgImhpc3RvcnkiOltdfX0=`],description:`Opaque pagination cursor from a previous response. Provide to continue fetching subsequent results`})}).meta({description:`Schema for listing sections with cursor-based pagination. Automatically uses search-backed pagination when query parameter is provided`}),xd=Q$1(iu,`sections`),Sd=U$2({section:iu}),Cd=iu.omit({promoterId:true,createdAt:true,updatedAt:true,eventSlug:true,available:true,sold:true,reserved:true,location:true}).partial().extend({id:I$2().meta({examples:[E$1.Section.id],description:`Unique identifier of the section to update`}),eventId:I$2().meta({examples:[E$1.Section.eventId],description:`Unique identifier of the event to verify section belongs to`}),locationId:Ms.optional().meta({examples:[`loc_01jqpjksnsen9vprw95et60t2m`],description:`ID of an existing location to update to. Either locationId or googlePlaceId can be provided.`}),googlePlaceId:I$2().optional().meta({examples:[`ChIJN1t_tDeuEmsRUsoyG83frY4`],description:`Google Place ID to update location from. Either locationId or googlePlaceId can be provided.`})}).meta({description:`Schema for updating an existing section.`}),wd=Ju.extend({admission:Z.optional().meta({description:`Complete admission details for this order item when available`}),section:iu.optional().meta({description:`Complete section details for this order item when applicable`})}),Td=Q$1(sd,`orders`),Ed=U$2({items:H$2(wd).meta({description:`List of order items with complete pricing and admission details`}),price:nd.meta({description:`Total pricing breakdown for the entire order quote`}),couponCode:Bl.optional().meta({description:`Applied coupon code details if a discount was used in this quote`})}),Dd=U$2({eventId:I$2().meta({examples:[`evt_01jps5cgsenjrazw6wswmyspa3`],description:`Unique identifier of the event for which to generate a price quote`}),items:H$2(fd).meta({description:`List of items to include in the price quote calculation`}),couponCode:I$2().optional().meta({examples:[`TEST50`],description:`Optional coupon code to apply discount to the quote`})}),Od=U$2({quote:Ed}),kd=U$2({id:I$2().meta({examples:[E$1.Order.id],description:`Order ID to resend tickets for`}),email:I$2().email().optional().meta({examples:[`customer@example.com`],description:`Email address to send tickets to. If not provided, uses order.customer.email`})}),Ad=U$2({order:sd}),jd=U$2({key:I$2().meta({description:`Interval start (date-string)`}),currency:I$2().meta({description:`Currency code in ISO 4217 format.`}),sum:nd.omit({currency:true}).meta({description:`Summed price fields for this currency in this date bin (currency repeated).`}),count:B$2().meta({description:`Number of records in this bin (for this currency).`})}),Md=U$2({currency:I$2().meta({description:`Currency code in ISO 4217 format.`}),count:B$2().meta({description:`Total number of records for this currency.`}),sum:nd.omit({currency:true}).meta({description:`Aggregated price totals for all orders in this currency`}),breakdown:H$2(jd).meta({description:`Histogram of sums/counts per interval.`})}),Nd=U$2({count:B$2().meta({description:`Total number of records in this period.`}),currencies:H$2(Md).meta({description:`Stats broken down by currency.`})}),Pd=U$2({current:Nd.meta({description:`Stats for the current date-range.`}),previous:Nd.meta({description:`Stats for the previous date-range, same length as current.`})}),Fd=pd.omit({eventId:true}).partial().extend({id:I$2().meta({examples:[E$1.Order.id],description:`Unique identifier of the order to update`}),token:I$2().meta({examples:[E$1.Order.token],description:`Order token for customer access during checkout. Required for all order updates.`}),items:H$2(fd).min(1).optional().meta({description:`Updated list of items for the order. Requires token. Prices will be recalculated and payment intent updated.`}),customer:U$2({firstName:I$2().meta({examples:[E$1.Customer.firstName],description:`Updated first name of the customer`}),lastName:I$2().meta({examples:[E$1.Customer.lastName],description:`Updated last name of the customer`}),email:R$2().meta({examples:[E$1.Customer.email],description:`Updated email address of the customer`}),phone:I$2().meta({examples:[E$1.Customer.phone],description:`Updated phone number of the customer`}).optional()}).optional().meta({description:`Updated customer information for the order`})}),Id=U$2({id:I$2().meta({examples:[E$1.Order.id],description:`Unique identifier of the order`}),noteId:I$2().meta({examples:[`tl_1234567890_abc123`],description:`Unique identifier of the timeline note to update`}),note:I$2().min(1).max(1e3).meta({examples:[`Updated: Customer confirmed special seating arrangements`],description:`Updated note text content (1-1000 characters)`})}),Ld=U$2({success:V$2().meta({description:`Whether the payout approval was successful`}),message:I$2().optional().meta({description:`Optional message about the approval result`}),payoutId:I$2().meta({description:`ID of the payout that was approved`})}),Rd=U$2({payoutId:I$2().meta({examples:[E$1.Payout.id],description:`Unique identifier of the payout for which to retrieve the detailed breakdown of orders and financial calculations.`})}),zd=U$2({id:I$2().readonly().meta({examples:[E$1.PayoutDeduction.id],description:`Unique identifier for this deduction record.`}),createdAt:N$1().readonly().meta({examples:[E$1.PayoutDeduction.createdAt],description:`Timestamp in ISO 8601 format when this deduction was created.`}),updatedAt:N$1().readonly().meta({examples:[E$1.PayoutDeduction.updatedAt],description:`Timestamp in ISO 8601 format when this deduction was last updated.`}),amount:B$2().min(0).meta({examples:[E$1.PayoutDeduction.amount],description:`Deduction amount in cents. Positive values represent money being deducted from the payout.`}),currency:I$2().regex(/^[A-Z]{3}$/).meta({examples:[E$1.PayoutDeduction.currency],description:`Currency code in ISO 4217 format for the deduction amount.`}),description:I$2().meta({examples:[E$1.PayoutDeduction.description],description:`Human-readable description explaining the reason for this deduction (e.g., 'Minimum bar spend not met', 'Venue damage charge').`}),gateway:I$2().meta({examples:[E$1.PayoutDeduction.gateway],description:`Payment gateway identifier where this deduction was processed.`}),gatewayId:I$2().meta({examples:[E$1.PayoutDeduction.gatewayId],description:`Unique identifier assigned by the payment gateway for this deduction transaction.`}),beneficiary:I$2().meta({examples:[E$1.PayoutDeduction.beneficiary],description:`Human-readable name of the beneficiary account from which this deduction was taken.`}),beneficiaryId:I$2().meta({examples:[E$1.PayoutDeduction.beneficiaryId],description:`Unique identifier of the beneficiary account from which this deduction was taken.`}),transferId:I$2().optional().meta({description:`Optional reference to a transfer record when this deduction results in money being moved to a future payout.`}),transferPayoutId:I$2().optional().meta({description:`Optional reference to a future payout where the deducted amount will be applied.`})}),Bd=U$2({id:I$2().meta({examples:[E$1.Event.id],description:`Unique identifier for the event associated with this payout.`}),name:I$2().meta({examples:[E$1.Event.name],description:`Human-readable name of the event.`}),slug:I$2().meta({examples:[E$1.Event.slug],description:`URL-friendly slug identifier for the event.`}),location:I$2().optional().meta({examples:[E$1.Event.location.name],description:`Optional human-readable location name where the event takes place.`})}),Vd=U$2({net:B$2().meta({examples:[E$1.Payout.price.net],description:`Total amount to pay to promoter.
43
- Calculated as: total + booking + refunded + dispute + deductions`}),total:B$2().meta({examples:[E$1.Payout.price.total],description:`Total amount the collected in ticket revenue.
44
- Calculated as: gross + discount`}),gross:B$2().min(0).meta({examples:[E$1.Payout.price.gross],description:`Total amount before refunds, disputes, deductions and discounts.
45
- Calculated as: base + booking + shipping`}),base:B$2().min(0).meta({examples:[E$1.Payout.price.base],description:`Total value of tickets.`}),booking:B$2().min(0).meta({examples:[E$1.Payout.price.booking],description:`Total value of booking fees (non-refundable).`}),shipping:B$2().min(0).meta({examples:[E$1.Payout.price.shipping],description:`Total value of shipping.`}),refunded:B$2().max(0).meta({examples:[-E$1.Payout.price.refunded],description:`Total value of refunds (negative value).`}),discount:B$2().max(0).meta({examples:[-E$1.Payout.price.discount],description:`Total value of discounts (negative value).`}),gateway:B$2().max(0).meta({examples:[-E$1.Payout.price.gateway],description:`Total value of absorbed payment gateway fees (negative value).`}),dispute:B$2().max(0).meta({examples:[-E$1.Payout.price.dispute],description:`Total value of non-absorbed payment gateway fees (negative value).`}),deductions:B$2().max(0).meta({examples:[-E$1.Payout.price.deductions],description:`Total value of deductions for when money is owed (negative value).`}),currency:I$2().regex(/^[A-Z]{3}$/).meta({examples:[E$1.Payout.price.currency],description:`Currency code in ISO 4217 format.`})}),Hd=U$2({id:I$2().meta({examples:[E$1.PayoutTransfer.id],description:`Unique identifier for this transfer record.`}),createdAt:N$1().meta({examples:[E$1.PayoutTransfer.createdAt],description:`Timestamp in ISO 8601 format when this transfer was created.`}),kind:G$2([`TICKETS`,`TENANT`,`VENUE`,`PROMOTER`,`SESSIONS`,`UNKNOWN`]).meta({examples:[`TICKETS`],description:`Type of transfer. TICKETS: revenue from ticket sales, TENANT: platform fees, VENUE: venue split, PROMOTER: promoter split, SESSIONS: platform commission, UNKNOWN: unclassified transfer.`}),amount:B$2().min(0).meta({examples:[E$1.PayoutTransfer.amount],description:`Transfer amount in cents. Positive values represent money being transferred to the beneficiary.`}),currency:I$2().regex(/^[A-Z]{3}$/).meta({examples:[E$1.PayoutTransfer.currency],description:`Currency code in ISO 4217 format for the transfer amount.`}),fee:B$2().min(0).meta({examples:[E$1.PayoutTransfer.fee],description:`Gateway processing fee for this transfer in cents. This fee is deducted from the transfer amount.`}),feeCurrency:I$2().regex(/^[A-Z]{3}$/).meta({examples:[E$1.PayoutTransfer.feeCurrency],description:`Currency code in ISO 4217 format for the gateway fee.`}),reference:I$2().meta({examples:[E$1.PayoutTransfer.reference],description:`External reference identifier for tracking this transfer with the payment gateway.`}),gateway:G$2([`AIRWALLEX`,`STRIPE`]).meta({examples:[`AIRWALLEX`],description:`Payment gateway used to process this transfer.`}),gatewayId:I$2().meta({examples:[E$1.PayoutTransfer.gatewayId],description:`Unique identifier assigned by the payment gateway for this transfer.`}),beneficiary:I$2().meta({examples:[E$1.PayoutTransfer.beneficiary],description:`Human-readable name of the beneficiary receiving this transfer.`}),beneficiaryId:I$2().meta({examples:[E$1.PayoutTransfer.beneficiaryId],description:`Unique identifier of the beneficiary account receiving this transfer.`}),deductionId:I$2().optional().meta({description:`Optional reference to a deduction record when this transfer represents money being held back from a previous negative payout.`}),deductionPayoutId:I$2().optional().meta({description:`Optional reference to the payout that originated this transfer when it represents an outstanding balance being carried forward.`})}),Ud=G$2([`UPCOMING`,`PENDING`,`PROCESSING`,`PAID`,`CANCELLED`]),Gd=G$2([`AIRWALLEX`,`STRIPE`,`MANUAL`]),qd=G$2([`DAILY`,`WEEKLY`,`AFTER_EVENT`]),Yd=U$2({id:I$2().readonly().meta({examples:[E$1.Payout.id],description:`A unique identifier for this payout.`}),createdAt:N$1().readonly().meta({examples:[E$1.Payout.createdAt],description:`Timestamp in ISO 8601 format when this payout was created.`}),updatedAt:N$1().readonly().meta({examples:[E$1.Payout.updatedAt],description:`Timestamp in ISO 8601 format when this payout was last updated.`}),paidAt:N$1().optional().meta({examples:[E$1.Payout.paidAt],description:`Timestamp in ISO 8601 format when this payout was completed.`}),status:Ud.meta({examples:[`PAID`],description:`Current payment status of this payout.`}),method:Gd.meta({examples:[`MANUAL`],description:`The payout channel used for disbursing funds.`}),approval:q$1.meta({examples:[`APPROVED`],description:`Approval status for this payout.`}),frequency:qd.default(`AFTER_EVENT`).meta({examples:[`AFTER_EVENT`],description:`Schedule on which this payout is generated.`}),structure:I$2().meta({examples:[E$1.Payout.structure],description:`Data structure defining how funds are allocated in this payout.`}),transfers:H$2(Hd).meta({description:`List of individual transfer records included in this payout.`}),deductions:H$2(zd).meta({description:`List of deductions applied before calculating the payout total.`}),price:Vd.meta({description:`Summary of amounts for transfers and deductions in this payout.`}),event:Bd.meta({description:`Information about the event associated with this payout.`}),eventId:I$2().meta({examples:[E$1.Payout.eventId],description:`Identifier of the event for which this payout was generated.`}),teamId:I$2().meta({description:`Team receiving this payout. BREAKING CHANGE: Replaced promoterId/promoterSlug.`})}).meta({description:`payout`}),Xd=U$2({id:I$2().meta({examples:[E$1.Payout.id],description:`Unique identifier of the payout to approve for processing.`})});U$2({id:I$2().meta({examples:[E$1.Payout.id],description:`Unique identifier of the payout to reject.`}),reason:I$2().optional().meta({examples:[`Insufficient funds in account`],description:`Optional reason for rejecting the payout. This will be recorded for audit purposes.`})});U$2({id:I$2().meta({examples:[E$1.Payout.id],description:`Unique identifier of the payout to process and initiate transfers.`})});U$2({id:I$2().meta({examples:[E$1.Payout.id],description:`Unique identifier of the payout to retry transfer processing for.`})});const ef=U$2({name:I$2(),gateway:G$2([`AIRWALLEX`,`STRIPE`,`FREE`]),message:I$2(),venues:H$2(I$2()).optional(),tenants:H$2(I$2()).optional(),teams:H$2(I$2()).optional(),min:z$2().optional(),max:z$2().optional(),percent:z$2().optional(),split:U$2({tenant:z$2(),promoter:z$2(),venue:z$2(),sessions:z$2()})}),tf=U$2({tenant:z$2().meta({examples:[5e4],description:`Amount allocated to the tenant (platform) in cents. This represents the platform's share of the revenue.`}),venue:z$2().meta({examples:[25e3],description:`Amount allocated to the venue in cents. This represents the venue's share of the revenue from events held at their location.`}),promoter:z$2().meta({examples:[2e4],description:`Amount allocated to the promoter in cents. This represents the promoter's share of the revenue after fees and other deductions.`}),sessions:z$2().meta({examples:[3e3],description:`Amount allocated to Sessions platform commission in cents. This represents the platform's service fees.`}),tickets:z$2().meta({examples:[2e3],description:`Amount allocated to ticketing fees in cents. This represents fees charged for ticket processing and management.`})});U$2({payout:Yd.meta({description:`Complete payout record containing all financial details and metadata for calculating beneficiary allocations.`}),feeStructure:ef.meta({description:`Fee structure configuration that defines how revenue is split between different parties (promoter, venue, platform, etc.).`}),split:tf.meta({description:`Calculated split amounts showing how the payout total is divided among the different beneficiaries in cents.`})});const rf=U$2({orders:z$2().meta({examples:[150],description:`Total number of orders included in this payout breakdown.`}),price:nd.meta({description:`Aggregated price information for all orders included in this payout, showing total revenue, fees, and deductions.`}),split:tf.meta({description:`How the total payout amount is split between different beneficiaries (tenant, venue, promoter, etc.) in cents.`}),structure:I$2().meta({examples:[`DEFAULT`],description:`Fee structure identifier that was used to calculate the payout split and allocations.`})}),af=U$2({total:rf.meta({description:`Summary totals for all orders included in this payout breakdown, including aggregated financial calculations.`}),orders:H$2(U$2({order:sd.meta({description:`Complete order information including customer details, items, and payment status.`}),price:nd.meta({description:`Settled price information for this specific order, showing final amounts after refunds and adjustments.`}),split:tf.meta({description:`How this individual order's revenue is split between different beneficiaries in cents.`}),structure:I$2().meta({examples:[`DEFAULT`],description:`Fee structure identifier used to calculate the split for this order.`})})).meta({description:`Detailed breakdown of individual orders included in this payout, showing how each order contributes to the total.`})});Yd.pick({id:true,eventId:true}).extend({id:I$2().meta({examples:[E$1.Payout.id],description:`Unique identifier of the payout for which to retrieve the detailed breakdown.`}),eventId:I$2().meta({examples:[E$1.Event.id],description:`Unique identifier of the event associated with the payout breakdown.`})});const sf=U$2({teamId:I$2().optional().meta({description:`Filter payouts by specific team unique identifier. BREAKING CHANGE: Replaced promoterId filter.`}),eventId:I$2().optional().meta({examples:[E$1.Event.id],description:`Filter payouts by specific event unique identifier. When provided, only returns payouts for this event.`}),status:G$2([`UPCOMING`,`PENDING`,`PROCESSING`,`PAID`,`CANCELLED`]).optional().meta({examples:[`PAID`],description:`Filter payouts by payment status. UPCOMING: scheduled but not yet processed, PENDING: awaiting processing, PROCESSING: currently being processed, PAID: successfully completed, CANCELLED: cancelled before completion.`}),approval:q$1.optional().meta({examples:[`APPROVED`],description:`Filter payouts by approval status. PENDING: awaiting approval, APPROVED: approved for processing, REJECTED: rejected and will not be processed.`}),query:I$2().optional().meta({examples:[`PAID venue:sydney`],description:`Optional search query to filter payouts by text fields. When provided, search-backed pagination is used.`}),limit:(()=>K$1().min(1).max(100).prefault(20).meta({examples:[20],description:`Maximum number of payouts to return per request. Must be between 1 and 100. Defaults to 20.`}))().optional(),cursor:I$2().optional().meta({examples:[`eyJpZCI6InBheV8wMWpwczVjZ3NmdjJ3cmU2aGQwcmM0dzR0OCJ9`],description:`Pagination cursor for continuing to fetch subsequent results. Use the cursor from the previous response to continue.`})}).meta({description:`Schema for listing payouts with optional filtering, search, and cursor-based pagination`});sf.extend({from:I$2().date().meta({examples:[`2025-01-01`],description:`Start date for the counting period in YYYY-MM-DD format. Only payouts created on or after this date will be included in the count. Inclusive of the entire day.`}),to:I$2().date().meta({examples:[`2025-01-31`],description:`End date for the counting period in YYYY-MM-DD format. Only payouts created before or on this date will be included in the count. Inclusive of the entire day.`})});Yd.pick({eventId:true,teamId:true,method:true,frequency:true}).partial({method:true,frequency:true}).meta({description:`Schema for creating a new payout record`}).extend({eventId:I$2().meta({examples:[E$1.Event.id],description:`Unique identifier of the event for which the payout is being created`}),teamId:I$2().meta({examples:[`tem_01jqpjksnsen9vprw95et60t2m`],description:`Unique identifier of the team who will receive the payout`}),method:G$2([`AIRWALLEX`,`STRIPE`,`MANUAL`]).optional().meta({examples:[`AIRWALLEX`],description:`Optional payment method for the payout. Defaults to promoter's preferred method if not specified`}),frequency:G$2([`DAILY`,`WEEKLY`,`AFTER_EVENT`]).optional().meta({examples:[`AFTER_EVENT`],description:`Optional payout frequency. Defaults to 'AFTER_EVENT' if not specified`})});const uf=Yd.pick({id:true}).extend({id:I$2().meta({examples:[E$1.Payout.id],description:`Unique identifier of the payout to retrieve.`})}),df=Q$1(Yd,`payouts`),ff=U$2({payout:Yd,breakdown:af}),pf=W$2(I$2(),W$2(I$2(),U$2({net:z$2(),total:z$2(),gross:z$2(),base:z$2(),booking:z$2(),shipping:z$2(),refunded:z$2(),discount:z$2(),gateway:z$2(),dispute:z$2(),deductions:z$2()}))).meta({description:`Payout statistics grouped by period (current/previous) and currency`,examples:[{current:{USD:{net:1e5,total:12e4,gross:115e3,base:11e4,booking:5e3,shipping:0,refunded:0,discount:5e3,gateway:3e3,dispute:0,deductions:2e3}},previous:{USD:{net:8e4,total:95e3,gross:9e4,base:85e3,booking:5e3,shipping:0,refunded:0,discount:5e3,gateway:2500,dispute:0,deductions:1500}}}]}),mf=U$2({teamId:I$2().optional().meta({description:`Filter stats by team ID`}),promoterId:I$2().optional().meta({description:`DEPRECATED: Use teamId instead. Filter stats by promoter ID (mapped to team internally)`}),startDate:I$2().optional().meta({description:`Start date for stats period (YYYY-MM-DD)`}),endDate:I$2().optional().meta({description:`End date for stats period (YYYY-MM-DD)`})});Yd.pick({id:true}).merge(Yd.pick({status:true,approval:true,paidAt:true}).partial()).extend({id:I$2().meta({examples:[E$1.Payout.id],description:`Unique identifier of the payout to update.`}),status:G$2([`UPCOMING`,`PENDING`,`PROCESSING`,`PAID`,`CANCELLED`]).optional().meta({examples:[`PAID`],description:`Optional new payment status for the payout. UPCOMING: scheduled but not processed, PENDING: awaiting processing, PROCESSING: currently being processed, PAID: successfully completed, CANCELLED: cancelled.`}),approval:q$1.optional().meta({examples:[`APPROVED`],description:`Optional new approval status for the payout. PENDING: awaiting approval, APPROVED: approved for processing, REJECTED: rejected.`}),paidAt:N$1().optional().meta({examples:[E$1.Payout.paidAt],description:`Optional timestamp in ISO 8601 format when the payout was completed. Set when status changes to PAID.`})});const gf=G$2([`PROMOTER`,`VENUE`]).meta({description:`Type of permission scope. PROMOTER: applies to all events by a specific promoter. VENUE: applies to all events at a specific venue.`}),_f=U$2({id:I$2().readonly().meta({description:`Unique identifier for the permission scope`}),createdAt:N$1().readonly().meta({description:`Timestamp in ISO 8601 format when the scope was created`}),updatedAt:N$1().readonly().meta({description:`Timestamp in ISO 8601 format when the scope was last updated`}),teamMemberId:I$2().meta({description:`Team member this scope applies to`}),teamId:I$2().meta({description:`Team the member belongs to`}),userId:I$2().meta({description:`ID of the user this permission scope applies to`}),permissions:H$2(Zs).meta({description:`Scoped permissions. Can be empty array to remove all access. Replaces lower-tier permissions based on kind (VENUE overrides PROMOTER overrides BASE).`}),tenantId:I$2().readonly().meta({description:`Tenant identifier`})}),vf=Jo(`kind`,[_f.extend({kind:es(`PROMOTER`).meta({description:`Scope type: PROMOTER-specific permissions`}),promoterId:I$2().meta({description:`Promoter this scope applies to. Replaces base permissions for all events by this promoter.`})}).meta({description:`PROMOTER-specific permission scope. Applies to all events by the specified promoter.`}),_f.extend({kind:es(`VENUE`).meta({description:`Scope type: VENUE-specific permissions`}),venueId:I$2().meta({description:`Venue this scope applies to. Replaces base/promoter permissions for all events at this venue.`})}).meta({description:`VENUE-specific permission scope. Applies to all events at the specified venue.`})]).meta({description:`Permission scope for a team member. Can be PROMOTER-specific (applies to all events by that promoter) or VENUE-specific (applies to all events at that venue). Replaces lower-tier permissions using REPLACE semantics.`}),yf=U$2({teamMemberId:I$2().meta({description:`Team member this scope applies to`}),teamId:I$2().meta({description:`Team the member belongs to`}),userId:I$2().meta({description:`ID of the user this permission scope applies to`}),permissions:H$2(Zs).meta({description:`Scoped permissions. Can be empty array to remove all access. Replaces lower-tier permissions based on kind (VENUE overrides PROMOTER overrides BASE).`})}),bf=Jo(`kind`,[yf.extend({kind:es(`PROMOTER`).meta({description:`Scope type: PROMOTER-specific permissions`}),promoterId:I$2().meta({description:`Promoter this scope applies to. Replaces base permissions for all events by this promoter.`})}).meta({description:`Create a PROMOTER-specific permission scope. Applies to all events by the specified promoter.`}),yf.extend({kind:es(`VENUE`).meta({description:`Scope type: VENUE-specific permissions`}),venueId:I$2().meta({description:`Venue this scope applies to. Replaces base/promoter permissions for all events at this venue.`})}).meta({description:`Create a VENUE-specific permission scope. Applies to all events at the specified venue.`})]).meta({description:`Schema for creating a new permission scope. Must specify kind (PROMOTER or VENUE) and corresponding ID.`}),xf=U$2({id:qs.meta({description:`Unique identifier for the permission scope`})}).meta({description:`Schema for retrieving a single permission scope by ID`}),Sf=U$2({teamMemberId:I$2().optional().meta({description:`Filter by team member ID`}),userId:I$2().optional().meta({description:`Filter by user ID`}),kind:gf.optional().meta({description:`Filter by scope kind (PROMOTER or VENUE)`}),promoterId:I$2().optional().meta({description:`Filter by promoter ID (only for kind=PROMOTER scopes)`}),venueId:I$2().optional().meta({description:`Filter by venue ID (only for kind=VENUE scopes)`}),limit:(()=>K$1().min(1).max(100).default(20).meta({description:`Maximum number of permission scopes to return (1-100, defaults to 20)`}))(),cursor:I$2().optional().meta({description:`Pagination cursor from previous response. Used to fetch next page of results`})}).meta({description:`Query parameters for listing permission scopes with pagination and filtering`}),Cf=Q$1(vf,`items`).meta({description:`Paginated response containing permission scopes with cursor for next page`}),wf=U$2({permissions:H$2(Zs).meta({description:`Scoped permissions. Can be empty array to remove all access. Replaces lower-tier permissions based on kind (VENUE overrides PROMOTER overrides BASE).`})}).meta({description:`Schema for updating an existing permission scope. Only permissions array can be modified.`}),Tf=G$2([`DAILY`,`WEEKLY`,`AFTER_EVENT`]),Df=G$2([`AIRWALLEX`,`STRIPE`]),kf=U$2({id:Is.readonly().meta({examples:[E$1.Promoter.id],description:`Unique identifier for the promoter organization`}),createdAt:N$1().readonly().meta({examples:[E$1.Promoter.createdAt],description:`Timestamp in ISO 8601 format when the promoter was created`}),updatedAt:N$1().readonly().meta({examples:[E$1.Promoter.updatedAt],description:`Timestamp in ISO 8601 format when the promoter was last updated`}),name:I$2().min(3).max(30).meta({examples:[E$1.Promoter.name],description:`Display name of the promoter organization. Must be between 3 and 30 characters`}),slug:I$2().min(3).max(30).meta({examples:[E$1.Promoter.slug],description:`URL-friendly slug for the promoter organization. Must be unique and between 3 and 30 characters`}),teamId:ks.meta({examples:[`tem_01jqpjksnsen9vprw95et60t2m`],description:`ID of the team that owns this promoter. Establishes team-based organization and permissions.`}),description:I$2().meta({examples:[E$1.Promoter.description],description:`Detailed description of the promoter organization and their events`}),approval:q$1.meta({examples:[E$1.Promoter.approval],description:`Approval status of the promoter. PENDING: awaiting review, APPROVED: can create events, REJECTED: cannot operate`}),payoutFrequency:Tf.prefault(`AFTER_EVENT`).meta({examples:[E$1.Promoter.payoutFrequency],description:`How frequently payouts are processed. DAILY: every day, WEEKLY: once per week, AFTER_EVENT: after each event concludes`}),image:Y.optional().meta({description:`Optional promotional image for the promoter organization with dimensions and alt text`}),location:au.meta({description:`Primary location details for the promoter including address, coordinates, and timezone`}),geohash:I$2().meta({examples:[E$1.Promoter.geohash],description:`Geohash encoding of the promoter's location for efficient spatial queries`}),tracking:U$2({fbId:I$2().optional().meta({examples:[E$1.Promoter.tracking.fbId],description:`Facebook pixel ID for tracking conversions and analytics`}),gtmId:I$2().optional().meta({examples:[E$1.Promoter.tracking.gtmId],description:`Google Tag Manager container ID for web analytics`}),tikTokId:I$2().optional().meta({examples:[E$1.Promoter.tracking.tikTokId],description:`TikTok pixel ID for advertising and conversion tracking`})}).optional().meta({description:`Optional tracking configuration for analytics and advertising platforms`}),gateway:Df.meta({examples:[`AIRWALLEX`],description:`Payment gateway provider used for processing transactions. AIRWALLEX or STRIPE`}).optional(),gatewayId:I$2().meta({examples:[`ben_12345abcde67890`],description:`External identifier in the payment gateway system`}).optional(),metadata:Xs}).meta({description:`Promoter organization with location, approval status, and payment configuration`}),Af=U$2({key:I$2().min(1).meta({description:`Promoter key - either a unique ID (pmt_xxx format) or URL-friendly slug`,examples:[E$1.Promoter.id,E$1.Promoter.slug]})}).meta({description:`Request schema for retrieving a promoter by either its unique ID or slug`});kf.pick({slug:true});const Mf=kf.omit({id:true,createdAt:true,updatedAt:true,geohash:true,approval:true,payoutFrequency:true,location:true}).extend({teamId:I$2().meta({examples:[`tem_01jqpjksnsen9vprw95et60t2m`],description:`ID of the team that will own this promoter. User must be a member of this team.`}),slug:I$2().min(3).max(30).optional().meta({examples:[E$1.Promoter.slug],description:`URL-friendly slug for the promoter organization. If not provided, will be automatically generated from the name. Must be unique and between 3 and 30 characters`}),locationId:Ms.optional().meta({examples:[`loc_01jqpjksnsen9vprw95et60t2m`],description:`ID of an existing location. Either locationId or googlePlaceId must be provided.`}),googlePlaceId:I$2().optional().meta({examples:[`ChIJN1t_tDeuEmsRUsoyG83frY4`],description:`Google Place ID to create a new location from. Either locationId or googlePlaceId must be provided.`})}).refine(e=>e.locationId||e.googlePlaceId,{message:`Either locationId or googlePlaceId must be provided`}).meta({description:`Schema for creating a new promoter organization. The system automatically generates the ID, tenant association, geohash, and timestamps`}),Nf=U$2({key:I$2().min(1).meta({description:`Promoter key - either a unique ID (pmt_xxx format) or URL-friendly slug`,examples:[E$1.Promoter.id,E$1.Promoter.slug]})}).meta({description:`Schema for removing (soft deleting) a promoter organization by key (ID or slug)`});kf.pick({id:true}).meta({description:`Schema for retrieving a specific promoter by ID`});const Ff=e=>{if(e!=null){if(typeof e==`string`){let t=e.trim();if(t.length===0)return;let n=Number(t);return Number.isNaN(n)?e:n}return e}},If=U$2({teamId:I$2().optional().meta({description:`Filter promoters to only those belonging to a specific team`}),approval:q$1.optional().meta({examples:[E$1.Promoter.approval],description:`Filter promoters by approval status. PENDING: awaiting review, APPROVED: can create events, REJECTED: cannot operate`}),query:I$2().optional().meta({examples:[`Session Services`],description:`Optional search query. When provided, results are fetched from search with unified cursor pagination.`}),latitude:K$1().min(-90).max(90).optional().meta({examples:[E$1.Promoter.location.latitude],description:`Latitude used with longitude and radius to filter promoters by proximity when searching.`}),longitude:K$1().min(-180).max(180).optional().meta({examples:[E$1.Promoter.location.longitude],description:`Longitude used with latitude and radius to filter promoters by proximity when searching.`}),radius:K$1().optional().meta({examples:[50],description:`Search radius in kilometers applied when latitude and longitude are provided.`}),mine:Es().optional().meta({examples:[true],description:`When true, limits results to promoters from teams the current user belongs to. When combined with teamId, returns only that team's promoters (bypassing tenant-wide admin scope).`}),limit:(()=>ws(Ff,z$2().min(1).max(100).prefault(20)).meta({examples:[20],description:`Maximum number of promoters to return (1-100, defaults to 20)`}))().optional(),cursor:I$2().optional().meta({examples:[`eyJpZCI6InByb18wMWpxcGprc25zZW45dnBydzk1ZXQ2MHQybSJ9`],description:`Opaque cursor for pagination. Use the cursor from the previous response to continue fetching results.`})}).meta({description:`Schema for listing promoters with optional filtering by team, full-text search, and cursor pagination`}),Lf=Q$1(kf,`promoters`),Rf=U$2({promoter:kf}),zf=kf.omit({createdAt:true,updatedAt:true,id:true,location:true}).partial().extend({key:I$2().min(1).meta({description:`Promoter key - either a unique ID (pmt_xxx format) or URL-friendly slug`,examples:[E$1.Promoter.id,E$1.Promoter.slug]}),locationId:Ms.optional().meta({examples:[`loc_01jqpjksnsen9vprw95et60t2m`],description:`ID of an existing location to update to. Either locationId or googlePlaceId can be provided.`}),googlePlaceId:I$2().optional().meta({examples:[`ChIJN1t_tDeuEmsRUsoyG83frY4`],description:`Google Place ID to update location from. Either locationId or googlePlaceId can be provided.`}),image:Y.nullable().optional().meta({description:`Promoter image. Pass null to clear; omit to leave unchanged.`,examples:[E$1.Promoter.image,null]}),tracking:U$2({fbId:I$2().optional(),gtmId:I$2().optional(),tikTokId:I$2().optional()}).nullable().optional().meta({description:`Analytics tracking config. Pass null to clear all tracking; omit to leave unchanged.`}),gateway:Df.nullable().optional().meta({description:`Payment gateway. Pass null to clear; omit to leave unchanged.`}),gatewayId:I$2().nullable().optional().meta({description:`Payment gateway ID. Pass null to clear; omit to leave unchanged.`})}).meta({description:`Schema for updating an existing promoter.`}),Bf=U$2({key:I$2().meta({description:`Team identifier (ID or slug)`}),inviteId:I$2().meta({description:`Team invite ID to accept`}),token:I$2().meta({description:`Secure token used to accept the team invite. This token must match the one sent in the invitation email.`})}),Vf=U$2({id:ks.readonly().meta({description:`Unique identifier for the team organization`}),createdAt:N$1().readonly().meta({description:`Timestamp in ISO 8601 format when the team was created`}),updatedAt:N$1().readonly().meta({description:`Timestamp in ISO 8601 format when the team was last updated`}),name:I$2().min(3).max(30).meta({description:`Display name of the team organization. Must be between 3 and 30 characters`}),slug:I$2().min(3).max(30).meta({description:`URL-friendly slug for the team organization. Must be unique within tenant and between 3 and 30 characters`}),supportEmail:I$2().email().optional().meta({description:`Support email address for customer inquiries. Used as reply-to address in order confirmation emails`}),image:Y.optional().meta({description:`Team image with dimensions and alt text for branding across the platform`}),metadata:Xs,approval:q$1.meta({description:`Approval status of the team. PENDING: awaiting review, APPROVED: can create promoters/venues/events, REJECTED: cannot operate`}),deletedAt:N$1().optional().readonly().meta({description:`Timestamp in ISO 8601 format when the team was soft deleted. Only present for deleted teams.`}),tenantId:I$2().readonly().meta({description:`Tenant ID for multi-tenant isolation`}),isAdmin:V$2().optional().meta({description:`Whether this team is the admin team for the tenant`})}).meta({description:`Team organization that owns promoters and venues. Multiple brands can exist under one team.`});Vf.extend({promoter:kf.meta({description:`The primary promoter brand associated with this team`})}).meta({description:`Team organization with its primary promoter brand included for convenience`});const Uf=Vf.extend({member:U$2({permissions:$s.meta({description:`Permissions the current user has for this team. Controls access to team resources.`,examples:[[`EVENT`,`ORDER`],[`FULL`],[`SCANNING`]]}),isOwner:V$2().meta({description:`Whether the current user is the owner of this team. Owners have full control.`})}).optional().meta({description:`Current user's membership details for this team. Present when user is a member.`})}).meta({description:`Team organization with the current user's membership details`}),Wf=U$2({key:I$2().min(1).meta({description:`Team key - either a unique ID (tem_xxx format) or URL-friendly slug`,examples:[E$1.Team.id,E$1.Team.slug]})}).meta({description:`Request schema for retrieving a team by either its unique ID or slug`}),Gf=Vf.omit({id:true,tenantId:true,createdAt:true,updatedAt:true,deletedAt:true}).extend({slug:I$2().min(3).max(30).optional().meta({description:`URL-friendly slug for the team organization. If not provided, will be automatically generated from the name. Must be unique within tenant and between 3 and 30 characters`}),approval:Vf.shape.approval.optional().meta({description:`Approval status of the team. Defaults to PENDING if not specified.`})}).meta({description:`Schema for creating a new team organization. The system automatically generates the ID, tenant association, and timestamps`});U$2({id:ks.meta({description:`Team ID to delete`})});U$2({id:ks.meta({description:`Team ID to retrieve`})});const $$1=U$2({id:Ws.readonly().meta({description:`Unique identifier for the team member`}),createdAt:N$1().readonly().meta({description:`Timestamp in ISO 8601 format when the member was created`}),updatedAt:N$1().readonly().meta({description:`Timestamp in ISO 8601 format when the member was last updated`}),teamId:ks.meta({description:`Team this member belongs to`}),userId:Ns.meta({description:`User ID of the team member`}),user:U$2({id:Ns.meta({description:`Unique identifier of the user`}),email:R$2().meta({description:`Email address of the user`}),firstName:I$2().meta({description:`First name of the user`}),lastName:I$2().meta({description:`Last name of the user`}),imageUrl:I$2().optional().meta({description:`Profile image URL of the user`})}).meta({description:`Denormalized user details for quick access without additional queries.`}),permissions:H$2(Zs).optional().meta({description:`Base permissions across the team. Can be overridden per promoter or venue. Undefined means no base permissions (permissions come from PermissionScope only).`,examples:[[`EVENT`,`ORDER`],[`FULL`],[`SCANNING`]]}),isOwner:V$2().meta({description:`Whether this member is the owner of the team. Only one owner per team is allowed. Owner has full control and cannot be deleted.`}),tenantId:I$2().readonly().meta({description:`Tenant ID for multi-tenant isolation`})}).meta({description:`Active team member with base permissions. Permissions can be overridden per promoter or venue. Created when a user accepts an invitation or is directly added to a team.`}),Jf=U$2({id:Gs.readonly().meta({description:`Unique identifier for the team invitation`}),createdAt:N$1().readonly().meta({description:`Timestamp in ISO 8601 format when the invitation was created`}),updatedAt:N$1().readonly().meta({description:`Timestamp in ISO 8601 format when the invitation was last updated`}),teamId:ks.meta({description:`Team this invitation is for`}),email:R$2().meta({description:`Email address of the invited user. Used for sending invitation.`}),permissions:$s.meta({description:`Permissions the user will receive upon accepting the invitation. Can be overridden per promoter or venue.`,examples:[[`EVENT`,`ORDER`],[`FULL`],[`SCANNING`]]}),token:I$2().readonly().meta({description:`Secure token for invite acceptance. Required to accept the invitation.`}),expiresAt:z$2().int().positive().meta({description:`Unix timestamp (seconds) for DynamoDB TTL. Invitation will be automatically deleted after 7 days.`}),invitedBy:Ns.meta({description:`User ID who sent the invitation`}),tenantId:I$2().readonly().meta({description:`Tenant ID for multi-tenant isolation`})}).meta({description:`Pending team invitation. Automatically deleted after 7 days via DynamoDB TTL. When accepted, creates a TeamMember record and deletes the invitation.`}),Yf=U$2({key:I$2().meta({description:`Team identifier (ID or slug)`}),inviteId:I$2().meta({description:`Team invite ID to cancel`})}),Xf=U$2({key:I$2().meta({description:`Team identifier (ID or slug)`}),email:R$2().meta({description:`Email address of the user to invite`}),permissions:$s.meta({description:`Permissions to grant to the invited user`,examples:[[`EVENT`,`ORDER`],[`FULL`],[`SCANNING`]]})}),Zf=U$2({key:I$2().meta({description:`Team identifier (ID or slug)`}),inviteId:Gs.meta({description:`Team invite ID to retrieve`})}),Qf=U$2({key:I$2().meta({description:`Team identifier (ID or slug)`}),query:I$2().optional().meta({description:`Search query to filter invitations by email. Case-insensitive partial match`}),limit:z$2().int().min(1).max(100).default(20).optional().meta({description:`Maximum number of invitations to return per page`}),cursor:I$2().optional().meta({description:`Pagination cursor for fetching the next page`})}),$f=Q$1(Jf,`invites`),ep=C$1.route({method:`GET`,path:`/teams/{key}/invites`,summary:`List pending team invitations with cursor-based pagination`,description:`Returns pending team invitations for a specific team. Team key can be ID or slug. These are email-based invitations that have not yet been accepted.`,tags:[`Team Invites`]}).input(Qf.strict()).output($f),tp=C$1.route({method:`GET`,path:`/teams/{key}/invites/{inviteId}`,summary:`Get pending invitation by ID`,description:`Retrieve a pending team invitation by its ID. Team key can be ID or slug.`,tags:[`Team Invites`]}).input(Zf.strict()).output(Jf),np=C$1.route({method:`POST`,path:`/teams/{key}/invites`,summary:`Create a team invitation`,description:`Invite a user to join a team by email. Team key can be ID or slug. Creates a pending invitation with a secure token that expires in 7 days. The invited user will receive an email with an acceptance link.`,tags:[`Team Invites`]}).input(Xf.strict()).output(Jf),rp=C$1.route({method:`PATCH`,path:`/teams/{key}/invites/{inviteId}`,summary:`Accept a team invitation`,description:`Accept a pending team invitation using the secure token. Team key can be ID or slug. This deletes the invitation and creates an active TeamMember record. Returns the newly created team member.`,tags:[`Team Invites`]}).input(Bf.strict()).output($$1),ip=C$1.route({method:`POST`,path:`/teams/{key}/invites/{inviteId}/resend`,summary:`Resend invitation email`,description:`Resend the invitation email with a new token and extended expiry. Team key can be ID or slug. Useful when the original invitation has expired or was not received.`,tags:[`Team Invites`]}).input(Zf.strict()).output(Jf),ap=C$1.route({method:`DELETE`,path:`/teams/{key}/invites/{inviteId}`,summary:`Cancel a pending invitation`,description:`Cancel a pending team invitation before it is accepted. Team key can be ID or slug. Deletes the invitation record.`,tags:[`Team Invites`]}).input(Yf.strict()).output(Jf);var op={list:ep,get:tp,create:np,accept:rp,resend:ip,cancel:ap};const sp=U$2({userId:Ns.optional().meta({description:`Filter teams by user membership. If omitted, returns all teams (tenant admin only). If provided, returns teams where the specified user is a member`}),approval:q$1.optional().meta({description:`Filter teams by approval status. PENDING: awaiting review, APPROVED: can operate, REJECTED: cannot operate`}),query:I$2().optional().meta({description:`Optional search query for filtering teams by name or slug`}),limit:(()=>K$1().min(1).max(100).prefault(20).meta({description:`Maximum number of teams to return (1-100, defaults to 20)`}))(),cursor:I$2().optional().meta({description:`Pagination cursor from previous response. Used to fetch next page of results`})}).meta({description:`Query parameters for listing teams with pagination and filtering`}),cp=Q$1(Uf,`teams`),lp=Vf.omit({tenantId:true,createdAt:true,updatedAt:true,id:true}).partial().extend({key:I$2().min(1).meta({description:`Team key - either a unique ID (tem_xxx format) or URL-friendly slug`,examples:[E$1.Team.id,E$1.Team.slug]}),supportEmail:I$2().email().nullable().optional().meta({description:`Support email for customer inquiries. Pass null to clear, omit to leave unchanged.`}),image:Y.nullable().optional().meta({description:`Team image. Pass null to clear, omit to leave unchanged.`})}).meta({description:`Schema for updating an existing team organization. Pass null to clear optional fields.`}),up=$$1.omit({id:true,tenantId:true,createdAt:true,updatedAt:true,user:true,teamId:true}).extend({key:I$2().meta({description:`Team identifier (ID or slug)`})}).meta({description:`Schema for adding an existing user to a team. Requires userId of an existing user account.`}),dp=U$2({key:I$2().meta({description:`Team identifier (ID or slug)`}),userId:I$2().meta({description:`User ID of the team member to retrieve`})}),fp=U$2({key:I$2().meta({description:`Team identifier (ID or slug)`}),query:I$2().optional().meta({description:`Search query to filter members by name or email. Case-insensitive partial match`}),limit:(()=>K$1().min(1).max(100).prefault(20).meta({description:`Maximum number of team members to return (1-100, defaults to 20)`}))(),cursor:I$2().optional().meta({description:`Pagination cursor from previous response. Used to fetch next page of results`})}).meta({description:`Query parameters for listing active team members with pagination and search`}),pp=Q$1($$1,`members`),mp=U$2({key:I$2().meta({description:`Team identifier (ID or slug)`}),newOwnerId:I$2().meta({description:`Team member ID of the new owner. This member must already exist with ACTIVE status.`})}).meta({description:`Schema for transferring team ownership from the current owner to another active team member.`}),hp=U$2({previousOwner:$$1.meta({description:`The previous owner (now a regular member with FULL permissions)`}),newOwner:$$1.meta({description:`The new owner (now has isOwner: true)`})}).meta({description:`Response payload for team ownership transfer operation`}),gp=U$2({id:I$2().meta({description:`Team member ID to update`}),permissions:$s.optional().meta({description:`Update base permissions. Must contain at least one permission. Cannot be empty array.`}),isOwner:V$2().optional().meta({description:`Whether this team member is an owner of the team`})}).meta({description:`Schema for updating team member base permissions and ownership status. Cannot update teamId or userId.`});const vp=C$1.route({method:`GET`,path:`/teams/{key}/members/{userId}`,summary:`Get team member by user ID`,description:`Retrieve a team member using the team key (ID or slug) and user ID`,tags:[`Team Members`]}).input(dp.strict()).output($$1),yp=C$1.route({method:`GET`,path:`/teams/{key}/members`,summary:`List team members with cursor-based pagination`,description:`Returns active team members for a specific team with cursor pagination. Team key can be ID or slug. For pending invitations, use the team invites endpoint instead.`,tags:[`Team Members`]}).input(fp.strict()).output(pp),bp=C$1.route({method:`POST`,path:`/teams/{key}/members`,summary:`Add an existing user to a team`,description:`Directly add an existing user to a team. Team key can be ID or slug. Must have at least one permission. To invite a new user by email, use the team invites endpoint instead.`,tags:[`Team Members`]}).input(up.strict()).output($$1),xp=C$1.route({method:`PATCH`,path:`/teams/{key}/members/{userId}`,summary:`Update a team member's permissions`,description:`Update an existing active team member. Team key can be ID or slug. Can modify permissions. Cannot modify isOwner (use transfer endpoint instead).`,tags:[`Team Members`]}).input(gp.extend({key:I$2(),userId:I$2()}).strict()).output($$1),Sp=C$1.route({method:`DELETE`,path:`/teams/{key}/members/{userId}`,summary:`Remove a team member`,description:`Remove an active member from a team. Team key can be ID or slug. Cannot remove the team owner (transfer ownership first). To cancel pending invitations, use the team invites endpoint.`,tags:[`Team Members`]}).input(dp.strict()).output($$1),Cp=C$1.route({method:`POST`,path:`/teams/{key}/transfer`,summary:`Transfer team ownership`,description:`Transfer team ownership from the current owner to another active member. Team key can be ID or slug. Only the current owner can perform this action. Previous owner retains FULL permissions but loses isOwner status.`,tags:[`Team Members`]}).input(mp.strict()).output(hp);var wp={get:vp,list:yp,create:bp,update:xp,remove:Sp,transfer:Cp},Tp={"promoter-signups":{key:`promoter-signups`,description:`Allow public promoter account registration. When disabled, promoters can only join via invitation`,defaultValue:false},"event-approval":{key:`event-approval`,description:`Allow event approval. When disabled, events are automatically approved`,defaultValue:true},"region-filtering":{key:`region-filtering`,description:`Enable region-based event filtering and location-aware features`,defaultValue:false}},Ep={id:`tnt_01hk153x00en6tvgwwwhn8xj1p`,oldId:`p8npi2s3t24arpunzp2e7dzaq`,name:`Mixmag Australia/New Zealand`,slug:`mixmag-anz`,email:`hello@session.services`,adminTeamId:`tem_01hr9kk2pgez2s8jzb3gs5nwsf`,legacyTenantsToTeams:{clhvrnqph0000m9rq039hkw7s:`tem_01kach7nntfvmbtfttvvqfgwbz`,"6kh3sj8ih5tvg927rz5elm90o":`tem_01kach7nnvfvmbtfv6ytq65hek`,vc8vrjrv5arhabnk8ainx0ycb:`tem_01kach7nnvfvmbtfvb3cv5fhpe`,clkwbixsi0000m9coi7i5b65z:`tem_01kach7nnvfvmbtfvgtgkb47kc`},defaultCurrency:`AUD`,baseUrl:{dev:`http://mixmag-anz.localhost:3000`,production:`https://beta.mixmag.au`,sandbox:`https://beta.sandbox.mixmag.au`},logo:{icon:{src:`https://assets.session.services/tenants/mixmag-anz/icon.png`,width:500,height:500},email:{src:`https://assets.session.services/tenants/mixmag-anz/logo-light.png`,darkSrc:`https://assets.session.services/tenants/mixmag-anz/logo-dark.png`,width:200,height:48},website:{src:`https://assets.session.services/tenants/mixmag-anz/logo.svg`,width:400,height:96},qr:{src:`https://assets.session.services/tenants/mixmag-anz/mixmag-qr.svg`}},favicon:`https://assets.session.services/tenants/mixmag-anz/favicon.svg`,features:{"promoter-signups":true,"region-filtering":true},wallet:{apple:{logoUrl:`https://assets.session.services/tenant/mixmag-anz/wallet/logo.png`,logo2xUrl:`https://assets.session.services/tenant/mixmag-anz/wallet/logo@2x.png`,iconUrl:`https://assets.session.services/tenant/mixmag-anz/wallet/icon.png`,icon2xUrl:`https://assets.session.services/tenant/mixmag-anz/wallet/icon@2x.png`}},apps:{ios:`https://apps.apple.com/app/sessions-ticket-scanner/id6740039073`,android:`https://play.google.com/store/apps/details?id=services.session.scanner`}},Dp={id:`tnt_01hk153x00ee4sgh15mp929k20`,oldId:`pivep2xeyvznoqat0h8fswhjc`,name:`Mixmag Asia`,slug:`mixmag-asia`,email:`tickets@mixmag.asia`,adminTeamId:`tem_01hp417148fjbbabfka01qxyk4`,defaultCurrency:`HKD`,baseUrl:{dev:`http://mixmag-asia.local:3000`,production:`https://mixmag-asia.app.session.services`},logo:{icon:{src:`https://assets.session.services/tenants/mixmag-asia/icon.png`,width:500,height:500},email:{src:`https://assets.session.services/icon-bg.png`,darkSrc:`https://assets.session.services/icon-bg.png`,width:165,height:76},website:{src:`https://assets.session.services/icon-bg.png`,width:165,height:76},qr:{src:`https://assets.session.services/tenants/mixmag-asia/qr.svg`}},favicon:`https://assets.dev.session.services/tenants/mixmag-asia/favicon.svg`,features:{"promoter-signups":true,"region-filtering":true},wallet:{apple:{logoUrl:`https://assets.dev.session.services/wallet-assets/tenants/mixmag-anz/logo.png`,logo2xUrl:`https://assets.dev.session.services/wallet-assets/tenants/mixmag-anz/logo@2x.png`,iconUrl:`https://assets.dev.session.services/wallet-assets/tenants/mixmag-anz/icon.png`,icon2xUrl:`https://assets.dev.session.services/wallet-assets/tenants/mixmag-anz/icon@2x.png`}}},Op={id:`tnt_01k4ycprfhfvgaq1evbtretmdg`,name:`Racquet Club`,slug:`racquet-club`,email:`sydney@racquetclub.com.au`,adminTeamId:`tem_01k4ws58yrfvhsygmypqj5m93w`,defaultCurrency:`AUD`,baseUrl:{dev:`http://racquet-club.local:3000`,production:`https://racquet-club.session.services`},logo:{icon:{src:`https://assets.session.services/tenants/racquet-club/icon.png`,width:500,height:500},email:{src:`https://racquetclub.com.au/wp-content/uploads/2024/05/racquetclub-logo.png`,darkSrc:`https://racquetclub.com.au/wp-content/uploads/2024/05/racquetclub-logo.png`,width:443,height:185},website:{src:`https://racquetclub.com.au/wp-content/uploads/2024/05/racquetclub-logo.png`,width:443,height:185},qr:{src:`https://assets.session.services/tenants/racquet-club/qr.svg`}},favicon:`https://assets.dev.session.services/tenants/racquet-club/favicon.svg`,features:{"promoter-signups":false,"region-filtering":true}};const kp=[{id:`tnt_01jqpj2t2kfvmstt6f6tzkbaf2`,oldId:`none`,name:`Session Services`,slug:`session-services`,email:`hello@session.services`,adminTeamId:`tem_01jqpjksnsen9vprw95et60t3m`,defaultCurrency:`AUD`,baseUrl:{dev:`http://localhost:3000`,production:`https://beta.session.services`,sandbox:`https://beta.sandbox.session.services`},logo:{icon:{src:`https://assets.session.services/tenants/session-services/icon.png`,width:500,height:500},email:{src:`https://assets.session.services/tenants/session-services/logo-light.png`,darkSrc:`https://assets.session.services/tenants/session-services/logo-dark.png`,width:200,height:92},website:{src:`https://assets.session.services/tenants/session-services/logo.svg`,width:400,height:184},qr:{src:`https://assets.session.services/tenants/session-services/qr.svg`}},favicon:`https://assets.session.services/tenants/session-services/favicon.svg`,features:{"promoter-signups":true,"region-filtering":true},wallet:{apple:{logoUrl:`https://assets.session.services/tenant/session-services/wallet/logo.png`,logo2xUrl:`https://assets.session.services/tenant/session-services/wallet/logo@2x.png`,iconUrl:`https://assets.session.services/tenant/session-services/wallet/icon.png`,icon2xUrl:`https://assets.session.services/tenant/session-services/wallet/icon@2x.png`}}},Ep,Dp,Op],Ap=new Map,jp=new Map,Mp=new Map,Np=new Map;function Pp(e){return e.replace(/^https?:\/\//,``).replace(/\/.*$/,``)}function Fp(e){return e.replace(/:\d+$/,``)}for(let e of kp){if(Ap.set(e.id,e),jp.set(e.slug,e),e.oldId&&Np.set(e.oldId,e),e.baseUrl.dev){let t=Pp(e.baseUrl.dev);Mp.set(t,e),Mp.set(Fp(t),e);}if(e.baseUrl.sandbox){let t=Pp(e.baseUrl.sandbox);Mp.set(t,e),Mp.set(Fp(t),e);}if(e.baseUrl.production){let t=Pp(e.baseUrl.production);Mp.set(t,e),Mp.set(Fp(t),e);}}const Ip=new Map;for(let[e,t]of Object.entries(Tp))Ip.set(e,t);const Lp=U$2({key:I$2().meta({description:`Unique feature identifier key, typically kebab-case`,examples:[`new-checkout`,`beta-features`,`mobile-app`]}),description:I$2().meta({description:`Human-readable description of what this feature flag controls`,examples:[`Enable the new checkout flow with improved UX`,`Enable beta features for testing`]}),defaultValue:V$2().meta({description:`Default boolean state when feature flag is not overridden`,examples:[true,false]})}).meta({description:`Feature flag schema for validating individual feature flag definitions`,examples:[{key:`new-checkout`,description:`Enable the new checkout flow with improved UX`,defaultValue:false}]});W$2(I$2(),Lp).meta({description:`Complete feature flags configuration as a key-value record mapping feature flag identifiers to their definitions`,examples:[{"new-checkout":{key:`new-checkout`,description:`Enable new checkout flow`,defaultValue:false},"beta-features":{key:`beta-features`,description:`Enable beta features for testing`,defaultValue:true}}]});const Rp=G$2([`COUNTRY`,`STATE`,`CITY`,`VENUE`]);const zp=U$2({id:I$2().meta({description:`Unique region identifier`,examples:[`australia`,`nsw`,`sydney`]}),name:I$2().meta({description:`Display name of the region`,examples:[`Australia`,`New South Wales`,`Sydney`]}),slug:I$2().meta({description:`URL-safe slug for the region`,examples:[`australia`,`nsw`,`sydney`]}),kind:Rp.meta({description:`Geographic classification kind`,examples:[`COUNTRY`,`STATE`,`CITY`,`VENUE`]}),parentId:I$2().optional().meta({description:`Optional parent region ID for hierarchical relationships`,examples:[`australia`,`nsw`]}),latitude:z$2().min(-90).max(90).optional().meta({description:`Optional latitude coordinate for the region center`,examples:[-33.8688,-33.7751]}),longitude:z$2().min(-180).max(180).optional().meta({description:`Optional longitude coordinate for the region center`,examples:[151.2093,151.107]}),radius:z$2().optional().default(20).meta({description:`Search radius in kilometers, defaults to 20 if not specified`,examples:[20,25,50]}),enabled:V$2().meta({description:`Whether the region is currently enabled/active`,examples:[true,false]}),order:z$2().meta({description:`Numeric order for sorting regions in displays`,examples:[1,2,3]})}).meta({description:`Region schema for validating geographic regions with hierarchical support`,examples:[{id:`sydney`,name:`Sydney`,slug:`sydney`,kind:`CITY`,parentId:`nsw`,latitude:-33.8688,longitude:151.2093,radius:25,enabled:true,order:1}]});U$2({id:I$2().meta({description:`Unique tenant identifier`,examples:[`tnt_01jqpj2t2kfvmstt6f6tzkbaf2`]}),oldId:I$2().optional().meta({description:`Legacy tenant identifier for migration purposes`,examples:[`none`]}),name:I$2().meta({description:`Display name of the tenant organization`,examples:[`Session Services`]}),slug:I$2().meta({description:`URL-safe slug for the tenant`,examples:[`session-services`]}),email:I$2().email().meta({description:`Administrative contact email address`,examples:[`hello@session.services`]}),adminTeamId:I$2().meta({description:`Identifier of the admin team whose members have cross-team permissions`,examples:[`tem_01jqpjksnsen9vprw95et60t2m`]}),legacyTenantsToTeams:W$2(I$2(),I$2()).optional().meta({description:`Mapping of legacy tenant oldId values to their corresponding team IDs (for tenants that were converted to teams)`,examples:[{clhvrnqph0000m9rq039hkw7s:`tem_01k5sashm1xmaganzteam0001`,"6kh3sj8ih5tvg927rz5elm90o":`tem_01k6blankm1xmaganzteam002`}]}),defaultCurrency:I$2().meta({description:`Default currency code for the tenant (e.g., 'USD', 'EUR')`,examples:[`AUD`]}),baseUrl:U$2({dev:I$2().optional().meta({description:`Development environment URL`,examples:[`http://localhost:3000`]}),sandbox:I$2().optional().meta({description:`Sandbox environment URL`,examples:[`https://app.sandbox.session.services`]}),production:I$2().optional().meta({description:`Production environment URL`,examples:[`https://app.session.services`]})}).meta({description:`Environment-specific base URLs`}),logo:U$2({icon:U$2({src:I$2().meta({description:`URL to the icon image`,examples:[`https://assets.session.services/tenants/session-services/icon.png`]}),width:z$2().meta({description:`Width of the icon in pixels`,examples:[500]}),height:z$2().meta({description:`Height of the icon in pixels`,examples:[500]})}).meta({description:`Icon configuration for the tenant`}),email:U$2({src:I$2().meta({description:`URL to the email logo image`,examples:[`https://assets.session.services/logos/email.png`]}),darkSrc:I$2().optional().meta({description:`URL to the dark mode email logo image`,examples:[`https://assets.session.services/logos/email-dark.png`]}),width:z$2().meta({description:`Width of the email logo in pixels`,examples:[150]}),height:z$2().meta({description:`Height of the email logo in pixels`,examples:[75]})}).meta({description:`Logo settings for email templates`}),website:U$2({src:I$2().meta({description:`URL to the website logo image`,examples:[`https://assets.session.services/logos/website.png`]}),width:z$2().meta({description:`Width of the website logo in pixels`,examples:[200]}),height:z$2().meta({description:`Height of the website logo in pixels`,examples:[100]})}).meta({description:`Logo settings for website display`}),qr:U$2({src:I$2().meta({description:`URL to the QR code logo image (optimized for small sizes)`,examples:[`https://assets.session.services/tenants/mixmag-anz/mixmag-qr.svg`]})}).meta({description:`Logo settings for QR code center image`})}).meta({description:`Logo configuration for different contexts`}),favicon:I$2().meta({description:`URL to the favicon image`,examples:[`https://assets.session.services/tenants/session-services/favicon.svg`]}),features:W$2(I$2(),V$2()).meta({description:`Optional feature flag overrides mapping feature keys to boolean values`,examples:[{"new-checkout":true,"beta-features":false}]}).optional(),wallet:U$2({apple:U$2({logoUrl:I$2().url().optional().meta({description:`URL to processed logo image (1x, 80x25px)`,examples:[`https://assets.session.services/wallet-assets/tenants/tnt_01jqpj2t2kfvmstt6f6tzkbaf2/logo.png`]}),logo2xUrl:I$2().url().optional().meta({description:`URL to processed logo image (2x, 160x50px)`,examples:[`https://assets.session.services/wallet-assets/tenants/tnt_01jqpj2t2kfvmstt6f6tzkbaf2/logo@2x.png`]}),iconUrl:I$2().url().optional().meta({description:`URL to processed icon image (1x, 29x29px)`,examples:[`https://assets.session.services/wallet-assets/tenants/tnt_01jqpj2t2kfvmstt6f6tzkbaf2/icon.png`]}),icon2xUrl:I$2().url().optional().meta({description:`URL to processed icon image (2x, 58x58px)`,examples:[`https://assets.session.services/wallet-assets/tenants/tnt_01jqpj2t2kfvmstt6f6tzkbaf2/icon@2x.png`]})}).optional().meta({description:`Pre-processed assets for Apple Wallet passes (logo and icon, both 1x and 2x)`})}).optional().meta({description:`Wallet configuration for mobile wallet passes`}),apps:U$2({ios:I$2().url().optional().meta({description:`iOS App Store URL for the tenant's mobile app`,examples:[`https://apps.apple.com/app/sessions/id123456789`]}),android:I$2().url().optional().meta({description:`Google Play Store URL for the tenant's mobile app`,examples:[`https://play.google.com/store/apps/details?id=com.sessions.app`]})}).optional().meta({description:`Mobile app store URLs for promoting app downloads to event organizers`})}).meta({description:`Tenant configuration schema for validating complete tenant settings including identity, branding, URLs, and feature flags`,examples:[{id:`tnt_01jqpj2t2kfvmstt6f6tzkbaf2`,oldId:`none`,name:`Session Services`,slug:`session-services`,email:`hello@session.services`,adminTeamId:`tem_01jqpjksnsen9vprw95et60t2m`,defaultCurrency:`AUD`,baseUrl:{dev:`http://localhost:3000`,production:`https://app.session.services`},logo:{icon:{src:`https://assets.session.services/tenants/session-services/icon.png`,width:500,height:500},email:{src:`https://assets.session.services/logos/email.png`,width:150,height:75},website:{src:`https://assets.session.services/logos/website.png`,width:200,height:100},qr:{src:`https://assets.session.services/tenants/session-services/qr.svg`}},favicon:`https://assets.session.services/tenants/session-services/favicon.svg`,features:{"new-checkout":true,"beta-features":false}}]});const Bp=new Map([[`tnt_01jqpj2t2kfvmstt6f6tzkbaf2`,[{id:`rgn_01k2sv1ddzesmrym079hzw06h8`,name:`Australia`,slug:`australia`,enabled:true,order:1,kind:`COUNTRY`},{id:`rgn_01k2sv1ddzesmrym0enmyhdtxs`,name:`New South Wales`,slug:`nsw`,enabled:true,order:1,parentId:`rgn_01k2sv1ddzesmrym079hzw06h8`,kind:`STATE`},{id:`rgn_01k2sv1ddzesmrym0hvj4ms6wh`,name:`Sydney`,slug:`sydney`,enabled:true,order:1,parentId:`rgn_01k2sv1ddzesmrym0enmyhdtxs`,latitude:-33.8688,longitude:151.2093,kind:`CITY`},{id:`rgn_01k2sv1ddzesmrym0vezgd1xjm`,name:`Victoria`,slug:`victoria`,enabled:true,order:2,parentId:`rgn_01k2sv1ddzesmrym079hzw06h8`,kind:`STATE`},{id:`rgn_01k2sv1ddzesmrym11c64mmpxm`,name:`Melbourne`,slug:`melbourne`,enabled:true,order:2,parentId:`rgn_01k2sv1ddzesmrym0vezgd1xjm`,latitude:-37.8136,longitude:144.9631,kind:`CITY`},{id:`rgn_01k2sv1ddzesmrym1e3pbk81es`,name:`Queensland`,slug:`queensland`,enabled:true,order:3,parentId:`rgn_01k2sv1ddzesmrym079hzw06h8`,kind:`STATE`},{id:`rgn_01k2sv1ddzesmrym1mxb6te1px`,name:`Brisbane`,slug:`brisbane`,enabled:true,order:3,parentId:`rgn_01k2sv1ddzesmrym1e3pbk81es`,latitude:-27.4698,longitude:153.0251,kind:`CITY`}]],[`tnt_01hk153x00en6tvgwwwhn8xj1p`,[{id:`rgn_01k2sv1ddzesmrym079hzw06h8`,name:`Australia`,slug:`australia`,enabled:true,order:1,kind:`COUNTRY`},{id:`rgn_01k2sv1ddzesmrym0enmyhdtxs`,name:`New South Wales`,slug:`nsw`,enabled:true,order:1,parentId:`rgn_01k2sv1ddzesmrym079hzw06h8`,kind:`STATE`},{id:`rgn_01k2sv1ddzesmrym0hvj4ms6wh`,name:`Sydney`,slug:`sydney`,enabled:true,order:1,parentId:`rgn_01k2sv1ddzesmrym0enmyhdtxs`,latitude:-33.8688,longitude:151.2093,kind:`CITY`},{id:`rgn_01k2sv1ddzesmrym0vezgd1xjm`,name:`Victoria`,slug:`victoria`,enabled:true,order:2,parentId:`rgn_01k2sv1ddzesmrym079hzw06h8`,kind:`STATE`},{id:`rgn_01k2sv1ddzesmrym11c64mmpxm`,name:`Melbourne`,slug:`melbourne`,enabled:true,order:2,parentId:`rgn_01k2sv1ddzesmrym0vezgd1xjm`,latitude:-37.8136,longitude:144.9631,kind:`CITY`},{id:`rgn_01k2sv1ddzesmrym1e3pbk81es`,name:`Queensland`,slug:`queensland`,enabled:true,order:3,parentId:`rgn_01k2sv1ddzesmrym079hzw06h8`,kind:`STATE`},{id:`rgn_01k2sv1ddzesmrym1mxb6te1px`,name:`Brisbane`,slug:`brisbane`,enabled:true,order:3,parentId:`rgn_01k2sv1ddzesmrym1e3pbk81es`,latitude:-27.4698,longitude:153.0251,kind:`CITY`},{id:`rgn_01k2sv1ddzesmrym1stdjswc9t`,name:`New Zealand`,slug:`new-zealand`,enabled:true,order:2,kind:`COUNTRY`},{id:`rgn_01k2sv1ddzesmrym211cw0cgv2`,name:`Auckland`,slug:`auckland`,enabled:true,order:4,parentId:`rgn_01k2sv1ddzesmrym1stdjswc9t`,latitude:-36.8485,longitude:174.7633,kind:`CITY`}]],[`tnt_01hk153x00ee4sgh15mp929k20`,[{id:`rgn_01k2sv1de0esmrym2bmed8hdwr`,name:`Hong Kong`,slug:`hong-kong`,enabled:true,order:1,latitude:22.3193,longitude:114.1694,kind:`CITY`},{id:`rgn_01k2sv1de0esmrym2jyqmx3zqq`,name:`Singapore`,slug:`singapore`,enabled:true,order:2,latitude:1.3521,longitude:103.8198,kind:`CITY`},{id:`rgn_01k2sv1de0esmrym2tv10tsqmd`,name:`Bangkok`,slug:`bangkok`,enabled:true,order:3,latitude:13.7563,longitude:100.5018,kind:`CITY`},{id:`rgn_01k2sv1de0esmrym32fj7p92nx`,name:`Tokyo`,slug:`tokyo`,enabled:true,order:4,latitude:35.6762,longitude:139.6503,kind:`CITY`},{id:`rgn_01k2sv1de0esmrym38dsy67mfn`,name:`Jakarta`,slug:`jakarta`,enabled:true,order:5,latitude:-6.2088,longitude:106.8456,kind:`CITY`}]],[`tnt_01k4ycprfhfvgaq1evbtretmdg`,[{id:`rgn_01k4wrdsw0e4as5ezmtaqe3em1`,name:`Moore Park`,slug:`moore-park`,enabled:true,order:1,parentId:`rgn_01k2sv1ddzesmrym0hvj4ms6wh`,address:`17 Park Road N`,postalCode:`2021`,email:`sydney@racquetclub.com.au`,latitude:-33.8893,longitude:151.2228,radius:1,kind:`VENUE`},{id:`rgn_01k4wrdsw0e4as5ezy5vtfmxak`,name:`Bondi Junction`,slug:`bondi-junction`,enabled:true,order:2,parentId:`rgn_01k2sv1ddzesmrym0hvj4ms6wh`,address:`500 Oxford St`,postalCode:`2022`,email:`bondi@racquetclub.com.au`,latitude:-33.8916,longitude:151.2505,radius:1,kind:`VENUE`},{id:`rgn_01k4wrdsw0e4as5f03mtj7135x`,name:`Canberra (Fyshwick)`,slug:`canberra-fyshwick`,enabled:true,order:1,parentId:`rgn_01k4wrdsvze4as5ezd1wbva68b`,address:`18 Nyrang St, Fyshwick`,postalCode:`2609`,email:`canberra@racquetclub.com.au`,latitude:-35.3289,longitude:149.174,radius:1,kind:`VENUE`}]]]),Vp=new Map,Hp=new Map;for(let[e,t]of Array.from(Bp.entries())){let n=new Map,r=new Map;for(let e of t)e.enabled&&(n.set(e.slug,e),r.set(e.id,e));Vp.set(e,n),Hp.set(e,r);}const Up=U$2({tenant:U$2({id:I$2(),name:I$2(),slug:I$2(),adminTeamId:I$2(),legacyTenantsToTeams:W$2(I$2(),I$2()).optional(),features:W$2(I$2(),V$2()).optional(),defaultCurrency:I$2(),logo:U$2({email:U$2({src:I$2(),width:z$2(),height:z$2()}),website:U$2({src:I$2(),width:z$2(),height:z$2()})}),baseUrl:U$2({dev:I$2().optional(),production:I$2().optional()})}),regions:H$2(zp)}),Wp=U$2({regions:H$2(zp)}),Gp=U$2({id:I$2().meta({examples:[E$1.Admission.id],description:`Admission ID reference`}),name:I$2().meta({examples:[`VIP Access`,`General Admission`,`Early Bird`],description:`Admission type name at time of purchase`}),price:U$2({base:z$2().meta({description:`Base price in smallest currency unit (cents)`}),booking:z$2().meta({description:`Booking fee in smallest currency unit (cents)`}),currency:I$2().meta({examples:[`USD`,`EUR`,`GBP`],description:`ISO 4217 currency code`})}).meta({description:`Price snapshot at time of purchase`}),entryStartsAt:X.meta({description:`Wall clock time when ticket holder can enter (no timezone, displays same everywhere)`}),entryEndsAt:X.meta({description:`Wall clock time when entry period ends (no timezone, displays same everywhere)`})}).meta({description:`Admission details for this ticket`}),Kp=U$2({firstName:I$2().meta({examples:[E$1.Customer.firstName],description:`First name of the ticket attendee`}),lastName:I$2().meta({examples:[E$1.Customer.lastName],description:`Last name of the ticket attendee`}),email:R$2().meta({examples:[E$1.Customer.email],description:`Email address of the ticket attendee`}),phone:I$2().meta({examples:[E$1.Customer.phone],description:`Phone number of the ticket attendee (optional)`}).optional()}).meta({description:`Attendee information for a ticket - can be edited by tenant admins. Defaults to the order customer details when ticket is created.`}),qp=U$2({id:I$2().meta({examples:[E$1.Event.id],description:`Event ID reference`}),name:I$2().meta({examples:[E$1.Event.name],description:`The title of the event shown to attendees`}),slug:I$2().meta({examples:[E$1.Event.slug],description:`URL-friendly identifier for the event`}),location:ru.meta({description:`Structured location details for the event`}),entryStartsAt:X.meta({examples:[E$1.Event.entryStartsAt],description:`Wall clock time when event entry begins (no timezone, displays same everywhere)`}),entryEndsAt:X.meta({examples:[E$1.Event.entryEndsAt],description:`Wall clock time when event entry ends (no timezone, displays same everywhere)`}),images:U$2({mobile:Y.meta({description:`Mobile-optimized image for the event`}),desktop:Y.meta({description:`Desktop-optimized image for the event`})})}).meta({description:`Event details for this ticket`}),Jp=U$2({id:I$2().meta({examples:[E$1.User.id],description:`Unique identifier of the user who performed the ticket scan`}),firstName:I$2().meta({examples:[E$1.User.firstName],description:`First name of the user who performed the scan`}),lastName:I$2().meta({examples:[E$1.User.lastName],description:`Last name of the user who performed the scan`}),email:R$2().meta({examples:[E$1.User.email],description:`Email address of the user who performed the scan`})}).meta({description:`Information about the user who scanned a ticket`}),Yp=G$2([`CHECK_IN`,`CHECK_OUT`]),Zp=U$2({id:I$2().meta({examples:[E$1.TicketScan.id],description:`Unique identifier of the ticket scan record`}),scannedAt:N$1().readonly().meta({examples:[E$1.TicketScan.scannedAt],description:`Timestamp when the ticket was scanned in ISO 8601 format`}),scannedById:I$2().meta({examples:[E$1.TicketScan.scannedById],description:`Unique identifier of the user who performed the scan`}),scannedBy:Jp.meta({description:`Detailed information about the user who performed the scan`}),deviceId:I$2().meta({examples:[E$1.TicketScan.deviceId],description:`Unique identifier of the device used for scanning`}),kind:Yp.meta({examples:[`CHECK_IN`],description:`Type of scan operation: CHECK_IN for entry, CHECK_OUT for exit`})}).meta({description:`Record of a ticket scan operation including when, who, and what type of scan`}),Qp=U$2({id:I$2().meta({examples:[E$1.Section.id],description:`Section ID reference`}),name:I$2().meta({examples:[`Floor Section A`,`Balcony Left`,`VIP Lounge`],description:`Section name at time of purchase`}),location:U$2({name:I$2().meta({description:`Venue or location name`}),address:I$2().optional().meta({description:`Street address`}),city:I$2().optional().meta({description:`City name`}),state:I$2().optional().meta({description:`State or province`}),postcode:I$2().optional().meta({description:`Postal/ZIP code`}),country:I$2().optional().meta({description:`ISO country code`}),latitude:z$2().optional().meta({description:`Geographic latitude coordinate`}),longitude:z$2().optional().meta({description:`Geographic longitude coordinate`}),timeZone:I$2().optional().meta({examples:[`America/New_York`,`Europe/London`],description:`IANA timezone identifier`})}).meta({description:`Physical location details`})}).meta({description:`Section details for this ticket`}),$p=G$2([`ACTIVE`,`REDEEMED`,`REFUNDED`,`CANCELLED`]),tm=U$2({id:I$2().readonly().meta({examples:[E$1.Ticket.id],description:`Unique identifier for the ticket`}),token:I$2().readonly().meta({examples:[E$1.Ticket.token],description:`Secure token for ticket verification and validation operations`}),createdAt:N$1().readonly().meta({examples:[E$1.Ticket.createdAt],description:`Timestamp when the ticket was created in ISO 8601 format`}),updatedAt:N$1().readonly().meta({examples:[E$1.Ticket.updatedAt],description:`Timestamp when the ticket was last updated in ISO 8601 format`}),scans:H$2(Zp).meta({description:`Array of all scan records for this ticket (check-ins and check-outs)`}),status:$p.meta({examples:[`ACTIVE`],description:`Current status of the ticket: ACTIVE (can be used), REDEEMED (already used), REFUNDED (money returned), CANCELLED (invalidated)`}),attendee:Kp.meta({description:`Attendee information for this ticket - editable by tenant admins`}),customerId:I$2().meta({examples:[E$1.Ticket.customerId],description:`Unique identifier of the customer who purchased this ticket (read-only)`}),eventId:I$2().meta({examples:[E$1.Ticket.eventId],description:`Unique identifier of the event this ticket grants access to`}),event:qp.meta({description:`Event details for this ticket`}),admissionId:I$2().meta({examples:[E$1.Ticket.admissionId],description:`Unique identifier of the admission type/tier this ticket represents`}),admission:Gp.meta({description:`Admission details for this ticket`}),section:Qp.optional().meta({description:`Section details for this ticket (if assigned to a section)`}),orderId:I$2().meta({examples:[E$1.Ticket.orderId],description:`Unique identifier of the order this ticket was purchased in`}),orderItemId:I$2().meta({examples:[E$1.Ticket.orderItemId],description:`Unique identifier of the specific order item this ticket represents (optional for legacy tickets)`}).optional(),teamId:I$2().meta({examples:[E$1.Ticket.teamId],description:`Team that owns this ticket. Denormalized for efficient queries.`}),promoterId:I$2().meta({examples:[E$1.Ticket.promoterId],description:`Unique identifier of the promoter/organizer who created this event`})}).meta({description:`A ticket represents a customer's admission to an event. It tracks the purchase, scanning history, and current status.`}),nm=tm.pick({status:true,admissionId:true,orderItemId:true}).extend({orderId:I$2().meta({examples:[E$1.Order.id],description:`The order this ticket belongs to`}),customerId:I$2().meta({examples:[E$1.Customer.id],description:`The customer who purchased this ticket`}),attendee:Kp.optional().meta({description:`Optional attendee information - defaults to order customer details if not provided`})}).meta({description:`Schema for creating a new ticket - caller provides minimal input; derived fields are populated by the service`}),rm=tm.pick({id:true}).extend({token:I$2().optional().meta({examples:[E$1.Ticket.token],description:`Security token for ticket validation (optional)`})}).meta({description:`Schema for retrieving a specific ticket by ID with optional validation parameters`}),im=U$2({promoterId:I$2().optional().meta({examples:[E$1.Promoter.id],description:`Filter tickets by promoter/organizer unique identifier (optional)`}),eventId:I$2().optional().meta({examples:[E$1.Event.id],description:`Filter tickets by event unique identifier (optional)`}),customerId:I$2().optional().meta({examples:[E$1.Customer.id],description:`Filter tickets by customer unique identifier (optional)`}),orderId:I$2().optional().meta({examples:[E$1.Order.id],description:`Filter tickets by order unique identifier (optional)`}),status:G$2([`ACTIVE`,`REDEEMED`,`REFUNDED`,`CANCELLED`]).optional().meta({examples:[`ACTIVE`],description:`Filter tickets by status: ACTIVE (can be used), REDEEMED (already used), REFUNDED (money returned), CANCELLED (invalidated)`}),orderToken:I$2().optional().meta({examples:[E$1.Order.token],description:`Order token used to access tickets for a specific order without permissions`}),query:I$2().optional().meta({examples:[`John Doe`],description:`Optional search query to filter tickets by customer details. When provided, search-backed pagination is used.`}),limit:(()=>K$1().min(1).max(100).prefault(20).meta({examples:[20],description:`Maximum number of tickets to return per request (1-100, default: 20)`}))().optional(),cursor:I$2().optional().meta({examples:[`eyJpZCI6InRrdF8wMWpwczVjZ3NnMHMzMncycHI3M3ZiY2NkZSJ9`],description:`Pagination cursor for continuing to fetch subsequent results (optional)`})}).meta({description:`Schema for listing tickets with optional filtering, search, and cursor-based pagination`}),am=Q$1(tm,`tickets`),om=U$2({ticket:tm}),sm=U$2({id:I$2().meta({examples:[E$1.Ticket.id],description:`Unique identifier for the ticket being scanned`}),token:I$2().meta({examples:[E$1.Ticket.token],description:`Security token for ticket validation`}),kind:G$2([`CHECK_IN`,`CHECK_OUT`]).meta({examples:[`CHECK_IN`],description:`Type of scan operation - CHECK_IN for entry, CHECK_OUT for exit`}),deviceId:I$2().optional().meta({examples:[E$1.TicketScan.deviceId],description:`Unique identifier of the scanning device (optional)`})}).meta({description:`Schema for creating a ticket scan record - validates ticket and records check-in/check-out activity`}),cm=G$2([`ACTIVE`,`CANCELLED`]).describe(`Status updates allowed via PATCH: ACTIVE (reactivate), CANCELLED (void). REDEEMED is set via scan endpoint, REFUNDED via refund flow.`),lm=U$2({id:I$2().meta({examples:[E$1.Ticket.id],description:`Unique identifier of the ticket to update`}),status:cm.optional().meta({description:`Update ticket status: CANCELLED to void, ACTIVE to reactivate`}),attendee:Kp.partial().nullable().optional().meta({description:`Attendee info. Pass object to set/update, null to clear, or omit to leave unchanged.`}),admissionId:I$2().optional().meta({examples:[E$1.Admission.id],description:`Change ticket type/admission (admission and section objects will be fetched from event and stored)`})}).meta({description:`Schema for updating a ticket.`}),um={id:E$1.User.id,createdAt:E$1.User.createdAt,updatedAt:E$1.User.updatedAt,email:E$1.User.email,firstName:E$1.User.firstName,lastName:E$1.User.lastName,imageUrl:`https://assets.session.services/examples/avatar.jpg`,tenantId:E$1.User.tenantId},dm=U$2({id:I$2().readonly().meta({description:`Unique identifier for the user`,examples:[E$1.User.id]}),createdAt:N$1().readonly().meta({description:`ISO 8601 timestamp when the user account was created`,examples:[E$1.User.createdAt]}),updatedAt:N$1().readonly().meta({description:`ISO 8601 timestamp when the user account was last updated`,examples:[E$1.User.updatedAt]}),email:R$2().meta({description:`User's email address, used for authentication and communication`,examples:[E$1.User.email]}),firstName:I$2().min(1).meta({description:`User's first name`,examples:[E$1.User.firstName]}),lastName:I$2().min(1).meta({description:`User's last name`,examples:[E$1.User.lastName]}),imageUrl:mo().optional().meta({description:`Optional URL to the user's profile image or avatar`,examples:[`https://assets.session.services/examples/avatar.jpg`]}),metadata:W$2(I$2(),Ys).optional().meta({description:`Arbitrary key-value metadata for storing user preferences and settings`,examples:[{"widgets:team_abc123":{visibleWidgets:[`revenue`]}}]})}).meta({ref:`User`,description:`User entity containing profile and audit information scoped to a specific tenant`,examples:[um]}),fm=$$1.meta({ref:`MeTeamMember`,description:`Team membership for the current user with denormalized user details.`}),pm=U$2({user:dm.nullable().meta({description:`Current authenticated user profile, null if not authenticated`}),isAdmin:V$2().meta({description:`Whether the current user has admin privileges for the tenant`}),members:H$2(fm).meta({description:`All team memberships for the current user within this tenant.`})}).meta({ref:`MeResponse`,description:`Response payload for GET /users/me providing the current user, tenant admin status, and team memberships.`,examples:[{user:{id:`usr_01k5hbpkfje048zccqmqfhjpep`,createdAt:`2025-09-19T16:07:46.418Z`,updatedAt:`2025-09-19T16:07:46.418Z`,email:`j@1f.io`,firstName:`Jay`,lastName:`McMullen`,imageUrl:`https://assets.session.services/examples/avatar.jpg`},isAdmin:true,members:[{id:`mbr_01jps5cgsec5ge0b1bxa6gzkkk`,createdAt:`2025-09-25T03:25:46.080Z`,updatedAt:`2025-09-25T03:25:46.080Z`,teamId:`tem_01jqpjksnsen9vprw95et60t2m`,userId:`usr_01k5hbpkfje048zccqmqfhjpep`,user:{id:`usr_01k5hbpkfje048zccqmqfhjpep`,email:`j@1f.io`,firstName:`Jay`,lastName:`McMullen`,imageUrl:`https://assets.session.services/examples/avatar.jpg`},permissions:[`FULL`],isOwner:true,tenantId:`tnt_01abc123`}]}]}),mm=U$2({id:I$2().readonly().meta({description:`Unique identifier for the venue`}),createdAt:N$1().readonly().meta({description:`Timestamp in ISO 8601 format when the venue was created`}),updatedAt:N$1().readonly().meta({description:`Timestamp in ISO 8601 format when the venue was last updated`}),teamId:I$2().meta({description:`Team that manages this venue`}),locationId:Ms.meta({examples:[`loc_01h2xk3j9k8m2n5p7q9r1s3t4v`],description:`Location identifier for this venue`}),googlePlaceId:I$2().optional().meta({examples:[`ChIJP3Sa8ziYEmsRUKgyFmh9AQM`],description:`Google Place ID when this venue is linked to a Google Places location`}),approval:q$1.meta({examples:[`APPROVED`],description:`Approval status of the venue`}),name:I$2().min(3).max(100).meta({description:`Display name of the venue. Must be between 3 and 100 characters`}),slug:I$2().min(3).meta({description:`URL-friendly slug for the venue. Must be unique within tenant`}),description:I$2().max(500).optional().meta({description:`Short description of the venue for listings and discovery`}),image:Y.optional().meta({description:`Venue image`}),contact:U$2({email:R$2().optional().meta({description:`Public contact email for venue inquiries`}),phone:I$2().optional().meta({description:`Public contact phone number`}),website:mo().optional().meta({description:`Venue website URL`}),instagram:I$2().optional().meta({description:`Instagram profile URL`}),facebook:I$2().optional().meta({description:`Facebook page URL`}),twitter:I$2().optional().meta({description:`Twitter/X profile URL`}),tiktok:I$2().optional().meta({description:`TikTok profile URL`}),youtube:I$2().optional().meta({description:`YouTube channel URL`})}).optional().meta({description:`Public contact information and social media links`}),location:ru.omit({venueId:true}).meta({description:`Physical location details including address, coordinates, and timezone`}),geohash:I$2().meta({description:`Geohash encoding of the venue's location for efficient spatial queries`}),capacity:z$2().int().min(1).optional().meta({description:`Maximum capacity of the venue (number of attendees)`}),metadata:Xs,deletedAt:N$1().readonly().optional().meta({description:`Timestamp in ISO 8601 format when the venue was soft-deleted. Null if not deleted`}),tenantId:I$2().readonly().meta({description:`Tenant ID for multi-tenant isolation`})}).meta({description:`Managed venue with custom branding and details. Teams can claim venues which then appear in location search results.`}),hm=mm.omit({id:true,tenantId:true,createdAt:true,updatedAt:true,geohash:true,deletedAt:true,location:true,googlePlaceId:true,approval:true}).extend({slug:I$2().min(3).optional().meta({description:`URL-friendly slug for the venue. If not provided, will be automatically generated from the name. Must be unique within tenant`})}).meta({description:`Schema for creating a new venue. The system automatically derives location details and Google Place ID from the locationId`}),gm=U$2({key:I$2().min(1).meta({description:`Venue key - either a unique ID (ven_xxx format) or URL-friendly slug`,examples:[E$1.Venue.id,E$1.Venue.slug]})}),_m=U$2({key:I$2().meta({examples:[E$1.Venue.id,E$1.Venue.slug],description:`Venue key - either a unique ID (ven_xxx format) or URL-friendly slug`})}),vm=U$2({teamId:I$2().optional().meta({description:`Filter venues by owner team ID`}),query:I$2().optional().meta({description:`Optional search query for filtering venues by name or slug`}),latitude:K$1().min(-90).max(90).optional().meta({description:`Latitude for location-based search. Must be used with longitude`}),longitude:K$1().min(-180).max(180).optional().meta({description:`Longitude for location-based search. Must be used with latitude`}),radius:K$1().min(1).max(2e4).optional().meta({description:`Search radius in kilometers (1-20000). Requires latitude and longitude`}),limit:(()=>K$1().min(1).max(100).prefault(20).meta({description:`Maximum number of venues to return (1-100, defaults to 20)`}))(),cursor:I$2().optional().meta({description:`Pagination cursor from previous response. Used to fetch next page of results`})}).meta({description:`Query parameters for listing venues with pagination, filtering, and location-based search`}),ym=Q$1(mm,`venues`).meta({description:`Paginated response containing venues with cursor for next page`}),bm=mm.omit({id:true,tenantId:true,teamId:true,createdAt:true,updatedAt:true,deletedAt:true,geohash:true}).partial().extend({key:I$2().meta({examples:[E$1.Venue.id,E$1.Venue.slug],description:`Venue key - either a unique ID (ven_xxx format) or URL-friendly slug`}),description:I$2().max(500).nullable().optional().meta({description:`Short description of the venue. Pass null to clear, omit to leave unchanged.`}),image:Y.nullable().optional().meta({description:`Venue image. Pass null to clear, omit to leave unchanged.`}),capacity:z$2().int().min(1).nullable().optional().meta({description:`Maximum capacity. Pass null to clear, omit to leave unchanged.`}),contact:U$2({email:R$2().optional(),phone:I$2().optional(),website:mo().optional(),instagram:I$2().optional(),facebook:I$2().optional(),twitter:I$2().optional(),tiktok:I$2().optional(),youtube:I$2().optional()}).nullable().optional().meta({description:`Contact information. Pass null to clear all contact fields, omit to leave unchanged.`}),googlePlaceId:I$2().nullable().optional().meta({description:`Google Place ID. Pass null to unlink from Google Places, omit to leave unchanged.`})}).meta({description:`Schema for updating an existing venue. Cannot change teamId (owner). Pass null to clear optional fields.`});
46
-
47
- const gn=C$1.route({method:`GET`,path:`/events/{eventId}/admissions/{id}`,summary:`Get admission by ID`,tags:[`Admissions`]}).input(rc.strict()).output(dc),_n=C$1.route({method:`POST`,path:`/events/{eventId}/admissions`,summary:`Create a new admission`,tags:[`Admissions`]}).input(tc.strict()).output(dc),vn=C$1.route({method:`PUT`,path:`/events/{eventId}/admissions/{id}`,summary:`Update an admission`,tags:[`Admissions`]}).input(fc.strict()).output(dc);var yn={get:gn,list:C$1.route({method:`GET`,path:`/events/{eventId}/admissions`,summary:`List admissions`,description:`Returns admissions with cursor-based pagination. Automatically uses search-backed pagination when query parameter is provided for full-text search capabilities.`,tags:[`Admissions`]}).input(ac.strict()).output(sc),create:_n,update:vn,remove:C$1.route({method:`DELETE`,path:`/events/{eventId}/admissions/{id}`,summary:`Delete an admission`,tags:[`Admissions`]}).input(nc.strict()).output(dc),quote:C$1.route({method:`POST`,path:`/events/{eventId}/admissions/quote`,summary:`Create an admission quote`,tags:[`Admissions`]}).input(lc.strict()).output(uc)},bn={track:C$1.route({method:`POST`,path:`/analytics/track`,summary:`Track event`,tags:[`Analytics`]}).input(xl).output(bl),page:C$1.route({method:`POST`,path:`/analytics/page`,summary:`Page event`,tags:[`Analytics`]}).input(xl).output(bl),identify:C$1.route({method:`POST`,path:`/analytics/identify`,summary:`Identify event`,tags:[`Analytics`]}).input(xl).output(bl),alias:C$1.route({method:`POST`,path:`/analytics/alias`,summary:`Alias event`,tags:[`Analytics`]}).input(xl).output(bl),group:C$1.route({method:`POST`,path:`/analytics/group`,summary:`Group event`,tags:[`Analytics`]}).input(xl).output(bl),screen:C$1.route({method:`POST`,path:`/analytics/screen`,summary:`Screen event`,tags:[`Analytics`]}).input(xl).output(bl)};const xn=C$1.route({method:`GET`,path:`/beneficiaries/{id}`,summary:`Get beneficiary by ID`,tags:[`Beneficiaries`]}).input(Al.strict()).output(Pl),Sn=C$1.route({method:`POST`,path:`/beneficiaries`,summary:`Create a new beneficiary`,tags:[`Beneficiaries`]}).input(kl.strict()).output(Pl);var Cn={get:xn,list:C$1.route({method:`GET`,path:`/beneficiaries`,summary:`List beneficiaries with cursor-based pagination`,description:"Returns beneficiary data with cursor-based pagination and optional full-text search via the `query` parameter.",tags:[`Beneficiaries`]}).input(Ml.strict()).output(Nl),create:Sn,remove:C$1.route({method:`DELETE`,path:`/beneficiaries/{id}`,summary:`Delete a beneficiary`,tags:[`Beneficiaries`]}).input(jl.strict()).output(Pl)};const wn=C$1.route({method:`GET`,path:`/coupon-codes/{id}`,summary:`Get coupon code by ID`,tags:[`Coupon Codes`]}).input(Vl.strict()).output(Yl),Tn=C$1.route({method:`POST`,path:`/coupon-codes`,summary:`Create a new coupon code`,tags:[`Coupon Codes`]}).input(Wl.strict()).output(Yl),En=C$1.route({method:`PUT`,path:`/coupon-codes/{id}`,summary:`Update a coupon code`,tags:[`Coupon Codes`]}).input(Gl.strict()).output(Yl);var Dn={get:wn,list:C$1.route({method:`GET`,path:`/coupon-codes`,summary:`List coupon codes with cursor-based pagination`,description:"Returns coupon code data with cursor-based pagination and optional full-text search via the `query` parameter.",tags:[`Coupon Codes`]}).input(ql.strict()).output(Jl),create:Tn,update:En,remove:C$1.route({method:`DELETE`,path:`/coupon-codes/{id}`,summary:`Delete a coupon code`,tags:[`Coupon Codes`]}).input(Kl.strict()).output(Yl)};const On=C$1.route({method:`GET`,path:`/coupons/{id}`,summary:`Get coupon by ID`,tags:[`Coupons`]}).input(Zl.strict()).output(tu),kn=C$1.route({method:`POST`,path:`/coupons`,summary:`Create a new coupon`,tags:[`Coupons`]}).input(Xl.strict()).output(tu),An=C$1.route({method:`PUT`,path:`/coupons/{id}`,summary:`Update a coupon`,tags:[`Coupons`]}).input(nu.strict()).output(tu);var jn={get:On,list:C$1.route({method:`GET`,path:`/coupons`,summary:`List coupons with cursor-based pagination`,description:"Returns coupon data with cursor-based pagination and optional full-text search via the `query` parameter.",tags:[`Coupons`]}).input($l.strict()).output(eu),create:kn,update:An,remove:C$1.route({method:`DELETE`,path:`/coupons/{id}`,summary:`Delete a coupon`,tags:[`Coupons`]}).input(Ql.strict()).output(tu),code:Dn};const Mn=Dc.extend({limit:K$1().min(1).max(100).optional().default(10)}),Nn=Tc.extend({limit:K$1().min(1).max(100).optional().default(10)}),Pn=kc.extend({limit:K$1().min(1).max(100).optional().default(10)}),Fn=Nc.extend({limit:K$1().min(1).max(100).optional().default(10)}),In=Fc.extend({limit:K$1().min(1).max(100).optional().default(10)});var Ln={summary:C$1.route({method:`GET`,path:`/events/{eventId}/performance/summary`,summary:`Get event performance summary`,description:`Top-level KPI metrics with period comparison based on tracking events`,tags:[`Event Performance`]}).input(mc).output(hc),tickets:C$1.route({method:`GET`,path:`/events/{eventId}/performance/tickets`,summary:`Get ticket sales performance`,description:`Time series of ticket sales based on tracking events (aggregated counts only)`,tags:[`Event Performance`]}).input(gc).output(_c),funnel:C$1.route({method:`GET`,path:`/events/{eventId}/performance/funnel`,summary:`Get sales funnel performance`,description:`Conversion funnel showing drop-off at each stage from tracking events`,tags:[`Event Performance`]}).input(vc).output(yc),campaigns:C$1.route({method:`GET`,path:`/events/{eventId}/performance/campaigns`,summary:`Get campaign performance`,description:`Marketing campaign metrics from tracking events (UTM campaign parameter)`,tags:[`Event Performance`]}).input(Mn).output(Oc),coupons:C$1.route({method:`GET`,path:`/events/{eventId}/performance/coupons`,summary:`Get coupon performance`,description:`Coupon usage and revenue from actual order data`,tags:[`Event Performance`]}).input(Nn).output(Ec),mediums:C$1.route({method:`GET`,path:`/events/{eventId}/performance/mediums`,summary:`Get traffic medium performance`,description:`Performance by traffic medium (social, email, cpc) from tracking events`,tags:[`Event Performance`]}).input(Pn).output(Ac),devices:C$1.route({method:`GET`,path:`/events/{eventId}/performance/devices`,summary:`Get device performance`,description:`Performance breakdown by device type from tracking events`,tags:[`Event Performance`]}).input(jc).output(Mc),locations:C$1.route({method:`GET`,path:`/events/{eventId}/performance/locations`,summary:`Get geographic performance`,description:`Performance by geographic location from tracking events`,tags:[`Event Performance`]}).input(Fn).output(Pc),traffic:C$1.route({method:`GET`,path:`/events/{eventId}/performance/traffic`,summary:`Get traffic source performance`,description:`Top referral sources and channels from tracking events`,tags:[`Event Performance`]}).input(In).output(Ic),attendance:C$1.route({method:`GET`,path:`/events/{eventId}/performance/attendance`,summary:`Get event attendance statistics`,description:`Check-in statistics and attendance breakdown by admission and section`,tags:[`Event Performance`]}).input(Lc).output(Vc)};const Rn=C$1.route({method:`GET`,path:`/events/{key}`,summary:`Get event by ID or slug`,description:`Retrieve an event using either its unique ID or URL-friendly slug`,tags:[`Events`]}).input(hu).output(fu),zn=C$1.route({method:`POST`,path:`/events`,summary:`Create a new event`,tags:[`Events`]}).input(pu.strict()).output(bu),Bn=C$1.route({method:`PUT`,path:`/events/{key}`,summary:`Update an event`,description:`Update an event using either its unique ID or URL-friendly slug`,tags:[`Events`]}).input(xu.strict()).output(bu);var Vn={get:Rn,list:C$1.route({method:`GET`,path:`/events`,summary:`List events`,description:`List events with filters for status, approval, visibility, and promoter. Supports full‑text search (query), geo search (latitude/longitude/radius), and cursor-based pagination.`,tags:[`Events`]}).input(vu).output(yu),create:zn,update:Bn,remove:C$1.route({method:`DELETE`,path:`/events/{key}`,summary:`Delete an event`,description:`Delete an event using either its unique ID or URL-friendly slug`,tags:[`Events`]}).input(mu.strict()).output(bu),performance:Ln},Hn={get:C$1.route({method:`GET`,path:`/events/{eventId}/collaborators/{id}`,summary:`Get event collaborator by ID`,description:`Retrieve an active event collaboration by its unique ID. Returns the collaborator record with promoter and permission details.`,tags:[`Event Collaborators`]}).input(Eu.strict()).output(Su),list:C$1.route({method:`GET`,path:`/events/{eventId}/collaborators`,summary:`List active event collaborators with cursor-based pagination`,description:`Returns active event collaborations for a specific event with cursor pagination. Only shows accepted collaborators. For pending invitations, use the invite endpoints.`,tags:[`Event Collaborators`]}).input(Du.strict()).output(Ou),create:C$1.route({method:`POST`,path:`/events/{eventId}/collaborators`,summary:`Invite a promoter to collaborate on an event`,description:`Send a collaboration invitation to a promoter (can be from a different team). Enables cross-team promoter-to-promoter collaboration. Creates a pending invitation with a secure token that expires in 7 days. The invited promoter must accept to create an active collaboration.`,tags:[`Event Collaborators`]}).input(Tu.strict()).output(wu),accept:C$1.route({method:`POST`,path:`/events/{eventId}/collaborators/{id}/accept`,summary:`Accept an event collaboration invitation`,description:`Accept a pending event collaboration invitation. User must be a member of the invited promoter's team. Deletes the invitation and creates an active collaboration record.`,tags:[`Event Collaborators`]}).input(Cu.strict()).output(Su),remove:C$1.route({method:`DELETE`,path:`/events/{eventId}/collaborators/{id}`,summary:`Remove active event collaboration`,description:`Remove an active collaboration (hard delete). Can be done by event team members or the collaborating team members. This completely removes access.`,tags:[`Event Collaborators`]}).input(Eu.strict()).output(Ho())},Un={placeAutocomplete:C$1.route({method:`GET`,path:`/internal/places/autocomplete`,summary:`Get place autocomplete suggestions`,tags:[`Internal`]}).input(Mu.strict()).output(Au),placeDetails:C$1.route({method:`GET`,path:`/internal/places/{placeId}`,summary:`Get place details including timezone`,tags:[`Internal`]}).input(Nu.strict()).output(ju),uploadImage:C$1.route({method:`POST`,path:`/internal/upload/image`,summary:`Upload and compress image`,description:`Upload an image file (PNG, JPEG, or SVG), optionally resize it, and compress it for web. SVG files are uploaded as-is without compression. Returns the uploaded image URL and metadata.`,tags:[`Internal`]}).input(Pu.strict()).output(Fu)},Wn={list:C$1.route({method:`GET`,path:`/locations`,summary:`Search for locations`,description:`Search for locations by query. Returns predictions with venue badges for locations that are managed venues on the platform. The query parameter is required.`,tags:[`Locations`]}).input(Lu.strict()).output(zu),get:C$1.route({method:`GET`,path:`/locations/{key}`,summary:`Get location details`,description:`Fetch full location details including coordinates, timezone, and photo. Accepts location ID or provider identifier (e.g., Google Place ID). Uses cache-first strategy.`,tags:[`Locations`]}).input(Iu.strict()).output(au)},Gn={create:C$1.route({method:`POST`,path:`/orders/{id}/notes`,summary:`Add note to order timeline (promoter only)`,description:`Add a user note to the order timeline. Note will be marked as editable by the author.`,tags:[`Orders`]}).input(cd.strict()).output(Ad),update:C$1.route({method:`PATCH`,path:`/orders/{id}/notes/{noteId}`,summary:`Update timeline note (author only)`,description:`Update a timeline note. Only the author can edit their own notes. System-generated entries cannot be edited.`,tags:[`Orders`]}).input(Id.strict()).output(Ad),remove:C$1.route({method:`DELETE`,path:`/orders/{id}/notes/{noteId}`,summary:`Delete timeline note (author only)`,description:`Delete a timeline note. Only the author can delete their own notes. System-generated entries cannot be deleted.`,tags:[`Orders`]}).input(md.strict()).output(Ho())};const Kn=C$1.route({method:`GET`,path:`/orders/{id}`,summary:`Get order by ID`,tags:[`Orders`]}).input(gd.strict()).output(Ad),qn=C$1.route({method:`GET`,path:`/orders`,summary:`List orders with cursor-based pagination`,description:"Returns order data with cursor-based pagination and optional full-text search via the `query` parameter.",tags:[`Orders`]}).input(ld.strict()).output(Td),Jn=C$1.route({method:`POST`,path:`/orders/quote`,summary:`Create order quote`,tags:[`Orders`]}).input(Dd.strict()).output(Od);var Yn={get:Kn,list:qn,create:C$1.route({method:`POST`,path:`/orders`,summary:`Create a new order`,tags:[`Orders`]}).input(pd.strict()).output(Ad),update:C$1.route({method:`PUT`,path:`/orders/{id}`,summary:`Update an order`,tags:[`Orders`]}).input(Fd.strict()).output(Ad),quote:Jn,count:C$1.route({method:`GET`,path:`/orders/count`,summary:`Count orders`,tags:[`Orders`]}).input(ud.strict()).output(dd),stats:C$1.route({method:`GET`,path:`/orders/stats`,summary:`Get order statistics`,tags:[`Orders`]}).input(ud.strict()).output(Pd),resend:C$1.route({method:`POST`,path:`/orders/{id}/resend`,summary:`Resend tickets to customer`,description:`Resend order tickets to the customer's email. Optionally provide a different email address.`,tags:[`Orders`]}).input(kd.strict()).output(Ad),note:Gn},Xn={get:C$1.route({method:`GET`,path:`/payouts/{id}`,summary:`Get payout by ID with breakdown`,tags:[`Payouts`]}).input(uf.strict()).output(ff),list:C$1.route({method:`GET`,path:`/payouts`,summary:`List payouts with cursor-based pagination`,description:"Returns payout data with cursor-based pagination and optional full-text search via the `query` parameter.",tags:[`Payouts`]}).input(sf.strict()).output(df),stats:C$1.route({method:`POST`,path:`/payouts/stats`,summary:`Get payout statistics`,tags:[`Payouts`]}).input(mf.strict()).output(pf),breakdown:C$1.route({method:`GET`,path:`/payouts/{payoutId}/breakdown`,summary:`Get payout breakdown`,tags:[`Payouts`]}).input(Rd.strict()).output(af),approve:C$1.route({method:`POST`,path:`/payouts/{id}/approve`,summary:`Approve a payout for processing`,tags:[`Payouts`]}).input(Xd.strict()).output(Ld)},Zn={get:C$1.route({method:`GET`,path:`/teams/{teamId}/members/{memberId}/permission-scopes/{id}`,summary:`Get permission scope by ID`,description:`Retrieve a permission scope using its unique ID`,tags:[`Permission Scopes`]}).input(U$2({teamId:I$2(),memberId:I$2()}).merge(xf).strict()).output(vf),list:C$1.route({method:`GET`,path:`/teams/{teamId}/members/{memberId}/permission-scopes`,summary:`List permission scopes with cursor-based pagination`,description:`Returns permission scopes for a specific team member with cursor pagination. Can filter by kind (PROMOTER or VENUE).`,tags:[`Permission Scopes`]}).input(U$2({teamId:I$2(),memberId:I$2()}).merge(Sf).strict()).output(Cf),create:C$1.route({method:`POST`,path:`/teams/{teamId}/members/{memberId}/permission-scopes`,summary:`Create a new permission scope`,description:`Create a permission scope for a team member. Can be PROMOTER-specific (applies to all events by that promoter) or VENUE-specific (applies to all events at that venue). Replaces lower-tier permissions.`,tags:[`Permission Scopes`]}).input(U$2({teamId:I$2(),memberId:I$2()}).and(bf)).output(vf),update:C$1.route({method:`PATCH`,path:`/teams/{teamId}/members/{memberId}/permission-scopes/{id}`,summary:`Update a permission scope`,description:`Update an existing permission scope. Only the permissions array can be modified.`,tags:[`Permission Scopes`]}).input(U$2({id:I$2(),teamId:I$2(),memberId:I$2()}).merge(wf).strict()).output(vf),remove:C$1.route({method:`DELETE`,path:`/teams/{teamId}/members/{memberId}/permission-scopes/{id}`,summary:`Delete a permission scope`,description:`Remove a permission scope. Team member will revert to lower-tier permissions for the affected resource.`,tags:[`Permission Scopes`]}).input(U$2({teamId:I$2(),memberId:I$2()}).merge(xf).strict()).output(vf)},Qn={summary:C$1.route({method:`GET`,path:`/promoters/{promoterId}/performance/summary`,summary:`Get promoter performance summary`,description:`Overview KPIs for a single promoter based on tracking data (excludes entity-based data like payouts)`,tags:[`Promoter Performance`]}).input(Hc).output(Uc),revenue:C$1.route({method:`GET`,path:`/promoters/{promoterId}/performance/revenue`,summary:`Get promoter revenue over time`,description:`Time-series data for revenue and tickets sold for a single promoter`,tags:[`Promoter Performance`]}).input(Wc).output(Gc),events:C$1.route({method:`GET`,path:`/promoters/{promoterId}/performance/events`,summary:`Get promoter top events by tickets`,description:`Top events by ticket count for a single promoter`,tags:[`Promoter Performance`]}).input(Kc).output(qc)};const $n=C$1.route({method:`GET`,path:`/promoters/{key}`,summary:`Get promoter by ID or slug`,description:`Retrieve a promoter using either its unique ID or URL-friendly slug`,tags:[`Promoters`]}).input(Af.strict()).output(Rf),er=C$1.route({method:`POST`,path:`/promoters`,summary:`Create a new promoter`,description:`Create a new promoter brand within a team`,tags:[`Promoters`]}).input(Mf.strict()).output(Rf),tr=C$1.route({method:`PUT`,path:`/promoters/{key}`,summary:`Update a promoter`,description:`Update a promoter using either its unique ID or URL-friendly slug`,tags:[`Promoters`]}).input(zf.strict()).output(Rf);var nr={get:$n,list:C$1.route({method:`GET`,path:`/promoters`,summary:`List promoters with cursor-based pagination`,description:`Returns promoters with cursor pagination. Filter by teamId to see promoters for a specific team.`,tags:[`Promoters`]}).input(If.strict()).output(Lf),create:er,update:tr,remove:C$1.route({method:`DELETE`,path:`/promoters/{key}`,summary:`Delete a promoter`,description:`Delete a promoter using either its unique ID or URL-friendly slug`,tags:[`Promoters`]}).input(Nf.strict()).output(Rf),performance:Qn};const rr=C$1.route({method:`GET`,path:`/events/{eventId}/sections/{id}`,summary:`Get section by ID`,tags:[`Sections`]}).input(yd.strict()).output(Sd),ir=C$1.route({method:`POST`,path:`/events/{eventId}/sections`,summary:`Create a new section`,tags:[`Sections`]}).input(_d.strict()).output(Sd),ar=C$1.route({method:`PUT`,path:`/events/{eventId}/sections/{id}`,summary:`Update a section`,tags:[`Sections`]}).input(Cd.strict()).output(Sd);var or={get:rr,list:C$1.route({method:`GET`,path:`/events/{eventId}/sections`,summary:`List sections`,description:`Returns sections with cursor-based pagination. Automatically uses search-backed pagination when query parameter is provided for full-text search capabilities.`,tags:[`Sections`]}).input(bd.strict()).output(xd),create:ir,update:ar,remove:C$1.route({method:`DELETE`,path:`/events/{eventId}/sections/{id}`,summary:`Delete a section`,tags:[`Sections`]}).input(vd.strict()).output(Sd)},sr={summary:C$1.route({method:`GET`,path:`/teams/{teamId}/performance/summary`,summary:`Get team performance summary`,description:`Overview KPIs aggregated across all promoters in the team, based on tracking data (excludes entity-based data like payouts)`,tags:[`Team Performance`]}).input(Yc).output(Xc),revenue:C$1.route({method:`GET`,path:`/teams/{teamId}/performance/revenue`,summary:`Get team revenue over time`,description:`Time-series data for revenue and tickets sold aggregated across all promoters in the team`,tags:[`Team Performance`]}).input(Zc).output(Qc),funnel:C$1.route({method:`GET`,path:`/teams/{teamId}/performance/funnel`,summary:`Get team conversion funnel`,description:`Conversion funnel showing drop-off rates from product view to purchase, aggregated across all events in the team`,tags:[`Team Performance`]}).input(rl).output(il),traffic:C$1.route({method:`GET`,path:`/teams/{teamId}/performance/traffic`,summary:`Get team traffic sources`,description:`Traffic source breakdown by campaign, medium, or source, aggregated across all events in the team`,tags:[`Team Performance`]}).input(ll).output(ul),events:C$1.route({method:`GET`,path:`/teams/{teamId}/performance/events`,summary:`Get team top events by tickets`,description:`Top events by ticket count, aggregated across all events in the team`,tags:[`Team Performance`]}).input(tl).output(nl),admissions:C$1.route({method:`GET`,path:`/teams/{teamId}/performance/admissions`,summary:`Get team top admissions by tickets`,description:`Top admission types by ticket count, aggregated across all events in the team`,tags:[`Team Performance`]}).input(sl).output(cl),orders:C$1.route({method:`GET`,path:`/teams/{teamId}/performance/orders`,summary:`Get team orders distribution`,description:`Order counts grouped by time breakdown (hour, day of week, day, week, month)`,tags:[`Team Performance`]}).input(al).output(ol),tracking:C$1.route({method:`GET`,path:`/teams/{teamId}/performance/tracking`,summary:`Get team tracking time series`,description:`Time-series tracking data (page views, add to cart, checkout, orders) aggregated at team or tenant level`,tags:[`Team Performance`]}).input(dl).output(fl)},cr={get:C$1.route({method:`GET`,path:`/teams/{key}`,summary:`Get team by ID or slug`,description:`Retrieve a team with membership details. User must be a member of the team.`,tags:[`Teams`]}).input(Wf.strict()).output(Vf),list:C$1.route({method:`GET`,path:`/teams`,summary:`List teams with cursor-based pagination`,description:`Returns teams the current user has access to with cursor pagination`,tags:[`Teams`]}).input(sp.strict()).output(cp),create:C$1.route({method:`POST`,path:`/teams`,summary:`Create a new team`,description:`Create a new team organization`,tags:[`Teams`]}).input(Gf.strict()).output(Vf),update:C$1.route({method:`PATCH`,path:`/teams/{key}`,summary:`Update a team`,description:`Update an existing team by ID or slug`,tags:[`Teams`]}).input(lp.strict()).output(Vf),remove:C$1.route({method:`DELETE`,path:`/teams/{key}`,summary:`Delete a team`,description:`Soft delete a team (sets deletedAt timestamp) by ID or slug`,tags:[`Teams`]}).input(Wf.strict()).output(Vf),performance:sr},lr={config:C$1.route({method:`GET`,path:`/tenant/config`,summary:`Get tenant configuration`,tags:[`Tenant`],description:`Returns tenant configuration including features and regions. Requires x-tenant-id header.`}).output(Up),regions:C$1.route({method:`GET`,path:`/tenant/regions`,summary:`Get tenant regions`,tags:[`Tenant`],description:`Returns available regions for the tenant. Requires x-tenant-id header.`}).output(Wp)};const ur=C$1.route({method:`GET`,path:`/tickets/{id}`,summary:`Get ticket by ID`,tags:[`Tickets`]}).input(rm.strict()).output(om),dr=C$1.route({method:`POST`,path:`/tickets`,summary:`Create a new ticket`,tags:[`Tickets`]}).input(nm.strict()).output(om),fr=C$1.route({method:`PUT`,path:`/tickets/{id}`,summary:`Update a ticket`,tags:[`Tickets`]}).input(lm.strict()).output(om);var pr={get:ur,list:C$1.route({method:`GET`,path:`/tickets`,summary:`List tickets with cursor-based pagination`,description:"Returns ticket data with cursor-based pagination and optional full-text search via the `query` parameter.",tags:[`Tickets`]}).input(im.strict()).output(am),create:dr,update:fr,scan:C$1.route({method:`POST`,path:`/tickets/{id}/scan`,summary:`Scan a ticket`,tags:[`Tickets`]}).input(sm.strict()).output(om)};const mr=C$1.route({method:`GET`,path:`/users/me`,summary:`Get the current user and their team memberships`,tags:[`Users`]}).output(pm),hr=U$2({firstName:I$2().min(1).optional(),lastName:I$2().min(1).optional(),imageUrl:mo().optional(),metadata:W$2(I$2(),Ys).optional()}).meta({ref:`UpdateUserInput`,description:`Input for updating the current user's profile`});var gr={me:mr,update:C$1.route({method:`PATCH`,path:`/users/me`,summary:`Update the current user's profile`,tags:[`Users`]}).input(hr).output(dm)};const _r={beneficiary:Cn,section:or,event:Vn,eventCollaborator:Hn,admission:yn,order:Yn,ticket:pr,internal:Un,location:Wn,coupon:jn,payout:Xn,permissionScope:Zn,promoter:nr,team:cr,teamInvite:op,teamMember:wp,tenant:lr,venue:{get:C$1.route({method:`GET`,path:`/venues/{key}`,summary:`Get venue by ID or slug`,description:`Retrieve a venue using its unique ID or slug`,tags:[`Venues`]}).input(_m.strict()).output(mm),list:C$1.route({method:`GET`,path:`/venues`,summary:`List venues with cursor-based pagination`,description:`Returns venues with cursor pagination. Supports filtering by team, location-based search, and text query`,tags:[`Venues`]}).input(vm.strict()).output(ym),create:C$1.route({method:`POST`,path:`/venues`,summary:`Create a new venue`,description:`Create a new venue. Venue will be owned by the specified team but can be used by all teams for their events`,tags:[`Venues`]}).input(hm.strict()).output(mm),update:C$1.route({method:`PATCH`,path:`/venues/{key}`,summary:`Update a venue`,description:`Update an existing venue. Cannot change venue ownership (teamId)`,tags:[`Venues`]}).input(bm.strict()).output(mm),remove:C$1.route({method:`DELETE`,path:`/venues/{key}`,summary:`Delete a venue`,description:`Soft delete a venue (sets deletedAt timestamp)`,tags:[`Venues`]}).input(gm.strict()).output(mm),linkLocation:C$1.route({method:`POST`,path:`/venues/{key}/locations`,summary:`Link location to venue`,description:`Link a location to this venue. Allows the venue to be discovered when users search for this location. A venue can have multiple linked locations (e.g., different addresses, branded names). Requires VENUE permission on the owning team.`,tags:[`Venues`]}).input(_m.extend({locationKey:I$2().meta({description:`Location ID (loc_xxx) or Google Place ID to link to this venue`,examples:[`loc_01jps5cgsm7qxvh6watsons0eq`,`ChIJP3Sa8ziYEmsRUKgyFmh9AQM`]})}).strict()).output(mm),unlinkLocation:C$1.route({method:`DELETE`,path:`/venues/{key}/locations/{locationKey}`,summary:`Unlink location from venue`,description:`Remove a location link from this venue. The location will no longer show this venue's branding. Requires VENUE permission on the owning team.`,tags:[`Venues`]}).input(_m.extend({locationKey:I$2().meta({description:`Location ID (loc_xxx) or Google Place ID to unlink from this venue`,examples:[`loc_01jps5cgsm7qxvh6watsons0eq`,`ChIJP3Sa8ziYEmsRUKgyFmh9AQM`]})}).strict()).output(mm)},analytics:bn,user:gr};
48
-
49
- U$2({id:Ws.meta({description:`Team member ID to delete`})});
50
-
51
- function ce(t,n={}){let i=(t?.pipeThrough(new TextDecoderStream).pipeThrough(new b$1))?.getReader(),a,o=false;return new m$1(async()=>{a??=l$1(`consume_event_iterator_stream`);try{for(;;){if(i===void 0)return {done:true,value:void 0};let{done:e,value:t}=await p$1(a,()=>i.read());if(e){if(o)throw new a$1(`Stream was cancelled`);return {done:true,value:void 0}}switch(t.event){case `message`:{let e=ae(t.data);return h$1(e)&&(e=Pe(e,t)),a?.addEvent(`message`),{done:false,value:e}}case `error`:{let e=new y$1({data:ae(t.data)});throw e=Pe(e,t),a?.addEvent(`error`),e}case `done`:{let e=ae(t.data);return h$1(e)&&(e=Pe(e,t)),a?.addEvent(`done`),{done:true,value:e}}default:a?.addEvent(`maybe_keepalive`);}}}catch(e){throw e instanceof y$1||u$1(a,e,n),e}},async e=>{try{e!==`next`&&(o=true,a?.addEvent(`cancelled`)),await p$1(a,()=>i?.cancel());}catch(e){throw u$1(a,e,n),e}finally{a?.end();}})}function le(t,n={}){let r=n.eventIteratorKeepAliveEnabled??true,i=n.eventIteratorKeepAliveInterval??5e3,o=n.eventIteratorKeepAliveComment??``,s=n.eventIteratorInitialCommentEnabled??true,c=n.eventIteratorInitialComment??``,l=false,u,d;return new ReadableStream({start(t){d=l$1(`stream_event_iterator`),s&&t.enqueue(Me({comments:[c]}));},async pull(e){try{r&&(u=setInterval(()=>{e.enqueue(Me({comments:[o]})),d?.addEvent(`keepalive`);},i));let n=await p$1(d,()=>t.next());if(clearInterval(u),l)return;let s=Fe(n.value);if(!n.done||n.value!==void 0||s!==void 0){let t=n.done?`done`:`message`;e.enqueue(Me({...s,event:t,data:oe(n.value)})),d?.addEvent(t);}n.done&&(e.close(),d?.end());}catch(t){if(clearInterval(u),l)return;t instanceof y$1?(e.enqueue(Me({...Fe(t),event:`error`,data:oe(t.data)})),d?.addEvent(`error`),e.close()):(u$1(d,t),e.error(t)),d?.end();}},async cancel(){try{l=true,clearInterval(u),d?.addEvent(`cancelled`),await p$1(d,()=>t.return?.());}catch(e){throw u$1(d,e),e}finally{d?.end();}}}).pipeThrough(new TextEncoderStream)}function ue(e,t={}){return f$2({name:`parse_standard_body`,signal:t.signal},async()=>{let n=e.headers.get(`content-disposition`);if(typeof n==`string`){let t=Le(n)??`blob`,r=await e.blob();return new File([r],t,{type:r.type})}let r=e.headers.get(`content-type`);if(!r||r.startsWith(`application/json`))return ae(await e.text());if(r.startsWith(`multipart/form-data`))return await e.formData();if(r.startsWith(`application/x-www-form-urlencoded`)){let t=await e.text();return new URLSearchParams(t)}if(r.startsWith(`text/event-stream`))return ce(e.body,t);if(r.startsWith(`text/plain`))return await e.text();let a=await e.blob();return new File([a],`blob`,{type:a.type})})}function de(e,t,n={}){let r=t.get(`content-disposition`);if(t.delete(`content-type`),t.delete(`content-disposition`),e!==void 0)return e instanceof Blob?(t.set(`content-type`,e.type),t.set(`content-length`,e.size.toString()),t.set(`content-disposition`,r??Ie(e instanceof File?e.name:`blob`)),e):e instanceof FormData||e instanceof URLSearchParams?e:ee(e)?(t.set(`content-type`,`text/event-stream`),le(e,n)):(t.set(`content-type`,`application/json`),oe(e))}function P$1(e,t={}){return e.forEach((e,n)=>{Array.isArray(t[n])?t[n].push(e):t[n]===void 0?t[n]=e:t[n]=[t[n],e];}),t}function fe(e,t=new Headers){for(let[n,r]of Object.entries(e))if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.append(n,r);return t}function pe(e,t={}){let n=fe(e.headers),r=de(e.body,n,t);return new Request(e.url,{signal:e.signal,method:e.method,headers:n,body:r})}function F$1(e,t={}){return {body:o$1(()=>ue(e,t)),status:e.status,get headers(){let t=P$1(e.headers);return Object.defineProperty(this,`headers`,{value:t,writable:true}),t},set headers(e){Object.defineProperty(this,`headers`,{value:e,writable:true});}}}var I$1=class I{plugins;constructor(e=[]){this.plugins=[...e].sort((e,t)=>(e.order??0)-(t.order??0));}init(e){for(let t of this.plugins)t.init?.(e);}},L$1=class L{constructor(e,t,n={}){this.codec=e,this.sender=t,new I$1(n.plugins).init(n),this.interceptors=r$1(n.interceptors),this.clientInterceptors=r$1(n.clientInterceptors);}interceptors;clientInterceptors;call(e,t,r){return f$2({name:`${i$2}.${e.join(`/`)}`,signal:r.signal},i=>(i?.setAttribute(`rpc.system`,i$2),i?.setAttribute(`rpc.method`,e.join(`.`)),ee(t)&&(t=re({name:`consume_event_iterator_input`,signal:r.signal},t)),ie(this.interceptors,{...r,path:e,input:t},async({path:e,input:t,...n})=>{let r=c$1(),a,o=r?.trace.getActiveSpan()??i;o&&r&&(a=r?.trace.setSpan(r.context.active(),o));let c=await f$2({name:`encode_request`,context:a},()=>this.codec.encode(e,t,n)),l=await ie(this.clientInterceptors,{...n,input:t,path:e,request:c},({input:e,path:t,request:n,...r})=>f$2({name:`send_request`,signal:r.signal,context:a},()=>this.sender.call(n,r,t,e))),u=await f$2({name:`decode_response`,context:a},()=>this.codec.decode(l,n,e,t));return ee(u)?re({name:`consume_event_iterator_output`,signal:n.signal},u):u})))}};function R$1(e){return `/${e.map(encodeURIComponent).join(`/`)}`}function z$1(e){return typeof e.forEach==`function`?P$1(e):e}function B$1(e){return Object.entries(ge$1).find(([,t])=>t.status===e)?.[0]??`MALFORMED_ORPC_ERROR_RESPONSE`}var me=class extends I$1{initRuntimeAdapter(e){for(let t of this.plugins)t.initRuntimeAdapter?.(e);}},he=class{fetch;toFetchRequestOptions;adapterInterceptors;constructor(e){new me(e.plugins).initRuntimeAdapter(e),this.fetch=e.fetch??globalThis.fetch.bind(globalThis),this.toFetchRequestOptions=e,this.adapterInterceptors=r$1(e.adapterInterceptors);}async call(e,t,n,r){let i=pe(e,this.toFetchRequestOptions);return F$1(await ie(this.adapterInterceptors,{...t,request:i,path:n,input:r,init:{redirect:`manual`}},({request:e,path:t,input:n,init:r,...i})=>this.fetch(e,r,i,t,n)),{signal:i.signal})}},ge=class{maxArrayIndex;constructor(e={}){this.maxArrayIndex=e.maxBracketNotationArrayIndex??9999;}serialize(e,t=[],n=[]){if(Array.isArray(e))e.forEach((e,r)=>{this.serialize(e,[...t,r],n);});else if(ce$1(e))for(let r in e)this.serialize(e[r],[...t,r],n);else n.push([this.stringifyPath(t),e]);return n}deserialize(e){if(e.length===0)return {};let t=new WeakSet,n={value:[]};for(let[r,i]of e){let e=this.parsePath(r),a=n,o=`value`;e.forEach((n,r)=>{!Array.isArray(a[o])&&!ce$1(a[o])&&(a[o]=[]),r===e.length-1?Array.isArray(a[o])&&(n===``?a[o].length&&!t.has(a[o])&&(a[o]=H$1(a[o])):t.has(a[o])?(t.delete(a[o]),a[o]=U$1(a[o])):V$1(n,this.maxArrayIndex)||(a[o]=H$1(a[o]))):Array.isArray(a[o])&&!V$1(n,this.maxArrayIndex)&&(t.has(a[o])?(t.delete(a[o]),a[o]=U$1(a[o])):a[o]=H$1(a[o])),a=a[o],o=n;}),Array.isArray(a)&&o===``?(t.add(a),a.push(i)):o in a?Array.isArray(a[o])?a[o].push(i):a[o]=[a[o],i]:a[o]=i;}return n.value}stringifyPath(e){return e.map(e=>e.toString().replace(/[\\[\]]/g,e=>{switch(e){case `\\`:return `\\\\`;case `[`:return `\\[`;case `]`:return `\\]`;default:return e}})).reduce((e,t,n)=>n===0?t:`${e}[${t}]`,``)}parsePath(e){let t=[],n=false,r=``,i=0;for(let a=0;a<e.length;a++){let o=e[a],s=e[a+1];n&&o===`]`&&(s===void 0||s===`[`)&&i%2==0?(s===void 0&&(n=false),t.push(r),r=``,a++):t.length===0&&o===`[`&&i%2==0?(n=true,t.push(r),r=``):o===`\\`?i++:(r+=`\\`.repeat(i/2)+o,i=0);}return n||t.length===0?[e]:t}};function V$1(e,t){return /^0$|^[1-9]\d*$/.test(e)&&Number(e)<=t}function H$1(e){let t=new ue$1;return e.forEach((e,n)=>{t[n]=e;}),t}function U$1(e){let t=new ue$1;return t[``]=e.length===1?e[0]:e,t}var _e=class{customSerializers;constructor(e={}){this.customSerializers=e.customJsonSerializers??[];}serialize(e,t={value:false}){for(let n of this.customSerializers)if(n.condition(e))return this.serialize(n.serialize(e),t);if(e instanceof Blob)return t.value=true,[e,t.value];if(e instanceof Set)return this.serialize(Array.from(e),t);if(e instanceof Map)return this.serialize(Array.from(e.entries()),t);if(Array.isArray(e))return [e.map(e=>e===void 0?null:this.serialize(e,t)[0]),t.value];if(ce$1(e)){let n={};for(let r in e)r===`toJSON`&&typeof e[r]==`function`||(n[r]=this.serialize(e[r],t)[0]);return [n,t.value]}return typeof e==`bigint`||e instanceof RegExp||e instanceof URL?[e.toString(),t.value]:e instanceof Date?[Number.isNaN(e.getTime())?null:e.toISOString(),t.value]:Number.isNaN(e)?[null,t.value]:[e,t.value]}};function W$1(e){return `/${e.replace(/\/{2,}/g,`/`).replace(/^\/|\/$/g,``)}`}function G$1(e){return e?W$1(e).match(/\/\{[^}]+\}/g)?.map(e=>({raw:e,name:e.match(/\{\+?([^}]+)\}/)[1]})):void 0}var ve=class{constructor(e,t,n){this.contract=e,this.serializer=t,this.baseUrl=n.url,this.headers=n.headers??{},this.customErrorResponseBodyDecoder=n.customErrorResponseBodyDecoder;}baseUrl;headers;customErrorResponseBodyDecoder;async encode(e,t,n){let r=z$1(await de$1(this.headers,n,e,t));n.lastEventId!==void 0&&(r=Re(r,{"last-event-id":n.lastEventId}));let i=await de$1(this.baseUrl,n,e,t),a=le$1(this.contract,e);if(!Ke(a))throw Error(`[StandardOpenapiLinkCodec] expect a contract procedure at ${e.join(`.`)}`);return nt(`defaultInputStructure`,a[`~orpc`].route.inputStructure)===`compact`?this.#e(a,e,t,n,i,r):this.#t(a,e,t,n,i,r)}#e(e,t,n,r,i,a){let o=W$1(e[`~orpc`].route.path??R$1(t)),s=n,c=G$1(o);if(c?.length){if(!ce$1(n))throw TypeError(`[StandardOpenapiLinkCodec] Invalid input shape for "compact" structure when has dynamic params at ${t.join(`.`)}.`);let e={...n};for(let t of c){let r=n[t.name];o=o.replace(t.raw,`/${encodeURIComponent(`${this.serializer.serialize(r)}`)}`),delete e[t.name];}s=Object.keys(e).length?e:void 0;}let l=nt(`defaultMethod`,e[`~orpc`].route.method),u=new URL(i);if(u.pathname=`${u.pathname.replace(/\/$/,``)}${o}`,l===`GET`){let e=this.serializer.serialize(s,{outputFormat:`URLSearchParams`});for(let[t,n]of e)u.searchParams.append(t,n);return {url:u,method:l,headers:a,body:void 0,signal:r.signal}}return {url:u,method:l,headers:a,body:this.serializer.serialize(s),signal:r.signal}}#t(e,t,n,r,i,a){let o=W$1(e[`~orpc`].route.path??R$1(t)),s=G$1(o);if(!ce$1(n)&&n!==void 0)throw TypeError(`[StandardOpenapiLinkCodec] Invalid input shape for "detailed" structure at ${t.join(`.`)}.`);if(s?.length){if(!ce$1(n?.params))throw TypeError(`[StandardOpenapiLinkCodec] Invalid input.params shape for "detailed" structure when has dynamic params at ${t.join(`.`)}.`);for(let e of s){let t=n.params[e.name];o=o.replace(e.raw,`/${encodeURIComponent(`${this.serializer.serialize(t)}`)}`);}}let c=a;if(n?.headers!==void 0){if(!ce$1(n.headers))throw TypeError(`[StandardOpenapiLinkCodec] Invalid input.headers shape for "detailed" structure at ${t.join(`.`)}.`);c=Re(n.headers,a);}let l=nt(`defaultMethod`,e[`~orpc`].route.method),u=new URL(i);if(u.pathname=`${u.pathname.replace(/\/$/,``)}${o}`,n?.query!==void 0){let e=this.serializer.serialize(n.query,{outputFormat:`URLSearchParams`});for(let[t,n]of e)u.searchParams.append(t,n);}return l===`GET`?{url:u,method:l,headers:c,body:void 0,signal:r.signal}:{url:u,method:l,headers:c,body:this.serializer.serialize(n?.body),signal:r.signal}}async decode(e,t,n){let r=!xe$1(e.status),i=await(async()=>{let t=false;try{let n=await e.body();return t=true,this.serializer.deserialize(n)}catch(e){throw t?Error(`Invalid OpenAPI response format.`,{cause:e}):Error(`Cannot parse response body, please check the response body and content-type.`,{cause:e})}})();if(!r)throw this.customErrorResponseBodyDecoder?.(i,e)??(Se(i)?Ce(i):new ye$1(B$1(e.status),{status:e.status,data:{...e,body:i}}));let a=le$1(this.contract,n);if(!Ke(a))throw Error(`[StandardOpenapiLinkCodec] expect a contract procedure at ${n.join(`.`)}`);return nt(`defaultOutputStructure`,a[`~orpc`].route.outputStructure)===`compact`?i:{status:e.status,headers:e.headers,body:i}}},ye=class{constructor(e,t){this.jsonSerializer=e,this.bracketNotation=t;}serialize(e,t={}){return ee(e)&&!t.outputFormat?ze(e,{value:async e=>this.#e(e,{outputFormat:`plain`}),error:async e=>new y$1({data:this.#e(be$1(e).toJSON(),{outputFormat:`plain`}),cause:e})}):this.#e(e,t)}#e(e,t){let[n,r]=this.jsonSerializer.serialize(e);if(t.outputFormat===`plain`)return n;if(t.outputFormat===`URLSearchParams`){let e=new URLSearchParams;for(let[t,r]of this.bracketNotation.serialize(n))(typeof r==`string`||typeof r==`number`||typeof r==`boolean`)&&e.append(t,r.toString());return e}if(n instanceof Blob||n===void 0||!r)return n;let i=new FormData;for(let[e,t]of this.bracketNotation.serialize(n))typeof t==`string`||typeof t==`number`||typeof t==`boolean`?i.append(e,t.toString()):t instanceof Blob&&i.append(e,t);return i}deserialize(e){return e instanceof URLSearchParams||e instanceof FormData?this.bracketNotation.deserialize(Array.from(e.entries())):ee(e)?ze(e,{value:async e=>e,error:async e=>e instanceof y$1&&Se(e.data)?Ce(e.data,{cause:e}):e}):e}},be=class extends L$1{constructor(e,t,n){let r=new ve(e,new ye(new _e(n),new ge({maxBracketNotationArrayIndex:4294967294})),n);super(r,t,n);}},xe=class extends be{constructor(e,t){let n=new he(t);super(e,n,t);}};const Q={sandbox:`https://api.sandbox.session.services`,prod:`https://api.session.services`};function Te(e){return e in Q?Q[e]:e}function $(e){let t=Te(e.environment),n=e.tenantId??`tnt_01jqpj2t2kfvmstt6f6tzkbaf2`;return He(new xe(_r,{url:t,headers:{"x-tenant-id":n,...e.headers??{}}}))}
2
+ import { z as z$3 } from 'zod/v4';
3
+
4
+ function r$1(e){return e[0]??{}}function i$2(e){return Array.isArray(e)?e:e==null?[]:[e]}const a$1=`orpc`;var o$1=class o extends Error{constructor(...e){super(...e),this.name=`AbortError`;}};function s$1(e){let t;return ()=>{if(t)return t.result;let n=e();return t={result:n},n}}function c$1(e){let t=Promise.resolve();return (...n)=>t=t.catch(()=>{}).then(()=>e(...n))}function l$1(){return globalThis[`__@orpc/shared@1.12.2/otel/config__`]}function u$1(e,t={},n){return (l$1()?.tracer)?.startSpan(e,t,n)}function d$1(e,t,n={}){if(!e)return;let r=f$2(t);e.recordException(r),(!n.signal?.aborted||n.signal.reason!==t)&&e.setStatus({code:2,message:r.message});}function f$2(e){if(e instanceof Error){let t={message:e.message,name:e.name,stack:e.stack};return `code`in e&&(typeof e.code==`string`||typeof e.code==`number`)&&(t.code=e.code),t}return {message:String(e)}}async function p$1({name:e,context:t,...n},r){let i=l$1()?.tracer;if(!i)return r();let a=async e=>{try{return await r(e)}catch(t){throw d$1(e,t,n),t}finally{e.end();}};return t?i.startActiveSpan(e,n,t,a):i.startActiveSpan(e,n,a)}async function m$1(e,t){let n=l$1();if(!e||!n)return t();let r=n.trace.setSpan(n.context.active(),e);return n.context.with(r,t)}function h$1(e){return !e||typeof e!=`object`?false:`next`in e&&typeof e.next==`function`&&Symbol.asyncIterator in e&&typeof e[Symbol.asyncIterator]==`function`}const ee=Symbol.for(`asyncDispose`),g$1=Symbol.asyncDispose??ee;var _$1=class _{#e=false;#t=false;#n;#r;constructor(e,t){this.#n=t,this.#r=c$1(async()=>{if(this.#e)return {done:true,value:void 0};try{let t=await e();return t.done&&(this.#e=true),t}catch(e){throw this.#e=true,e}finally{this.#e&&!this.#t&&(this.#t=true,await this.#n(`next`));}});}next(){return this.#r()}async return(e){return this.#e=true,this.#t||(this.#t=true,await this.#n(`return`)),{done:true,value:e}}async throw(e){throw this.#e=true,this.#t||(this.#t=true,await this.#n(`throw`)),e}async[g$1](){this.#e=true,this.#t||(this.#t=true,await this.#n(`dispose`));}[Symbol.asyncIterator](){return this}};function te({name:e,...t},n){let r;return new _$1(async()=>{r??=u$1(e);try{let e=await m$1(r,()=>n.next());return r?.addEvent(e.done?`completed`:`yielded`),e}catch(e){throw d$1(r,e,t),e}},async e=>{try{e!==`next`&&await m$1(r,()=>n.return?.());}catch(e){throw d$1(r,e,t),e}finally{r?.end();}})}function ne(e,t,n){let r=(t,i)=>{let a=e[i];return a?a({...t,next:(e=t)=>r(e,i+1)}):n(t)};return r(t,0)}function re(e){if(e)return JSON.parse(e)}function ie(e){return JSON.stringify(e)}function ae(e){return y$1(e)?Object.getPrototypeOf(e)?.constructor:null}function v$1(e){if(!e||typeof e!=`object`)return false;let t=Object.getPrototypeOf(e);return t===Object.prototype||!t||!t.constructor}function y$1(e){return !!e&&(typeof e==`object`||typeof e==`function`)}function oe(e,t){let n=e;for(let e of t){if(!y$1(n))return;n=n[e];}return n}const se=(()=>{let e=function(){};return e.prototype=Object.create(null),Object.freeze(e.prototype),e})();function ce$1(e,...t){return typeof e==`function`?e(...t):e}function le$1(e){return new Proxy(e,{get(e,t,n){let r=Reflect.get(e,t,n);return t!==`then`||typeof r!=`function`?r:new Proxy(r,{apply(t,n,r){if(r.length!==2||r.some(e=>!de$1(e)))return Reflect.apply(t,n,r);let i=true;r[0].call(n,le$1(new Proxy(e,{get:(e,t,n)=>{if(i&&t===`then`){i=false;return}return Reflect.get(e,t,n)}})));}})}})}const ue$1=/^\s*function\s*\(\)\s*\{\s*\[native code\]\s*\}\s*$/;function de$1(e){return typeof e==`function`&&ue$1.test(e.toString())}function fe$1(e){try{return decodeURIComponent(e)}catch{return e}}const b$1={BAD_REQUEST:{status:400,message:`Bad Request`},UNAUTHORIZED:{status:401,message:`Unauthorized`},FORBIDDEN:{status:403,message:`Forbidden`},NOT_FOUND:{status:404,message:`Not Found`},METHOD_NOT_SUPPORTED:{status:405,message:`Method Not Supported`},NOT_ACCEPTABLE:{status:406,message:`Not Acceptable`},TIMEOUT:{status:408,message:`Request Timeout`},CONFLICT:{status:409,message:`Conflict`},PRECONDITION_FAILED:{status:412,message:`Precondition Failed`},PAYLOAD_TOO_LARGE:{status:413,message:`Payload Too Large`},UNSUPPORTED_MEDIA_TYPE:{status:415,message:`Unsupported Media Type`},UNPROCESSABLE_CONTENT:{status:422,message:`Unprocessable Content`},TOO_MANY_REQUESTS:{status:429,message:`Too Many Requests`},CLIENT_CLOSED_REQUEST:{status:499,message:`Client Closed Request`},INTERNAL_SERVER_ERROR:{status:500,message:`Internal Server Error`},NOT_IMPLEMENTED:{status:501,message:`Not Implemented`},BAD_GATEWAY:{status:502,message:`Bad Gateway`},SERVICE_UNAVAILABLE:{status:503,message:`Service Unavailable`},GATEWAY_TIMEOUT:{status:504,message:`Gateway Timeout`}};function x$1(e,t){return t??b$1[e]?.status??500}function S$1(e,t){return t||b$1[e]?.message||e}const C$1=Symbol.for(`__@orpc/client@1.12.2/error/ORPC_ERROR_CONSTRUCTORS__`);globalThis[C$1]??=new WeakSet;const pe$1=globalThis[C$1];var w$1=class w extends Error{defined;code;status;data;constructor(e,...t){let n=r$1(t);if(n.status!==void 0&&!ge$1(n.status))throw Error(`[ORPCError] Invalid error status code.`);let i=S$1(e,n.message);super(i,n),this.code=e,this.status=x$1(e,n.status),this.defined=n.defined??false,this.data=n.data;}toJSON(){return {defined:this.defined,code:this.code,status:this.status,message:this.message,data:this.data}}static[Symbol.hasInstance](e){if(pe$1.has(this)){let t=ae(e);if(t&&pe$1.has(t))return true}return super[Symbol.hasInstance](e)}};pe$1.add(w$1);function he$1(e){return e instanceof w$1?e:new w$1(`INTERNAL_SERVER_ERROR`,{message:`Internal server error`,cause:e})}function ge$1(e){return e<200||e>=400}function _e$1(e){if(!v$1(e))return false;let t=[`defined`,`code`,`status`,`message`,`data`];return Object.keys(e).some(e=>!t.includes(e))?false:`defined`in e&&typeof e.defined==`boolean`&&`code`in e&&typeof e.code==`string`&&`status`in e&&typeof e.status==`number`&&ge$1(e.status)&&`message`in e&&typeof e.message==`string`}function ve$1(e,t={}){return new w$1(e.code,{...t,...e})}var T$1=class T extends TypeError{},E$1=class E extends TypeError{},ye$1=class ye extends Error{data;constructor(e){super(e?.message??`An error event was received`,e),this.data=e?.data;}};function D$1(e){let t=e.replace(/\n+$/,``).split(/\n/),n={data:void 0,event:void 0,id:void 0,retry:void 0,comments:[]};for(let e of t){let t=e.indexOf(`:`),r=t===-1?e:e.slice(0,t),i=t===-1?``:e.slice(t+1).replace(/^\s/,``);if(t===0)n.comments.push(i);else if(r===`data`)n.data??=``,n.data+=`${i}
5
+ `;else if(r===`event`)n.event=i;else if(r===`id`)n.id=i;else if(r===`retry`){let e=Number.parseInt(i);Number.isInteger(e)&&e>=0&&e.toString()===i&&(n.retry=e);}}return n.data=n.data?.replace(/\n$/,``),n}var O$1=class O{constructor(e={}){this.options=e;}incomplete=``;feed(e){this.incomplete+=e;let t=this.incomplete.lastIndexOf(`
6
+
7
+ `);if(t===-1)return;let n=this.incomplete.slice(0,t).split(/\n\n/);this.incomplete=this.incomplete.slice(t+2);for(let e of n){let t=D$1(`${e}
8
+
9
+ `);this.options.onEvent&&this.options.onEvent(t);}this.incomplete=``;}end(){if(this.incomplete)throw new E$1(`Event Iterator ended before complete`)}},be$1=class be extends TransformStream{constructor(){let e;super({start(t){e=new O$1({onEvent:e=>{t.enqueue(e);}});},transform(t){e.feed(t);},flush(){e.end();}});}};function k$1(e){if(e.includes(`
10
+ `))throw new T$1(`Event's id must not contain a newline character`)}function xe(e){if(e.includes(`
11
+ `))throw new T$1(`Event's event must not contain a newline character`)}function Se(e){if(!Number.isInteger(e)||e<0)throw new T$1(`Event's retry must be a integer and >= 0`)}function A$1(e){if(e.includes(`
12
+ `))throw new T$1(`Event's comment must not contain a newline character`)}function Ce(e){let t=e?.split(/\n/)??[],n=``;for(let e of t)n+=`data: ${e}
13
+ `;return n}function we(e){let t=``;for(let n of e??[])A$1(n),t+=`: ${n}
14
+ `;return t}function Te$1(e){let t=``;return t+=we(e.comments),e.event!==void 0&&(xe(e.event),t+=`event: ${e.event}
15
+ `),e.retry!==void 0&&(Se(e.retry),t+=`retry: ${e.retry}
16
+ `),e.id!==void 0&&(k$1(e.id),t+=`id: ${e.id}
17
+ `),t+=Ce(e.data),t+=`
18
+ `,t}const Ee=Symbol(`ORPC_EVENT_SOURCE_META`);function De(e,t){if(t.id===void 0&&t.retry===void 0&&!t.comments?.length)return e;if(t.id!==void 0&&k$1(t.id),t.retry!==void 0&&Se(t.retry),t.comments!==void 0)for(let e of t.comments)A$1(e);return new Proxy(e,{get(e,n,r){return n===Ee?t:Reflect.get(e,n,r)}})}function Oe(e){return y$1(e)?Reflect.get(e,Ee):void 0}function ke(e){return `inline; filename="${e.replace(/"/g,`\\"`)}"; filename*=utf-8''${encodeURIComponent(e).replace(/['()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`).replace(/%(7C|60|5E)/g,(e,t)=>String.fromCharCode(Number.parseInt(t,16)))}`}function Ae(e){let t=e.match(/filename\*=(UTF-8'')?([^;]*)/i);if(t&&typeof t[2]==`string`)return fe$1(t[2]);let n=e.match(/filename="((?:\\"|[^"])*)"/i);if(n&&typeof n[1]==`string`)return n[1].replace(/\\"/g,`"`)}function je(e,t){let n={...e};for(let e in t)Array.isArray(t[e])?n[e]=[...i$2(n[e]),...t[e]]:t[e]!==void 0&&(Array.isArray(n[e])?n[e]=[...n[e],t[e]]:n[e]===void 0?n[e]=t[e]:n[e]=[n[e],t[e]]);return n}function Me(e,t){let n=async e=>{let n=await t.error(e);if(n!==e){let t=Oe(e);t&&y$1(n)&&(n=De(n,t));}return n};return new _$1(async()=>{let{done:r,value:i}=await(async()=>{try{return await e.next()}catch(e){throw await n(e)}})(),a=await t.value(i,r);if(a!==i){let e=Oe(i);e&&y$1(a)&&(a=De(a,e));}return {done:r,value:a}},async()=>{try{await e.return?.();}catch(e){throw await n(e)}})}function Pe(e){return {...e,context:e.context??{}}}function Fe(e,t={}){let n=t.path??[];return le$1(new Proxy(async(...[t,r={}])=>await e.call(n,t,Pe(r)),{get(r,i){return typeof i==`string`?Fe(e,{path:[...n,i]}):Reflect.get(r,i)}}))}function Le(e,t){return {...e,...t}}var Re=class{"~orpc";constructor(e){if(e.route?.successStatus&&ge$1(e.route.successStatus))throw Error(`[ContractProcedure] Invalid successStatus.`);if(Object.values(e.errorMap).some(e=>e&&e.status&&!ge$1(e.status)))throw Error(`[ContractProcedure] Invalid error status code.`);this[`~orpc`]=e;}};function ze(e){return e instanceof Re?true:(typeof e==`object`||typeof e==`function`)&&e!==null&&`~orpc`in e&&typeof e[`~orpc`]==`object`&&e[`~orpc`]!==null&&`errorMap`in e[`~orpc`]&&`route`in e[`~orpc`]&&`meta`in e[`~orpc`]}function Be(e,t){return {...e,...t}}function Ve(e,t){return {...e,...t}}function He(e,t){return e.path?{...e,path:`${t}${e.path}`}:e}function Ue(e,t){return {...e,tags:[...t,...e.tags??[]]}}function We(e,t){return e?`${e}${t}`:t}function Ge(e,t){return e?[...e,...t]:t}function Ke(e,t){let n=e;return t.prefix&&(n=He(n,t.prefix)),t.tags?.length&&(n=Ue(n,t.tags)),n}function qe(e,t){if(ze(e))return new Re({...e[`~orpc`],errorMap:Le(t.errorMap,e[`~orpc`].errorMap),route:Ke(e[`~orpc`].route,t)});let n={};for(let r in e)n[r]=qe(e[r],t);return n}const j$1=new class e extends Re{constructor(e){super(e),this[`~orpc`].prefix=e.prefix,this[`~orpc`].tags=e.tags;}$meta(t){return new e({...this[`~orpc`],meta:t})}$route(t){return new e({...this[`~orpc`],route:t})}errors(t){return new e({...this[`~orpc`],errorMap:Le(this[`~orpc`].errorMap,t)})}meta(t){return new e({...this[`~orpc`],meta:Be(this[`~orpc`].meta,t)})}route(t){return new e({...this[`~orpc`],route:Ve(this[`~orpc`].route,t)})}input(t){return new e({...this[`~orpc`],inputSchema:t})}output(t){return new e({...this[`~orpc`],outputSchema:t})}prefix(t){return new e({...this[`~orpc`],prefix:We(this[`~orpc`].prefix,t)})}tag(...t){return new e({...this[`~orpc`],tags:Ge(this[`~orpc`].tags,t)})}router(e){return qe(e,this[`~orpc`])}}({errorMap:{},route:{},meta:{}}),Je={defaultMethod:`POST`,defaultSuccessStatus:200,defaultSuccessDescription:`OK`,defaultInputStructure:`compact`,defaultOutputStructure:`compact`};function Ye(e,t){return t===void 0?Je[e]:t}const Ze=Symbol.for(`constructDateFrom`);function Qe(e,t){return typeof e==`function`?e(t):e&&typeof e==`object`&&Ze in e?e[Ze](t):e instanceof Date?new e.constructor(t):new Date(t)}function $e(e,t){return Qe(e,e)}function M$1(e,t,n){let r=$e(e);return isNaN(t)?Qe(e,NaN):(t&&r.setDate(r.getDate()+t),r)}const et={},tt={};function N$1(e,t){try{let n=(et[e]||=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`longOffset`}).format)(t).split(`GMT`)[1];return n in tt?tt[n]:rt(n,n.split(`:`))}catch{if(e in tt)return tt[e];let t=e?.match(nt);return t?rt(e,t.slice(1)):NaN}}const nt=/([+-]\d\d):?(\d\d)?/;function rt(e,t){let n=+(t[0]||0),r=+(t[1]||0),i=(t[2]||0)/60;return tt[e]=n*60+r>0?n*60+r+i:n*60-r-i}var it=class e extends Date{constructor(...e){super(),e.length>1&&typeof e[e.length-1]==`string`&&(this.timeZone=e.pop()),this.internal=new Date,isNaN(N$1(this.timeZone,this))?this.setTime(NaN):e.length?typeof e[0]==`number`&&(e.length===1||e.length===2&&typeof e[1]!=`number`)?this.setTime(e[0]):typeof e[0]==`string`?this.setTime(+new Date(e[0])):e[0]instanceof Date?this.setTime(+e[0]):(this.setTime(+new Date(...e)),ct(this),ot(this)):this.setTime(Date.now());}static tz(t,...n){return n.length?new e(...n,t):new e(Date.now(),t)}withTimeZone(t){return new e(+this,t)}getTimezoneOffset(){let e=-N$1(this.timeZone,this);return e>0?Math.floor(e):Math.ceil(e)}setTime(e){return Date.prototype.setTime.apply(this,arguments),ot(this),+this}[Symbol.for(`constructDateFrom`)](t){return new e(+new Date(t),this.timeZone)}};const at=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!at.test(e))return;let t=e.replace(at,`$1UTC`);it.prototype[t]&&(e.startsWith(`get`)?it.prototype[e]=function(){return this.internal[t]()}:(it.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),st(this),+this},it.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),ot(this),+this}));});function ot(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-N$1(e.timeZone,e)*60));}function st(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),ct(e);}function ct(e){let t=N$1(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),r=new Date(+e);r.setUTCHours(r.getUTCHours()-1);let i=-new Date(+e).getTimezoneOffset(),a=i- -new Date(+r).getTimezoneOffset(),o=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();a&&o&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+a);let s=i-n;s&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+s);let c=new Date(+e);c.setUTCSeconds(0);let l=i>0?c.getSeconds():(c.getSeconds()-60)%60,u=Math.round(-(N$1(e.timeZone,e)*60))%60;(u||l)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+u),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+u+l));let d=N$1(e.timeZone,e),f=d>0?Math.floor(d):Math.ceil(d),p=-new Date(+e).getTimezoneOffset()-f,m=f!==n,h=p-s;if(m&&h){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+h);let t=N$1(e.timeZone,e),n=f-(t>0?Math.floor(t):Math.ceil(t));n&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+n),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+n));}}function P$2(e){return (typeof e==`string`?new Date(e):e).toISOString().replace(/\.\d{3}Z$/,``)}let F$2;(function(e){let t=e.Tenant={id:`tnt_01jqpj2t2kfvmstt6f6tzkbaf2`,oldId:`none`,name:`Session Services`,slug:`session-services`,email:`hello@session.services`,adminTeamId:`tem_01jqpjksnsen9vprw95et60t3m`,defaultCurrency:`AUD`,baseUrl:{dev:`http://localhost:3000`,production:`https://app.session.services`},logo:{icon:{src:`https://assets.session.services/icon-bg.png`,width:29,height:29},email:{src:`https://assets.session.services/icon-bg.png`,width:165,height:76},website:{src:`https://assets.session.services/icon-bg.png`,width:165,height:76},qr:{src:`https://assets.session.services/tenants/session-services/qr.svg`}},favicon:`https://assets.session.services/tenants/session-services/favicon.svg`};e.Region={country:{id:`rgn_01jqpj2t2kfvmstt6f6tzkbaf2`,name:`Australia`,slug:`australia`,kind:`COUNTRY`,order:1},state:{id:`rgn_01jqpj2t2kfvmstt6f6tzkbaf3`,name:`New South Wales`,slug:`nsw`,kind:`STATE`,parentId:`rgn_01jqpj2t2kfvmstt6f6tzkbaf2`,order:2},city:{id:`rgn_01jqpj2t2kfvmstt6f6tzkbaf4`,name:`Sydney`,slug:`sydney`,kind:`CITY`,parentId:`rgn_01jqpj2t2kfvmstt6f6tzkbaf3`,latitude:-33.8688,longitude:151.2093,radius:25,order:3}};let n=e.User={id:`usr_01jps5cgsd4tzjghtnt45qnhn0`,email:`test@session.services`,firstName:`Jay`,lastName:`McMullen`,imageUrl:void 0,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),tenantId:t.id,deleted:false};e.EmailVerification={id:`emlvrf_01jps5cgsd4tzjghtnt45qnhn0`,userId:`usr_01jps5cgsd4tzjghtnt45qnhn0`,tenantId:t.id,email:`test@session.services`,code:`123456`,expiresAt:new Date(Date.now()+1800*1e3).toISOString(),createdAt:new Date().toISOString()},e.PasswordReset={id:`pwrst_01jps5cgsd4tzjghtnt45qnhn0`,token:`c76e3a5d7105345b58e383e6d90fe7728b75f938b727f0b9ecc5b977e8c3b5d0`,userId:`usr_01jps5cgsd4tzjghtnt45qnhn0`,tenantId:t.id,email:`test@session.services`,code:`123456`,expiresAt:new Date(Date.now()+900*1e3).toISOString(),emailVerified:false,twoFactorVerified:false,createdAt:new Date().toISOString()};let r=e.Team={id:`tem_01jqpjksnsen9vprw95et60t2m`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Session Services`,slug:`session-services`,description:`This is only a test...`,type:`PROMOTER`,tenantId:`tnt_01jqpj2t2kfvmstt6f6tzkbaf2`,deleted:false},i=e.Promoter={id:`pmt_01jqpjksnsen9vprw95et60t2m`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),teamId:r.id,name:`Session Services`,slug:`session-services`,description:`This is only a test...`,payoutFrequency:`AFTER_EVENT`,image:{src:`https://assets.session.services/icon-bg.png`,alt:`Session Services Logo`,width:800,height:800},approval:`APPROVED`,geohash:`r3gx1`,location:{id:`loc_01jqpjksnsen9vprw95et60t4m`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Sydney`,address:`Sydney NSW 2000, Australia`,city:`Sydney`,state:`New South Wales`,postcode:`2000`,country:`Australia`,latitude:-33.8944593,longitude:151.2252255,timeZone:`Australia/Sydney`},tracking:{fbId:`485739562847563`,gtmId:`GTM-K8WPM5N`,tikTokId:`BQCKPH3RC77U8GPMLJ5G`},tenantId:`tnt_01jqpj2t2kfvmstt6f6tzkbaf2`,deleted:false};e.Venue={id:`ven_01jqpjksnsen9vprw95et60t2m`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),teamId:r.id,locationId:`loc_01jqpjksnsen9vprw95et60t3m`,approval:`APPROVED`,name:`Sydney Opera House`,slug:`sydney-opera-house`,description:`Iconic performing arts venue in Sydney, Australia`,type:`THEATER`,logo:{src:`https://assets.session.services/venues/sydney-opera-house.png`,alt:`Sydney Opera House`,width:800,height:800},images:[{src:`https://assets.session.services/venues/sydney-opera-house-1.jpg`,alt:`Sydney Opera House exterior`,width:1920,height:1080}],contact:{email:`info@sydneyoperahouse.com`,phone:`+61 2 9250 7111`,website:`https://www.sydneyoperahouse.com`,instagram:`https://instagram.com/sydneyoperahouse`,facebook:`https://facebook.com/sydneyoperahouse`,twitter:`https://twitter.com/sydneyoperahouse`},location:{id:`loc_01jqpjksnsen9vprw95et60t3m`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Sydney Opera House`,address:`Bennelong Point, Sydney NSW 2000`,city:`Sydney`,state:`New South Wales`,postcode:`2000`,country:`Australia`,latitude:-33.8567844,longitude:151.2152967,timeZone:`Australia/Sydney`,image:{src:`https://assets.session.services/locations/sydney-opera-house.jpg`,alt:`Sydney Opera House`,width:1200,height:800}},geohash:`r3gx2f9`,capacity:5738,tenantId:t.id,deleted:false};let a=e.PromoterMember={id:`mbr_01jps5cgsec5ge0b1bxa6gzkkk`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),teamId:r.id,userId:n.id,user:{id:n.id,email:n.email,firstName:n.firstName,lastName:n.lastName,imageUrl:n.imageUrl},permissions:[`FULL`],isOwner:true,tenantId:t.id};e.TeamMember={id:`mbr_01jqpjksnsen9vprw95et60t2m`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),teamId:r.id,userId:n.id,user:{id:n.id,email:n.email,firstName:n.firstName,lastName:n.lastName,imageUrl:n.imageUrl},permissions:[`FULL`],isOwner:true,tenantId:t.id},e.TeamInvite={id:`inv_01jqpjksnsen9vprw95et60t4m`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),expiresAt:Math.floor(M$1(new Date,7).getTime()/1e3),teamId:r.id,token:`a76e3c5d7109345b58e383e6d90f7728b75f9a38b727f0b9edd5b977e8c3b5d0`,email:`team-invite@session.services`,invitedBy:n.id,permissions:[`EVENT`,`ORDER`],tenantId:t.id},e.CurrentSession={user:n,initials:`JM`,isTenantAdmin:true,promoters:[{...i,member:a}]},e.Session={id:`sess_01jps5cgsd4tzjghtnt45qnhn0`,userId:n.id,tenantId:t.id,expiresAt:M$1(new Date,30).toISOString(),twoFactorVerified:false,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()},e.BackupCode={id:`bkc_01jps5cgsd4tzjghtnt45qnhn0`,userId:n.id,tenantId:t.id,code:`ABC123DEF456`,used:false,createdAt:new Date().toISOString()},e.UserSession={id:`uss_01jps5cgsd4tzjghtnt45qnhn0`,userId:n.id,tenantId:t.id,ipAddress:`192.168.1.100`,userAgent:`Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36`,location:`Sydney, Australia`,isCurrent:true,expiresAt:M$1(new Date,30).toISOString(),createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()},e.PasskeyCredential={id:`pkc_01jps5cgsd4tzjghtnt45qnhn0`,userId:n.id,tenantId:t.id,name:`iPhone Touch ID`,credentialId:`cred_01jps5cgsd4tzjghtnt45qnhn0`,credentialPublicKey:`pQECAyYgASFYIM...`,credentialBackupEligible:true,credentialBackupState:false,credentialDeviceType:`singleDevice`,counter:1,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()},e.SecurityKeyCredential={id:`skc_01jps5cgsd4tzjghtnt45qnhn0`,userId:n.id,tenantId:t.id,name:`YubiKey 5 NFC`,credentialId:`cred_01jps5cgsd4tzjghtnt45qnhn0`,credentialPublicKey:`pQECAyYgASFYIM...`,credentialBackupEligible:false,credentialBackupState:false,credentialDeviceType:`crossPlatform`,counter:5,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()},e.TOTPCredential={id:`tpc_01jps5cgsd4tzjghtnt45qnhn0`,userId:n.id,tenantId:t.id,secret:`JBSWY3DPEHPK3PXP`,verified:true,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()};let o=e.Location={id:`loc_01hk153x00eh99pagyydz03sbz`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),googlePlaceId:`ChIJ6zWCPUyxEmsRmc6BPrNaP4s`,name:`Watson's EQ`,address:`The, Entertainment Quarter, 1 Bent St, Moore Park NSW 2021, Australia`,city:`Moore Park`,state:`New South Wales`,postcode:`2021`,country:`Australia`,latitude:-33.8944593,longitude:151.2252255,timeZone:`Australia/Sydney`,types:[`establishment`,`point_of_interest`,`restaurant`,`bar`],image:{src:`https://assets.session.services/locations/watsons-eq.jpg`,alt:`Watson's EQ`,width:1200,height:800}},s=e.Event={id:`evt_01jps5cgsenjrazw6wswmyspa3`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Test Event`,slug:`test-event`,description:`This is only a test...`,approval:`APPROVED`,status:`UPCOMING`,visibility:`PUBLIC`,currency:`AUD`,entryStartsAt:P$2(M$1(new Date,1)),entryEndsAt:P$2(M$1(new Date,2)),publishAt:P$2(new Date),images:{mobile:{src:`https://assets.session.services/event-mobile.jpg`,alt:`Mobile Event Image`,width:1080,height:1350},desktop:{src:`https://assets.session.services/event-desktop.jpg`,alt:`Desktop Event Image`,width:1920,height:1080}},geohash:`r3gx1`,location:o,teamId:r.id,promoterId:i.id,tenantId:t.id,deleted:false},c=e.Section={id:`sct_01jps5cgse0g3qj16kpq8t221r`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),teamId:r.id,promoterId:i.id,eventId:s.id,eventSlug:s.slug,name:`General Admission`,capacity:1e3,limit:-1,available:700,sold:200,reserved:100,order:0,location:o,tenantId:t.id,deleted:false,orderPadded:`0000000000`},l=e.Admission={id:`adm_01jps5cgsee0xvapbk92e8eb4g`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),sectionId:c.id,teamId:r.id,promoterId:i.id,eventId:s.id,eventSlug:s.slug,name:`Final Release`,capacity:1e5,limit:-1,available:7e4,sold:2e4,reserved:1e4,order:0,entryStartsAt:P$2(M$1(new Date,1)),entryEndsAt:P$2(M$1(new Date,2)),saleStartsAt:P$2(new Date),saleEndsAt:P$2(M$1(new Date,2)),price:{base:1e3,booking:200,currency:`AUD`},tenantId:t.id,deleted:false,orderPadded:`0000000000`};e.DetailedEvent={...s,admissions:[l],sections:[c]};let u=e.Beneficiary={id:`ben_01jps5cgse5n6mg1ymkew9tsfh`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`My Bank Account`,currency:`AUD`,gatewayId:`7489cb17-24c5-4acf-a0cf-d93ed38081fe`,gateway:`AIRWALLEX`,teamId:r.id,promoterIds:[i.id],venueIds:[],tenantId:t.id};e.AirwallexBeneficiary={transfer_methods:[`LOCAL`],beneficiary:{additional_info:{personal_email:`test@session.services`},address:{city:`Sydney`,country_code:`AU`,postcode:`2000`,state:`AU-NSW`,street_address:`123 George Street`},bank_details:{account_currency:`AUD`,account_name:`John Doe`,account_number:`999994`,account_routing_type1:`bsb`,account_routing_value1:`062004`,bank_country_code:`AU`,local_clearing_system:`BANK_TRANSFER`},entity_type:`PERSONAL`,company_name:`Doe Enterprises Pty Ltd`,first_name:`John`,last_name:`Doe`}};let d=e.Coupon={id:`cpn_01jps5cgsfzs1ksqaet5hba8ac`,couponId:`cpn_01jps5cgsfzs1ksqaet5hba8ac`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Half Price`,active:true,kind:`PERCENT`,filter:`TEAM`,currency:`AUD`,discount:50,uses:0,limit:-1,saleStartsAt:`2025-02-10T03:00:00`,saleEndsAt:void 0,deletedAt:void 0,teamId:r.id,tenantId:t.id,deleted:false},f=e.CouponCode={id:`cod_01jps5cgsfzftw7hxcvr2wftk2`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),active:true,name:`TEST50`,uses:0,tenantId:t.id,couponId:d.id,teamId:r.id,deleted:false},p=e.AmountCoupon={id:`cpn_01jps5cgsfndn8jcsfvh72x811`,couponId:`cpn_01jps5cgsfndn8jcsfvh72x811`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Half Price`,active:true,kind:`PERCENT`,filter:`EVENTS`,currency:`AUD`,eventIds:[s.id],discount:50,uses:0,limit:-1,saleStartsAt:`2025-02-10T03:00:00`,saleEndsAt:void 0,deletedAt:void 0,teamId:r.id,tenantId:t.id};e.AmountCouponCode={id:`cod_01jps5cgsfq06xvvhg0hn2rdzd`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),active:true,name:`TEST5DOLLAR`,uses:0,tenantId:t.id,couponId:p.id,teamId:r.id};let m=e.Customer={id:`cus_01jps5cgsf4pn2a32eamppnap1`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),firstName:`Test`,lastName:`User`,email:`test@session.services`,phone:`+61411111111`,tenantId:t.id},h=e.PayoutTransfer={id:`xfr_01jq8s6c38f97w9yfrfcdhf47v`,createdAt:new Date().toISOString(),kind:`TICKETS`,amount:1e3,currency:`AUD`,fee:0,feeCurrency:`AUD`,reference:`XYZ`,gateway:`AIRWALLEX`,gatewayId:`fe33fb0f-d9d8-47cd-8eef-6a19bd6223eb`,beneficiary:u.name,beneficiaryId:u.id},ee=e.PayoutDeduction={id:`pad_01jq90naksfzf8gt2xnn71h21h`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),amount:100,currency:`AUD`,description:`Minimum bar spend not met`,reference:`XYZ`,gateway:`AIRWALLEX`,gatewayId:`1221bbbc-cc97-4119-a597-69019e9d8a93`,beneficiary:u.name,beneficiaryId:u.id},g=e.Payout={id:`pyt_01jps5cgsfv2wre6hd0rc4w4t8`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),paidAt:new Date().toISOString(),status:`PAID`,method:`AIRWALLEX`,structure:`DEFAULT`,approval:`PENDING`,frequency:`AFTER_EVENT`,transfers:[h],deductions:[ee],event:{id:s.id,name:s.name,slug:s.slug,location:s.location.name},price:{net:1e3,total:1e3,gross:1e3,base:1e3,booking:0,refunded:0,discount:0,gateway:0,dispute:0,shipping:0,deductions:0,currency:`AUD`},eventId:s.id,teamId:r.id,promoterId:i.id,promoterSlug:i.slug,tenantId:t.id},_=e.OrderItem={id:`itm_01jps5cgsfwyxj0516571eaf17`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),orderId:`ord_01jps5cgsfgve5b5g2666kyryh`,kind:`ADMISSION`,quantity:2,admissionId:l.id,sectionId:c.id,price:{net:l.price.base+l.price.booking,total:l.price.base+l.price.booking,gross:l.price.base+l.price.booking,base:l.price.base,booking:l.price.booking,refunded:0,discount:0,currency:l.price.currency}};e.OrderFee={id:`fee_01jps5cgsgamykd6kh2t738qkh`,createdAt:new Date().toISOString(),reason:`Gateway Fee`,amount:-30,currency:`AUD`,requestId:`att_sgpdz4v2ph1axmdmdx8_m8w6qv`};let te=e.Order={id:`ord_01jps5cgsfgve5b5g2666kyryh`,token:`c76e3a5d7105345b58e383e6d90fe7728b75f938b727f0b9ecc5b977e8c3b5d0`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),status:`PENDING`,price:{net:500,total:1400,gross:2200,base:1e3,booking:400,discount:-1e3,refunded:-700,gateway:0,dispute:0,shipping:0,currency:`AUD`},code:{id:f.id,name:f.name},event:{id:s.id,name:s.name,slug:s.slug},fees:[],items:[_],customer:F$2.Customer,customerId:F$2.Customer.id,teamId:F$2.Team.id,promoterId:F$2.Promoter.id,promoterSlug:F$2.Promoter.slug,eventId:F$2.Event.id,eventSlug:F$2.Event.slug,payment:{method:`AIRWALLEX`,source:`CARD`},payoutIds:[g.id],tenantId:F$2.Tenant.id,checkoutUrl:`${t.baseUrl.dev}/checkout/ord_01jps5cgsfgve5b5g2666kyryh`},ne=e.TicketScan={id:`scn_01jq4rjmtzyzgtsavn9f34mxan`,scannedAt:new Date().toISOString(),scannedBy:{id:n.id,firstName:n.firstName,lastName:n.lastName,email:n.email},scannedById:n.id,deviceId:`dev_01jq4rjvrgar43zwvyakbje22m`,kind:`CHECK_IN`};e.Ticket={id:`tkt_01jps5cgsg0s32w2pr73vbccde`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),status:`REDEEMED`,scans:[ne],token:`7b81e13025f78f9935d5933eec3ab25e3c2bb811c99f2470182dd6ba4394ff82`,attendee:{email:m.email,firstName:m.firstName,lastName:m.lastName},event:{id:s.id,name:s.name,slug:s.slug,location:s.location,entryStartsAt:s.entryStartsAt,entryEndsAt:s.entryEndsAt,images:s.images},admission:{id:l.id,name:l.name,price:l.price,entryStartsAt:l.entryStartsAt,entryEndsAt:l.entryEndsAt},eventId:s.id,admissionId:l.id,customerId:m.id,orderId:te.id,orderItemId:_.id,teamId:r.id,promoterId:i.id,promoterSlug:i.slug,tenantId:t.id};})(F$2||={});const I$2=z$3.enum([`PENDING`,`APPROVED`,`REJECTED`]).meta({description:`Approval status. PENDING: awaiting review, APPROVED: approved for operation, REJECTED: rejected and cannot operate`}),ut=z$3.enum([`AUD`,`CNY`,`USD`,`HKD`,`EUR`,`GBP`,`CAD`,`SGD`,`CHF`,`NZD`,`JPY`,`THB`,`SEK`,`NOK`,`DKK`,`HUF`,`CZK`,`PLN`,`RON`,`KRW`,`MXN`,`ILS`,`ZAR`,`AED`]).meta({examples:[`AUD`],description:`Three-letter ISO 4217 currency code for transactions and payouts`});function L$2(t,n){return z$3.string().regex(RegExp(`^${t}_[0-9a-z]{26}$`),`Must be a valid ${n} ID`).describe(`Unique ${n} identifier`)}const R$2=L$2(`tem`,`team`),z$2=L$2(`evt`,`event`),dt=L$2(`ven`,`venue`),B$2=L$2(`loc`,`location`),V$2=L$2(`usr`,`user`),ft=L$2(`ord`,`order`);L$2(`tkt`,`ticket`);const H$2=L$2(`pmt`,`promoter`);L$2(`cpn`,`coupon`);L$2(`cod`,`coupon code`);const gt=L$2(`cus`,`customer`),_t=L$2(`adm`,`admission`),vt=L$2(`sct`,`section`);L$2(`ben`,`beneficiary`);const bt=L$2(`pyt`,`payout`),xt=L$2(`mbr`,`team member`),St=L$2(`inv`,`team invite`),Ct=L$2(`ecl`,`event collaborator`),wt=L$2(`psc`,`permission scope`),U$2=z$3.object({src:z$3.url().meta({examples:[`https://assets.session.services/my-image.jpg`]}),alt:z$3.string().meta({examples:[`My Image`]}),width:z$3.number().meta({examples:[1080]}),height:z$3.number().meta({examples:[1080]})}),Tt=z$3.union([z$3.string(),z$3.number(),z$3.boolean(),z$3.null()]),Et=z$3.lazy(()=>z$3.union([Tt,z$3.array(Et),z$3.record(z$3.string(),Et)])),Dt=z$3.record(z$3.string().min(1).max(40).meta({description:`Metadata key. Must be 1-40 characters`}),z$3.string().max(500).meta({description:`Metadata value. Must not exceed 500 characters`})).refine(e=>Object.keys(e).length<=50,{message:`Metadata cannot exceed 50 keys`}).optional().meta({description:`Flexible key-value metadata storage for custom configuration. Similar to Stripe's metadata API. Maximum 50 keys, key names up to 40 characters, values up to 500 characters.`}),W$2=z$3.string().regex(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$/,`Must be a naive datetime without timezone (YYYY-MM-DDTHH:mm:ss)`).meta({description:`Wall clock time without timezone (displays same everywhere)`,examples:[`2025-03-15T19:30:00`]}),Ot=z$3.enum([`EVENT`,`ORDER`,`FINANCE`,`SCANNING`,`MARKETING`,`BILLING`,`PROMOTER`,`TEAM`,`VENUE`,`EDITOR`,`FULL`]),At=z$3.array(Ot).min(1).meta({description:`Array of permission nodes. Must contain at least one permission. Empty arrays are not allowed for base permissions.`,examples:[[`EVENT`,`ORDER`],[`FULL`],[`SCANNING`]]}),G$2=z$3.object({id:_t.readonly().meta({description:`A unique identifier for this admission`,examples:[F$2.Admission.id]}),name:z$3.string().meta({description:`The display name of the admission type shown to customers`,examples:[F$2.Admission.name]}),capacity:z$3.number().min(-1).prefault(-1).meta({examples:[F$2.Admission.capacity],description:`Maximum number of tickets that can be sold for this admission type. A value of -1 indicates unlimited`}),limit:z$3.number().min(-1).prefault(-1).refine(e=>e!==0,{message:`Limit cannot be 0. Use -1 for unlimited or a positive number for a specific limit`}).meta({examples:[F$2.Admission.limit??-1],description:`Maximum number of tickets of this admission type that can be purchased in a single order. A value of -1 indicates unlimited`}),available:z$3.number().min(-1).readonly().meta({examples:[F$2.Admission.available],description:`Current number of tickets available for purchase, calculated as capacity minus sold minus reserved. A value of -1 indicates unlimited`}),sold:z$3.number().min(0).readonly().meta({examples:[F$2.Admission.sold],description:`Total number of tickets of this admission type that have been purchased`}),reserved:z$3.number().min(0).readonly().meta({examples:[F$2.Admission.reserved],description:`Number of tickets held for customers during checkout and not available to others`}),order:z$3.number().min(0).meta({examples:[F$2.Admission.order],description:`Determines the position in which this admission type appears when listed. Lower values appear first`}),createdAt:z$3.iso.datetime().readonly().meta({examples:[F$2.Admission.createdAt],description:`Timestamp in ISO 8601 format when this admission type was created`}),updatedAt:z$3.iso.datetime().readonly().meta({examples:[F$2.Admission.updatedAt],description:`Timestamp in ISO 8601 format when this admission type was last updated`}),entryStartsAt:W$2.meta({examples:[F$2.Admission.entryStartsAt],description:`Wall clock time from which tickets of this type are valid for entry (no timezone)`}),entryEndsAt:W$2.meta({examples:[F$2.Admission.entryEndsAt],description:`Wall clock time until which tickets of this type are valid for entry (no timezone)`}),saleStartsAt:W$2.meta({examples:[F$2.Admission.saleStartsAt],description:`Wall clock time when ticket sales for this admission type begin (no timezone)`}),saleEndsAt:W$2.meta({examples:[F$2.Admission.saleEndsAt],description:`Wall clock time when ticket sales for this admission type end (no timezone)`}),price:z$3.object({base:z$3.int().min(0).meta({examples:[F$2.Admission.price.base],description:`Base cost of a ticket for this admission type before fees, in cents`}),booking:z$3.int().min(0).meta({examples:[F$2.Admission.price.booking],description:`Additional booking fee applied to the ticket price, in cents`}),currency:z$3.string().regex(/^[A-Z]{3}$/).meta({examples:[F$2.Admission.price.currency],description:`Three-letter ISO 4217 currency code for the ticket price`})}).meta({examples:[F$2.Admission.price],description:`Pricing details for this admission type, including base cost and fees in cents, and currency`}),sectionId:vt.nullable().optional().meta({examples:[F$2.Admission.sectionId],description:`Identifier of the section this admission type belongs to, if any`}),teamId:R$2.meta({description:`Team that owns this admission. Denormalized for efficient queries.`}),promoterId:H$2.meta({examples:[F$2.Admission.promoterId],description:`Identifier of the promoter responsible for this admission type`}),eventId:z$2.meta({examples:[F$2.Admission.eventId],description:`Identifier of the event to which this admission type is linked`}),eventSlug:z$3.string().meta({examples:[F$2.Admission.eventSlug],description:`URL-friendly slug for the event associated with this admission type`})}).meta({description:`Admission represents a specific type or category of ticket available for an event`,examples:[F$2.Admission]}),Mt=G$2.omit({id:true,createdAt:true,updatedAt:true,available:true,sold:true,reserved:true}).meta({description:`Schema for creating a new admission type for an event`}),Nt=G$2.pick({id:true}).extend({eventId:G$2.shape.eventId.meta({examples:[F$2.Admission.eventId],description:`Identifier of the event to which this admission type belongs`})}).meta({description:`Schema for deleting an admission type from an event. This performs a soft delete by setting the deletedAt timestamp`}),Pt=G$2.pick({id:true}).extend({eventId:z$2.meta({examples:[F$2.Admission.eventId],description:`Identifier of the event to which this admission type belongs`})}).meta({description:`Schema for retrieving a specific admission type`}),Ft=()=>z$3.coerce.number().min(1).max(100).prefault(20).meta({examples:[20],description:`Maximum number of admission types to return per request. Must be between 1 and 100`}),It=z$3.object({eventId:z$3.string().meta({examples:[F$2.Admission.eventId],description:`Identifier of the event to list admission types for`}),sectionId:z$3.string().optional().meta({examples:[F$2.Admission.sectionId],description:`Filter admission types by section identifier. If provided, only admissions for this section are returned`}),query:z$3.string().optional().meta({examples:[`Early Bird`],description:`Optional search query to filter admissions by name. When provided, search-backed pagination is used.`}),limit:Ft().optional(),cursor:z$3.string().optional().meta({examples:[`eyJpZCI6ImFkbV8wMWpwczVjZ3NlZTB4dmFwYms5MmU4ZWI0ZyJ9`],description:`Pagination cursor for retrieving the next set of results. Obtained from previous response`})}).meta({description:`Schema for listing admission types with pagination and filtering options`});function K$2(t,n){let r={[n]:z$3.array(t).meta({description:`Array of ${n} for the current result set`})},i=z$3.string().nullish().meta({examples:[`eyJ2ZXJzaW9uIjoxLCJpbnRlbnQiOnsic291cmNlIjoiZGVtbyJ9LCJwb3MiOnsicHJpbWFyeUtleSI6InBybV8wMXM4NTNqIn19`],description:`Cursor for navigating backward in the result set. Omitted when there are no prior results.`}),a=z$3.string().nullish().meta({examples:[`eyJ2ZXJzaW9uIjoxLCJpbnRlbnQiOnsic291cmNlIjoiZGVtbyJ9LCJwb3MiOnsicHJpbWFyeUtleSI6InBybV8wMXM4NTNkIn19`],description:`Cursor for navigating forward in the result set. Omitted when there are no subsequent results.`}),o={...r,before:i,after:a,limit:z$3.coerce.number().min(1).meta({examples:[20],description:`Maximum number of items to return in each result set`})};return z$3.object(o)}const Rt=K$2(G$2,`admissions`),zt=G$2.pick({eventId:true}).extend({message:z$3.string().meta({examples:[`7.5% of the ticket price or $2 AUD, whichever is higher`],description:`Detailed explanation of the booking fee calculation applied to this admission type`}),price:z$3.object({base:z$3.int().min(0).meta({examples:[F$2.Admission.price.base],description:`Base cost of a ticket for this admission type before fees, in cents`}),booking:z$3.int().min(0).meta({examples:[F$2.Admission.price.booking],description:`Calculated booking fee applied to the ticket price, in cents`}),currency:z$3.string().regex(/^[A-Z]{3}$/).meta({examples:[F$2.Admission.price.currency],description:`Three-letter ISO 4217 currency code for the quoted price`})}).meta({examples:[F$2.Admission.price],description:`Pricing quote for this admission type, showing base cost and calculated booking fee in cents`})}).meta({description:`Response schema for admission pricing quotes, including booking fee calculations and explanatory messages`}),Bt=G$2.pick({eventId:true}).extend({base:z$3.int().min(0).meta({examples:[F$2.Admission.price.base],description:`Base cost of a ticket for this admission type before fees, in cents`}),currency:z$3.string().regex(/^[A-Z]{3}$/).meta({examples:[F$2.Admission.price.currency],description:`Three-letter ISO 4217 currency code for the ticket price`})}).meta({description:`Request schema for generating a pricing quote for an admission type, including booking fee calculations`}),Vt=z$3.object({quote:zt}),Ht=z$3.object({admission:G$2}),Ut=G$2.omit({promoterId:true,createdAt:true,updatedAt:true,eventSlug:true,sold:true,reserved:true}).partial().extend({id:G$2.shape.id,eventId:G$2.shape.eventId,sectionId:vt.nullable().optional().meta({description:`Section ID. Pass null to unassign from section; omit to leave unchanged.`})}).meta({description:`Schema for updating an existing admission type.`}),q$1=z$3.object({value:z$3.number().describe(`Current period value`),previous:z$3.number().describe(`Comparison period value`),change:z$3.number().describe(`Percentage change from previous period`),changeType:z$3.enum([`increase`,`decrease`,`unchanged`]).describe(`Direction of change`)}),Wt=z$3.object({eventId:z$3.string().describe(`Event identifier`),startDate:z$3.string().optional().describe(`Start date (YYYY-MM-DD). If omitted, returns all-time data.`),endDate:z$3.string().optional().describe(`End date (YYYY-MM-DD). If omitted, returns all-time data.`)}),Gt=z$3.object({meta:z$3.object({eventId:z$3.string().describe(`Event identifier`),eventName:z$3.string().describe(`Event name`),currency:z$3.string().describe(`Currency code (e.g., USD, EUR)`),dateRange:z$3.object({start:z$3.string().describe(`Period start date`),end:z$3.string().describe(`Period end date`)}).optional().describe(`Present only when startDate/endDate are provided`),comparisonRange:z$3.object({start:z$3.string().describe(`Comparison period start date`),end:z$3.string().describe(`Comparison period end date`)}).optional().describe(`Present only when startDate/endDate are provided`)}),metrics:z$3.object({revenue:q$1.describe(`Total revenue in cents`),ticketsSold:q$1.describe(`Number of tickets sold`),orderCount:q$1.describe(`Number of orders placed`),averageOrderValue:q$1.describe(`Average order value in cents`),conversionRate:q$1.describe(`Conversion rate as percentage`),pageViews:q$1.describe(`Total page/product views`),uniqueVisitors:q$1.describe(`Unique visitors (estimated)`),checkoutStarted:q$1.describe(`Number of checkout started events (external link clicks for external events)`)})}),Kt=z$3.object({eventId:z$3.string().describe(`Event identifier`),startDate:z$3.string().describe(`Start date`),endDate:z$3.string().describe(`End date`),granularity:z$3.enum([`HOUR`,`DAY`,`WEEK`,`MONTH`]).optional().default(`DAY`).describe(`Time granularity for aggregation`),breakdown:z$3.enum([`TOTAL`]).optional().default(`TOTAL`).describe(`Breakdown type (always TOTAL for performance)`)}),qt=z$3.object({meta:z$3.object({eventId:z$3.string(),eventName:z$3.string().describe(`Event name`),currency:z$3.string().describe(`Currency code`),dateRange:z$3.object({start:z$3.string(),end:z$3.string()}),granularity:z$3.enum([`HOUR`,`DAY`,`WEEK`,`MONTH`])}),series:z$3.array(z$3.object({date:z$3.string().describe(`Date or timestamp`),tickets:z$3.number().describe(`Tickets sold in period`),revenue:z$3.number().describe(`Revenue in period (cents)`),admissions:z$3.array(z$3.object({id:z$3.string(),name:z$3.string(),quantity:z$3.number()})),sections:z$3.array(z$3.object({id:z$3.string(),name:z$3.string(),quantity:z$3.number()}))}))}),Jt=z$3.object({eventId:z$3.string().describe(`Event identifier`),startDate:z$3.string().describe(`Start date (YYYY-MM-DD)`),endDate:z$3.string().describe(`End date (YYYY-MM-DD)`)}),Yt=z$3.object({meta:z$3.object({eventId:z$3.string(),eventName:z$3.string().describe(`Event name`),currency:z$3.string().describe(`Currency code`),dateRange:z$3.object({start:z$3.string(),end:z$3.string()})}),totals:z$3.object({entered:z$3.number().describe(`Total entered funnel (product viewed)`),completed:z$3.number().describe(`Total completed (orders)`),overallConversionRate:z$3.number().describe(`Overall conversion rate (%)`),totalDropped:z$3.number().describe(`Total dropped off`)}),stages:z$3.array(z$3.object({id:z$3.string().describe(`Funnel stage identifier`),name:z$3.string().describe(`Human-readable stage name`),count:z$3.number().describe(`Number of events at this stage`),conversionRate:z$3.number().describe(`Conversion rate from first stage (%)`),dropoffRate:z$3.number().describe(`Dropoff rate from previous stage (%)`)}))});z$3.object({meta:z$3.object({eventId:z$3.string(),dimension:z$3.string().describe(`Dimension type`),dateRange:z$3.object({start:z$3.string(),end:z$3.string()}),limit:z$3.number().optional()}),data:z$3.array(z$3.object({name:z$3.string().describe(`Dimension value (e.g., campaign name)`),views:z$3.number().describe(`Page/product views`),conversions:z$3.number().describe(`Completed orders`),revenue:z$3.number().describe(`Total revenue in cents`),conversionRate:z$3.number().describe(`Conversion rate (%)`),share:z$3.number().describe(`Percentage share of total`).optional()})),totals:z$3.object({views:z$3.number(),conversions:z$3.number(),revenue:z$3.number()}).optional()});const Zt=z$3.object({startDate:z$3.string().datetime(),endDate:z$3.string().datetime()}),Qt=z$3.enum([`HOUR`,`DAY`,`WEEK`,`MONTH`]);z$3.object({eventId:z$3.string(),granularity:Qt.optional()}).merge(Zt);z$3.object({granularity:Qt,data:z$3.array(z$3.object({date:z$3.string(),revenue:z$3.number(),ticketsSold:z$3.number()}))});const tn=z$3.object({eventId:z$3.string(),limit:z$3.number().min(1).max(100).optional().default(10)}).merge(Zt),nn=z$3.object({meta:z$3.object({eventId:z$3.string().describe(`Event identifier`),eventName:z$3.string().describe(`Event name`),currency:z$3.string().describe(`Currency code (e.g., USD, EUR)`),dateRange:z$3.object({start:z$3.string().describe(`Period start date`),end:z$3.string().describe(`Period end date`)}),limit:z$3.number().describe(`Maximum number of results returned`)}),totals:z$3.object({uses:z$3.number().describe(`Total coupon uses across all coupons`),revenue:z$3.number().describe(`Total revenue from coupon-discounted orders (cents)`)}),coupons:z$3.array(z$3.object({id:z$3.string().describe(`Coupon code identifier`),code:z$3.string().describe(`Coupon code`),uses:z$3.number().describe(`Number of times this coupon was used`),revenue:z$3.number().describe(`Revenue from this coupon (cents)`),discount:z$3.string().describe(`Discount amount or percentage`),share:z$3.number().describe(`Share of total coupon uses (%)`)})).describe(`Coupons sorted by uses descending`)}),rn=z$3.object({eventId:z$3.string(),limit:z$3.number().min(1).max(100).optional().default(10)}).merge(Zt),an=z$3.object({data:z$3.array(z$3.object({campaign:z$3.string(),views:z$3.number(),conversions:z$3.number(),conversionRate:z$3.number(),sharePercent:z$3.number()})),totalConversions:z$3.number()}),on=z$3.object({eventId:z$3.string(),limit:z$3.number().min(1).max(100).optional().default(10)}).merge(Zt),sn=z$3.object({meta:z$3.object({eventId:z$3.string().describe(`Event identifier`),eventName:z$3.string().describe(`Event name`),currency:z$3.string().describe(`Currency code (e.g., USD, EUR)`),dateRange:z$3.object({start:z$3.string().describe(`Period start date`),end:z$3.string().describe(`Period end date`)}),limit:z$3.number().describe(`Maximum number of results returned`)}),totals:z$3.object({views:z$3.number().describe(`Total views across all mediums`),conversions:z$3.number().describe(`Total conversions across all mediums`)}),mediums:z$3.array(z$3.object({id:z$3.string().describe(`Medium identifier (e.g., 'social', 'email')`),name:z$3.string().describe(`Medium name`),views:z$3.number().describe(`Views from this medium`),conversions:z$3.number().describe(`Conversions from this medium`),conversionRate:z$3.number().describe(`Conversion rate (%)`),share:z$3.number().describe(`Share of total conversions (%)`)})).describe(`Mediums sorted by conversions descending`)}),cn=z$3.object({eventId:z$3.string()}).merge(Zt),ln=z$3.object({meta:z$3.object({eventId:z$3.string().describe(`Event identifier`),eventName:z$3.string().describe(`Event name`),currency:z$3.string().describe(`Currency code (e.g., USD, EUR)`),dateRange:z$3.object({start:z$3.string().describe(`Period start date`),end:z$3.string().describe(`Period end date`)})}),totals:z$3.object({revenue:z$3.number().describe(`Total revenue across all devices (cents)`),orders:z$3.number().describe(`Total orders across all devices`)}),devices:z$3.array(z$3.object({id:z$3.enum([`MOBILE`,`DESKTOP`,`TABLET`]).describe(`Device type`),name:z$3.string().describe(`Human-readable device name`),revenue:z$3.number().describe(`Revenue from this device (cents)`),orders:z$3.number().describe(`Orders from this device`),conversionRate:z$3.number().describe(`Conversion rate (%)`),share:z$3.number().describe(`Share of total revenue (%)`)})).describe(`Devices sorted by revenue descending`)}),un=z$3.object({eventId:z$3.string(),limit:z$3.number().min(1).max(100).optional().default(10)}).merge(Zt),dn$1=z$3.object({meta:z$3.object({eventId:z$3.string().describe(`Event identifier`),eventName:z$3.string().describe(`Event name`),currency:z$3.string().describe(`Currency code (e.g., USD, EUR)`),dateRange:z$3.object({start:z$3.string().describe(`Period start date`),end:z$3.string().describe(`Period end date`)}),limit:z$3.number().describe(`Maximum number of results returned`)}),totals:z$3.object({tickets:z$3.number().describe(`Total tickets across all locations`),revenue:z$3.number().describe(`Total revenue across all locations (cents)`)}),locations:z$3.array(z$3.object({id:z$3.string().describe(`Location/region code (e.g., 'US-CA', 'GB')`),name:z$3.string().describe(`Human-readable location name`),views:z$3.number().describe(`Page views from this location`),tickets:z$3.number().describe(`Tickets from this location`),revenue:z$3.number().describe(`Revenue from this location (cents)`),share:z$3.number().describe(`Share of total views (%)`)})).describe(`Locations sorted by views descending`)}),fn$1=z$3.object({eventId:z$3.string(),limit:z$3.number().min(1).max(100).optional().default(10)}).merge(Zt),pn$1=z$3.object({meta:z$3.object({eventId:z$3.string().describe(`Event identifier`),eventName:z$3.string().describe(`Event name`),currency:z$3.string().describe(`Currency code (e.g., USD, EUR)`),dateRange:z$3.object({start:z$3.string().describe(`Period start date`),end:z$3.string().describe(`Period end date`)}),limit:z$3.number().describe(`Maximum number of results returned`)}),totals:z$3.object({sessions:z$3.number().describe(`Total sessions across all sources`),conversions:z$3.number().describe(`Total conversions across all sources`),revenue:z$3.number().describe(`Total revenue across all sources (cents)`)}),sources:z$3.array(z$3.object({id:z$3.string().describe(`Traffic source identifier`),name:z$3.string().describe(`Traffic source name`),referrer:z$3.string().describe(`Referrer URL or domain`),sessions:z$3.number().describe(`Sessions from this source`),conversions:z$3.number().describe(`Conversions from this source`),conversionRate:z$3.number().describe(`Conversion rate (%)`),revenue:z$3.number().describe(`Revenue from this source (cents)`),share:z$3.number().describe(`Share of total conversions (%)`)})).describe(`Traffic sources sorted by conversions descending`)}),mn$1=z$3.object({eventId:z$3.string(),includeAdmission:z$3.boolean().optional().default(true),includeSection:z$3.boolean().optional().default(true),granularity:z$3.enum([`HOUR`,`MINUTE`]).optional()}),hn$1=z$3.object({totalTickets:z$3.number(),checkedIn:z$3.number(),notCheckedIn:z$3.number(),checkinRate:z$3.number()}),gn$1=hn$1.extend({admissionId:z$3.string(),admissionName:z$3.string()}),_n$1=hn$1.extend({sectionId:z$3.string(),sectionName:z$3.string()}),vn$1=hn$1.extend({byAdmission:z$3.array(gn$1),bySection:z$3.array(_n$1)}),yn$1=z$3.object({granularity:z$3.enum([`HOUR`,`MINUTE`]),totalTickets:z$3.number(),data:z$3.array(z$3.object({timestamp:z$3.string(),checkedIn:z$3.number(),rate:z$3.number(),checkinsThisPeriod:z$3.number()})),byAdmission:z$3.array(z$3.object({admissionId:z$3.string(),admissionName:z$3.string(),data:z$3.array(z$3.object({timestamp:z$3.string(),checkedIn:z$3.number(),rate:z$3.number()}))})).optional(),bySection:z$3.array(z$3.object({sectionId:z$3.string(),sectionName:z$3.string(),data:z$3.array(z$3.object({timestamp:z$3.string(),checkedIn:z$3.number(),rate:z$3.number()}))})).optional()}),bn$1=z$3.union([vn$1,yn$1]),xn$1=z$3.object({promoterId:z$3.string().describe(`Promoter identifier`),startDate:z$3.string().describe(`Start date (YYYY-MM-DD)`),endDate:z$3.string().describe(`End date (YYYY-MM-DD)`),currency:z$3.string().optional().describe(`Currency code for revenue metrics`)}),Sn$1=z$3.object({meta:z$3.object({promoterId:z$3.string().describe(`Promoter identifier`),promoterName:z$3.string().describe(`Promoter name`),teamId:z$3.string().describe(`Team identifier`),teamName:z$3.string().describe(`Team name`),currency:z$3.string().describe(`Primary currency code`),currencies:z$3.array(z$3.string()).describe(`All currencies with transactions`),dateRange:z$3.object({start:z$3.string().describe(`Period start date`),end:z$3.string().describe(`Period end date`)}),comparisonRange:z$3.object({start:z$3.string().describe(`Comparison period start date`),end:z$3.string().describe(`Comparison period end date`)})}),metrics:z$3.object({revenue:z$3.object({value:z$3.number().describe(`Current period value`),previous:z$3.number().describe(`Comparison period value`),change:z$3.number().describe(`Percentage change from previous period`),changeType:z$3.enum([`increase`,`decrease`,`unchanged`]).describe(`Direction of change`)}).describe(`Total revenue in cents`),ticketsSold:z$3.object({value:z$3.number(),previous:z$3.number(),change:z$3.number(),changeType:z$3.enum([`increase`,`decrease`,`unchanged`])}).describe(`Number of tickets sold`),averageOrderValue:z$3.object({value:z$3.number(),previous:z$3.number(),change:z$3.number(),changeType:z$3.enum([`increase`,`decrease`,`unchanged`])}).describe(`Average order value in cents`),conversionRate:z$3.object({value:z$3.number(),previous:z$3.number(),change:z$3.number(),changeType:z$3.enum([`increase`,`decrease`,`unchanged`])}).describe(`Overall conversion rate (%)`),activeEvents:z$3.object({value:z$3.number(),previous:z$3.number(),change:z$3.number(),changeType:z$3.enum([`increase`,`decrease`,`unchanged`])}).describe(`Number of active events in period`),uniqueCustomers:z$3.object({value:z$3.number(),previous:z$3.number(),change:z$3.number(),changeType:z$3.enum([`increase`,`decrease`,`unchanged`])}).describe(`Unique customers (estimated)`),orderCount:z$3.object({value:z$3.number(),previous:z$3.number(),change:z$3.number(),changeType:z$3.enum([`increase`,`decrease`,`unchanged`])}).describe(`Number of orders placed`),pageViews:z$3.object({value:z$3.number(),previous:z$3.number(),change:z$3.number(),changeType:z$3.enum([`increase`,`decrease`,`unchanged`])}).describe(`Total page views from tracking`)})}),Cn$1=z$3.object({promoterId:z$3.string().describe(`Promoter identifier`),startDate:z$3.string().describe(`Start date`),endDate:z$3.string().describe(`End date`),granularity:z$3.enum([`HOUR`,`DAY`,`WEEK`,`MONTH`]).optional().default(`DAY`).describe(`Time granularity`),currency:z$3.string().optional().describe(`Currency filter`)}),wn$1=z$3.object({meta:z$3.object({promoterId:z$3.string(),dateRange:z$3.object({start:z$3.string(),end:z$3.string()}),granularity:z$3.enum([`HOUR`,`DAY`,`WEEK`,`MONTH`])}),currencies:z$3.array(z$3.object({currency:z$3.string().describe(`Currency code (e.g., USD, EUR)`),series:z$3.array(z$3.object({date:z$3.string().describe(`Date (YYYY-MM-DD)`),revenue:z$3.number().describe(`Revenue in cents`),tickets:z$3.number().describe(`Tickets sold`)})),totals:z$3.object({revenue:z$3.number().describe(`Total revenue for period in cents`),tickets:z$3.number().describe(`Total tickets for period`)})})).describe(`Time-series data grouped by currency`)}),Tn$1=z$3.object({promoterId:z$3.string().describe(`Promoter identifier`),startDate:z$3.string().describe(`Start date (ISO format)`),endDate:z$3.string().describe(`End date (ISO format)`),limit:z$3.number().optional().default(5).describe(`Maximum number of events to return`)}),En$1=z$3.object({events:z$3.array(z$3.object({eventId:z$3.string().describe(`Event identifier`),eventName:z$3.string().describe(`Event name`),ticketCount:z$3.number().describe(`Number of tickets sold`),sharePercent:z$3.number().describe(`Percentage of total tickets`)})),totalTickets:z$3.number().describe(`Total tickets across all events`)}),J=z$3.object({value:z$3.number().describe(`Current period value`),previous:z$3.number().describe(`Comparison period value`),change:z$3.number().describe(`Percentage change from previous period`),changeType:z$3.enum([`increase`,`decrease`,`unchanged`]).describe(`Direction of change`)}),Dn$1=z$3.object({teamId:z$3.string().describe(`Team identifier`),startDate:z$3.string().describe(`Start date (YYYY-MM-DD)`),endDate:z$3.string().describe(`End date (YYYY-MM-DD)`),currency:z$3.string().optional().describe(`Currency code for revenue metrics`)}),On$1=z$3.object({meta:z$3.object({teamId:z$3.string().describe(`Team identifier`),teamName:z$3.string().describe(`Team name`),currency:z$3.string().describe(`Primary currency code`),currencies:z$3.array(z$3.string()).describe(`All currencies with transactions`),dateRange:z$3.object({start:z$3.string().describe(`Period start date`),end:z$3.string().describe(`Period end date`)}),comparisonRange:z$3.object({start:z$3.string().describe(`Comparison period start date`),end:z$3.string().describe(`Comparison period end date`)})}),metrics:z$3.object({revenue:J.describe(`Total revenue in cents`),ticketsSold:J.describe(`Number of tickets sold`),averageOrderValue:J.describe(`Average order value in cents`),conversionRate:J.describe(`Overall conversion rate (%)`),activeEvents:J.describe(`Number of active events in period`),uniqueCustomers:J.describe(`Unique customers (estimated)`),orderCount:J.describe(`Number of orders placed`),pageViews:J.describe(`Total page views from tracking`)})}),kn$1=z$3.object({teamId:z$3.string().describe(`Team identifier`),startDate:z$3.string().describe(`Start date`),endDate:z$3.string().describe(`End date`),granularity:z$3.enum([`HOUR`,`DAY`,`WEEK`,`MONTH`]).optional().default(`DAY`).describe(`Time granularity`),currency:z$3.string().optional().describe(`Currency filter`)}),An$1=z$3.object({meta:z$3.object({teamId:z$3.string(),dateRange:z$3.object({start:z$3.string(),end:z$3.string()}),granularity:z$3.enum([`HOUR`,`DAY`,`WEEK`,`MONTH`])}),currencies:z$3.array(z$3.object({currency:z$3.string().describe(`Currency code (e.g., USD, EUR)`),series:z$3.array(z$3.object({date:z$3.string().describe(`Date (YYYY-MM-DD)`),revenue:z$3.number().describe(`Revenue in cents`),tickets:z$3.number().describe(`Tickets sold`),orders:z$3.number().describe(`Orders placed`)})),totals:z$3.object({revenue:z$3.number().describe(`Total revenue for period in cents`),tickets:z$3.number().describe(`Total tickets for period`),orders:z$3.number().describe(`Total orders for period`)})})).describe(`Time-series data grouped by currency`)});z$3.object({teamId:z$3.string().describe(`Team identifier`),startDate:z$3.string().describe(`Start date`),endDate:z$3.string().describe(`End date`),limit:z$3.number().optional().default(10).describe(`Number of events to return`),sortBy:z$3.enum([`revenue`,`tickets`,`conversion`]).optional().default(`revenue`).describe(`Sort metric`)});z$3.object({meta:z$3.object({teamId:z$3.string(),dateRange:z$3.object({start:z$3.string(),end:z$3.string()}),limit:z$3.number(),sortBy:z$3.string()}),data:z$3.array(z$3.object({eventId:z$3.string().describe(`Event identifier`),eventName:z$3.string().describe(`Event name`),eventDate:z$3.string().describe(`Event date`).optional(),status:z$3.string().describe(`Event status`),revenue:z$3.number().describe(`Total revenue in cents`),tickets:z$3.number().describe(`Tickets sold`),views:z$3.number().describe(`Page views`),conversionRate:z$3.number().describe(`Conversion rate (%)`),contribution:z$3.number().describe(`% of promoter's total revenue`)})),totals:z$3.object({events:z$3.number().describe(`Total events in period`),revenue:z$3.number().describe(`Combined revenue`),tickets:z$3.number().describe(`Combined tickets`)})});const Nn$1=z$3.object({teamId:z$3.string().describe(`Team identifier`),startDate:z$3.string().describe(`Start date (ISO format)`),endDate:z$3.string().describe(`End date (ISO format)`),limit:z$3.number().optional().default(5).describe(`Maximum number of events to return`)}),Pn$1=z$3.object({events:z$3.array(z$3.object({eventId:z$3.string().describe(`Event identifier`),eventName:z$3.string().describe(`Event name`),ticketCount:z$3.number().describe(`Number of tickets sold`),sharePercent:z$3.number().describe(`Percentage of total tickets`)})),totalTickets:z$3.number().describe(`Total tickets across all events`)}),Fn$1=z$3.object({teamId:z$3.string().describe(`Team identifier`),startDate:z$3.string().describe(`Start date (YYYY-MM-DD)`),endDate:z$3.string().describe(`End date (YYYY-MM-DD)`)}),In$1=z$3.object({stages:z$3.array(z$3.object({stageId:z$3.string().describe(`Funnel stage identifier`),stageLabel:z$3.string().describe(`Human-readable stage name`),count:z$3.number().describe(`Number of events at this stage`),conversionRate:z$3.number().describe(`Conversion rate from first stage (%)`),dropoffPercent:z$3.number().describe(`Dropoff rate from previous stage (%)`)}))}),Ln$1=z$3.object({teamId:z$3.string().describe(`Team identifier`),startDate:z$3.string().describe(`Start date (ISO format)`),endDate:z$3.string().describe(`End date (ISO format)`),groupBy:z$3.enum([`HOUR`,`DAY_OF_WEEK`,`DAY`,`WEEK`,`MONTH`]).optional().default(`HOUR`).describe(`Time breakdown for aggregation`),timeZone:z$3.string().optional().default(`UTC`).describe(`IANA timezone for hour/day aggregation (e.g., 'America/New_York')`)}),Rn$1=z$3.object({groupBy:z$3.enum([`HOUR`,`DAY_OF_WEEK`,`DAY`,`WEEK`,`MONTH`]).describe(`The grouping used for aggregation`),buckets:z$3.array(z$3.object({key:z$3.union([z$3.number(),z$3.string()]).describe(`Bucket key (hour 0-23, day 0-6, or date string)`),label:z$3.string().describe(`Human-readable label`),orderCount:z$3.number().describe(`Number of orders`),sharePercent:z$3.number().describe(`Percentage of total orders`)})),totalOrders:z$3.number().describe(`Total orders across all buckets`)}),zn$1=z$3.object({teamId:z$3.string().describe(`Team identifier`),startDate:z$3.string().describe(`Start date (ISO format)`),endDate:z$3.string().describe(`End date (ISO format)`),limit:z$3.number().optional().default(10).describe(`Maximum number of admissions to return`)}),Bn$1=z$3.object({admissions:z$3.array(z$3.object({admissionId:z$3.string().describe(`Admission identifier`),admissionName:z$3.string().describe(`Admission name`),ticketCount:z$3.number().describe(`Number of tickets sold`),sharePercent:z$3.number().describe(`Percentage of total tickets`)})),totalTickets:z$3.number().describe(`Total tickets across all admissions`)}),Vn$1=z$3.object({teamId:z$3.string().describe(`Team identifier`),startDate:z$3.string().describe(`Start date (YYYY-MM-DD)`),endDate:z$3.string().describe(`End date (YYYY-MM-DD)`),type:z$3.enum([`campaign`,`medium`,`source`]).describe(`Dimension type to analyze`),limit:z$3.number().optional().default(20).describe(`Maximum number of results to return`)}),Hn$1=z$3.object({dimensionType:z$3.enum([`campaign`,`medium`,`source`]).describe(`The dimension type analyzed`),data:z$3.array(z$3.object({dimensionValue:z$3.string().describe(`The dimension value (e.g., campaign name)`),dimensionLabel:z$3.string().describe(`Human-readable label`),views:z$3.number().describe(`Total page views`),conversions:z$3.number().describe(`Total conversions (orders)`),revenue:z$3.number().describe(`Total revenue in cents`),conversionRate:z$3.number().describe(`Conversion rate (%)`),sharePercent:z$3.number().describe(`Share of total conversions (%)`),uniqueVisitors:z$3.number().describe(`Unique visitors (estimated)`)})),totalConversions:z$3.number().describe(`Total conversions across all dimensions`)}),Un$1=z$3.object({teamId:z$3.string().describe(`Team identifier`),startDate:z$3.string().describe(`Start date (YYYY-MM-DD)`),endDate:z$3.string().describe(`End date (YYYY-MM-DD)`),granularity:z$3.enum([`DAY`,`WEEK`,`MONTH`]).optional().default(`DAY`).describe(`Time granularity for aggregation`)}),Wn$1=z$3.object({granularity:z$3.enum([`DAY`,`WEEK`,`MONTH`]).describe(`The granularity used`),series:z$3.array(z$3.object({date:z$3.string().describe(`Date key (YYYY-MM-DD, YYYY-Www, or YYYY-MM)`),label:z$3.string().describe(`Human-readable label`),productViewed:z$3.number().describe(`Page views`),productAdded:z$3.number().describe(`Add to cart events`),checkoutStarted:z$3.number().describe(`Checkout started events`),orderCompleted:z$3.number().describe(`Completed orders`)})),totals:z$3.object({productViewed:z$3.number().describe(`Total page views`),productAdded:z$3.number().describe(`Total add to cart`),checkoutStarted:z$3.number().describe(`Total checkouts started`),orderCompleted:z$3.number().describe(`Total orders completed`),uniqueVisitors:z$3.number().describe(`Unique visitors (estimated via HyperLogLog, ~0.8% error)`)})}),Gn$1=z$3.enum(`Products Searched.Product List Viewed.Product List Filtered.Promotion Viewed.Promotion Clicked.Product Clicked.Product Viewed.Product Added.Product Removed.Cart Viewed.Checkout Started.Checkout Step Viewed.Checkout Step Completed.Payment Info Entered.Order Completed.Order Updated.Order Refunded.Order Cancelled.Coupon Entered.Coupon Applied.Coupon Denied.Coupon Removed.Product Added to Wishlist.Product Removed from Wishlist.Wishlist Product Added to Cart.Product Shared.Cart Shared.Product Reviewed`.split(`.`)),qn$1=z$3.object({product_id:z$3.string().optional().describe(`admission_id in ticketing context`),sku:z$3.string().optional().describe(`admission_id or admission_name`),category:z$3.string().optional().describe(`event_name or "Admission"`),name:z$3.string().optional().describe(`admission_name`),brand:z$3.string().optional().describe(`promoter_name`),variant:z$3.string().optional().describe(`section_name`),price:z$3.number().optional().describe(`admission price (base + booking fee)`),quantity:z$3.number().optional().describe(`number of tickets`),coupon:z$3.string().optional().describe(`coupon code applied`),position:z$3.number().optional().describe(`position in list`),url:z$3.string().optional().describe(`URL to event/admission page`),image_url:z$3.string().optional().describe(`event image`),admission_id:z$3.string().optional().describe(`Explicit admission ID`),section_id:z$3.string().optional().describe(`Section ID if applicable`),event_id:z$3.string().optional().describe(`Event ID for this admission`),promoter_id:z$3.string().optional().describe(`Promoter ID`),price_base:z$3.number().nullish().describe(`Base price before fees`),price_booking_fee:z$3.number().nullish().describe(`Booking fee`),capacity:z$3.number().optional().describe(`Total capacity for this admission`),available:z$3.number().optional().describe(`Remaining tickets available`),sold:z$3.number().optional().describe(`Tickets already sold`)}),Jn$1=z$3.object({type:z$3.string(),value:z$3.string()}),Yn$1=z$3.object({type:z$3.string(),value:z$3.string()}),Xn$1=z$3.object({query:z$3.union([z$3.string(),z$3.record(z$3.string(),z$3.unknown())]).optional(),list_id:z$3.string().optional(),category:z$3.string().optional(),filters:z$3.array(Jn$1).optional(),sorts:z$3.array(Yn$1).optional(),promotion_id:z$3.string().optional(),creative:z$3.string().optional(),name:z$3.string().optional(),position:z$3.union([z$3.string(),z$3.number()]).optional(),product_id:z$3.string().optional(),sku:z$3.string().optional(),brand:z$3.string().optional(),variant:z$3.string().optional(),price:z$3.number().optional(),quantity:z$3.number().optional(),coupon:z$3.string().optional(),currency:z$3.string().optional(),value:z$3.number().optional(),url:z$3.string().optional(),image_url:z$3.string().optional(),cart_id:z$3.string().optional(),checkout_id:z$3.string().optional(),step:z$3.number().optional(),shipping_method:z$3.string().optional(),payment_method:z$3.string().optional(),order_id:z$3.string().optional(),affiliation:z$3.string().optional(),subtotal:z$3.number().optional(),total:z$3.number().optional(),revenue:z$3.number().optional(),shipping:z$3.number().optional(),tax:z$3.number().optional(),discount:z$3.number().optional(),coupon_id:z$3.string().optional(),coupon_name:z$3.string().optional(),reason:z$3.string().optional(),wishlist_id:z$3.string().optional(),wishlist_name:z$3.string().optional(),share_via:z$3.string().optional(),share_message:z$3.string().optional(),recipient:z$3.string().optional(),review_id:z$3.string().optional(),review_body:z$3.string().optional(),rating:z$3.string().optional(),products:z$3.array(qn$1).optional(),event_id:z$3.string().optional().describe(`ID of the ticketed event (evt_xxx)`),event_name:z$3.string().optional().describe(`Name of the ticketed event`),event_slug:z$3.string().optional().describe(`URL slug of event`),event_starts_at:W$2.optional().describe(`When the event starts (naive datetime, no timezone)`),event_ends_at:W$2.optional().describe(`When the event ends (naive datetime, no timezone)`),event_status:z$3.enum([`UPCOMING`,`LIVE`,`ENDED`,`CANCELLED`]).optional(),event_visibility:z$3.enum([`PUBLIC`,`PRIVATE`]).optional(),event_location:z$3.string().optional().describe(`Venue name`),event_city:z$3.string().optional().describe(`Venue city`),event_country:z$3.string().optional().describe(`Venue country`),promoter_id:z$3.string().optional().describe(`ID of the promoter (pmt_xxx)`),promoter_name:z$3.string().optional().describe(`Name of the promoter`),promoter_slug:z$3.string().optional().describe(`URL slug of promoter`),admission_id:z$3.string().optional().describe(`ID of admission type (adm_xxx)`),admission_name:z$3.string().optional().describe(`Name of admission (e.g., "General Admission")`),admission_capacity:z$3.number().optional().describe(`Total capacity for this admission`),admission_available:z$3.number().optional().describe(`Tickets still available`),admission_sold:z$3.number().optional().describe(`Tickets already sold`),section_id:z$3.string().optional().describe(`ID of section (sct_xxx)`),section_name:z$3.string().optional().describe(`Name of section (e.g., "VIP", "General")`),section_capacity:z$3.number().optional().describe(`Total capacity for this section`),section_available:z$3.number().optional().describe(`Spots still available in section`),ticket_id:z$3.string().optional().describe(`Individual ticket ID (tkt_xxx)`),ticket_status:z$3.enum([`VALID`,`REDEEMED`,`CANCELLED`]).optional(),tickets_quantity:z$3.number().optional().describe(`Number of tickets in transaction`),customer_id:z$3.string().optional().describe(`Customer ID (cus_xxx)`),customer_email:z$3.string().optional().describe(`Customer email`),customer_first_name:z$3.string().optional(),customer_last_name:z$3.string().optional(),price_base:z$3.number().nullish().describe(`Base price before fees`),price_booking_fee:z$3.number().nullish().describe(`Booking fee amount`),price_discount_amount:z$3.number().nullish().describe(`Discount amount applied`),sale_starts_at:W$2.optional().describe(`When tickets go on sale (naive datetime, no timezone)`),sale_ends_at:W$2.optional().describe(`When ticket sales end (naive datetime, no timezone)`),entry_starts_at:W$2.optional().describe(`When entry to event begins (naive datetime, no timezone)`),entry_ends_at:W$2.optional().describe(`When entry to event ends (naive datetime, no timezone)`),funnel_step:z$3.string().optional().describe(`Current funnel step (e.g., "browse", "cart", "checkout")`),time_to_purchase:z$3.number().optional().describe(`Seconds from first view to purchase`),session_duration:z$3.number().optional().describe(`Total session duration in seconds`),referrer_type:z$3.enum([`DIRECT`,`SOCIAL`,`EMAIL`,`SEARCH`,`REFERRAL`,`AD`]).optional(),campaign_id:z$3.string().optional().describe(`Marketing campaign ID`),affiliate_id:z$3.string().optional().describe(`Affiliate partner ID`),promo_code_used:z$3.string().optional().describe(`Promotional code applied`),platform:z$3.enum([`WEB`,`MOBILE_WEB`,`IOS`,`ANDROID`]).optional(),app_version:z$3.string().optional(),device_type:z$3.enum([`MOBILE`,`TABLET`,`DESKTOP`]).optional()}),Zn$1=z$3.object({session_id:z$3.string(),user_id:z$3.string().optional(),anonymous_id:z$3.string(),utm_source:z$3.string().optional(),utm_medium:z$3.string().optional(),utm_campaign:z$3.string().optional(),utm_term:z$3.string().optional(),utm_content:z$3.string().optional(),page:z$3.object({url:z$3.string(),path:z$3.string(),title:z$3.string()}),referrer:z$3.string().optional(),user_agent:z$3.string().optional(),ip:z$3.string().optional(),geo:z$3.object({country:z$3.string().optional().describe(`Country code (e.g., "AU")`),countryName:z$3.string().optional().describe(`Country name (e.g., "Australia")`),region:z$3.string().optional().describe(`State/province code`),regionName:z$3.string().optional().describe(`State/province name (e.g., "New South Wales")`),city:z$3.string().optional().describe(`City name`),latitude:z$3.string().optional().describe(`Latitude`),longitude:z$3.string().optional().describe(`Longitude`)}).optional(),fbc:z$3.string().optional().describe(`Facebook click ID`),fbp:z$3.string().optional().describe(`Facebook browser ID`),ttclid:z$3.string().optional().describe(`TikTok click ID`)}),Qn$1=z$3.object({id:z$3.string(),eventId:z$3.string().describe(`Event being tracked (evt_123)`),teamId:z$3.string().describe(`Team ID (team_123)`),promoterId:z$3.string().describe(`Promoter ID (pmt_123)`),eventType:Gn$1,timestamp:z$3.string(),date:z$3.string().describe(`YYYY-MM-DD`),hour:z$3.number().int().min(0).max(23),properties:Xn$1,context:Zn$1,productId:z$3.string().optional(),createdAt:z$3.string(),updatedAt:z$3.string()}),$n$1=Qn$1.omit({id:true,timestamp:true,date:true,hour:true,createdAt:true,updatedAt:true}).meta({description:`Schema for tracking an analytics event. Excludes system-generated fields`});z$3.object({eventId:z$3.string().meta({description:`Event ID to get tracking events for`}),startDate:z$3.string().optional().meta({description:`Start date (YYYY-MM-DD) for filtering events`}),endDate:z$3.string().optional().meta({description:`End date (YYYY-MM-DD) for filtering events`}),limit:z$3.coerce.number().int().positive().optional().meta({description:`Maximum number of events to return`})}).meta({description:`Schema for retrieving tracking events for an event`});const tr$1=z$3.enum([`AIRWALLEX`,`STRIPE`]),rr$1=z$3.object({id:z$3.string().readonly().meta({examples:[F$2.Beneficiary.id],description:`A unique identifier for this beneficiary.`}),createdAt:z$3.iso.datetime().readonly().meta({examples:[F$2.Beneficiary.createdAt],description:`Timestamp in ISO 8601 format when this beneficiary was created.`}),updatedAt:z$3.iso.datetime().readonly().meta({examples:[F$2.Beneficiary.updatedAt],description:`Timestamp in ISO 8601 format when this beneficiary was last updated.`}),name:z$3.string().meta({examples:[F$2.Beneficiary.name],description:`The account name for this beneficiary.`}),currency:z$3.string().regex(/^[A-Z]{3}$/).meta({examples:[`AUD`],description:`Three-letter ISO 4217 currency code for payouts.`}),gateway:tr$1.meta({examples:[`STRIPE`],description:`The payment gateway used for processing payouts.`}),gatewayId:z$3.string().meta({examples:[F$2.Beneficiary.gatewayId],description:`The identifier assigned by the payment gateway to this account.`}),teamId:z$3.string().meta({description:`Team that owns this beneficiary account.`}),promoterIds:z$3.array(z$3.string()).meta({examples:[[]],description:`List of promoter IDs this beneficiary is assigned to. Empty array means team-level only (available to all promoters).`}),venueIds:z$3.array(z$3.string()).meta({examples:[[]],description:`List of venue IDs this beneficiary is assigned to. Empty array means team-level only (available to all venues).`})}).meta({description:`beneficiary`}),ir$1=z$3.object({city:z$3.string().optional(),country_code:z$3.string(),postcode:z$3.string().optional(),state:z$3.string().optional(),street_address:z$3.string().optional()}),ar$1=z$3.object({account_currency:z$3.string(),account_name:z$3.string(),account_number:z$3.string().optional(),account_routing_type1:z$3.string().optional(),account_routing_value1:z$3.string().optional(),account_routing_type2:z$3.string().optional(),account_routing_value2:z$3.string().optional(),bank_account_category:z$3.string().optional(),bank_branch:z$3.string().optional(),bank_country_code:z$3.string(),bank_name:z$3.string().optional(),bank_street_address:z$3.string().optional(),binding_mobile_number:z$3.string().optional(),fingerprint:z$3.string().optional(),iban:z$3.string().optional(),local_clearing_system:z$3.string().optional(),swift_code:z$3.string().optional(),transaction_reference:z$3.string().optional()}),or$1=z$3.object({id:z$3.string().optional(),transfer_methods:z$3.array(z$3.enum([`SWIFT`,`LOCAL`])),beneficiary:z$3.object({company_name:z$3.string().optional(),date_of_birth:z$3.string().optional(),entity_type:z$3.string(),first_name:z$3.string().optional(),last_name:z$3.string().optional(),address:ir$1,bank_details:ar$1,additional_info:z$3.object({personal_email:z$3.email().optional()}).optional()})}),sr$1=rr$1.omit({id:true,createdAt:true,updatedAt:true,currency:true}).extend({currency:ut.meta({examples:[F$2.Beneficiary.currency],description:`Three-letter ISO 4217 currency code for payouts to this beneficiary account`}),airwallex:or$1.optional().meta({examples:[F$2.AirwallexBeneficiary],description:`Airwallex-specific beneficiary details including bank account information and address (required when gateway is AIRWALLEX)`}),promoterIds:z$3.array(z$3.string()).optional().default([]).meta({examples:[[]],description:`List of promoter IDs to assign this beneficiary to. Empty array or omitted means team-level only.`}),venueIds:z$3.array(z$3.string()).optional().default([]).meta({examples:[[]],description:`List of venue IDs to assign this beneficiary to. Empty array or omitted means team-level only.`})}).meta({description:`Schema for creating a new beneficiary account for receiving payouts`}),cr$1=rr$1.pick({id:true}).meta({description:`Schema for retrieving a single beneficiary by its unique identifier`}),lr$1=cr$1.meta({description:`Schema for deleting a beneficiary account - requires the beneficiary ID`}),ur$1=z$3.object({teamId:z$3.string().optional().meta({examples:[F$2.Team.id],description:`Optional identifier of the team whose beneficiaries to list. When provided, only beneficiaries for that team are returned.`}),gateway:z$3.enum([`AIRWALLEX`,`STRIPE`]).optional().meta({examples:[F$2.Beneficiary.gateway],description:`Filter beneficiaries by payment gateway provider (optional)`}),currency:ut.optional().meta({examples:[F$2.Beneficiary.currency],description:`Filter beneficiaries by currency code (optional)`}),query:z$3.string().optional().meta({examples:[`beneficiary`],description:`Optional search query to filter beneficiaries by name or gateway identifier. When provided, search-backed pagination is used.`}),limit:(()=>z$3.coerce.number().min(1).max(100).prefault(20).meta({examples:[20],description:`Maximum number of beneficiaries to return per request (1-100, default: 20)`}))().optional(),cursor:z$3.string().optional().meta({examples:[`eyJpZCI6ImJlbl8wMWpwczVjZ3NlNW42bWcxeW1rZXc5dHNmaCJ9`],description:`Pagination cursor returned by a previous request. Omit on the first request.`})}).meta({description:`Query parameters for listing beneficiaries with pagination and optional filters`}),dr$1=K$2(rr$1,`beneficiaries`),fr$1=z$3.object({beneficiary:rr$1}),pr=z$3.enum([`AMOUNT`,`PERCENT`]),hr=z$3.enum([`TEAM`,`PROMOTER`,`EVENTS`,`SECTIONS`,`ADMISSIONS`]),_r=z$3.object({id:z$3.string().readonly().meta({examples:[F$2.Coupon.id],description:`A unique identifier for this coupon.`}),couponId:z$3.string().optional().readonly().meta({examples:[F$2.Coupon.couponId],description:`Duplicate of id field for GSI queries.`}),createdAt:z$3.iso.datetime().readonly().meta({examples:[F$2.Coupon.createdAt],description:`Timestamp in ISO 8601 format when this coupon was created.`}),updatedAt:z$3.iso.datetime().readonly().meta({examples:[F$2.Coupon.updatedAt],description:`Timestamp in ISO 8601 format when this coupon was last updated.`}),name:z$3.string().meta({examples:[F$2.Coupon.name],description:`Internal label for the coupon, visible to event organisers.`}),active:z$3.boolean().optional().meta({examples:[F$2.Coupon.active],description:`Whether this coupon is currently active.`}),kind:pr.meta({examples:[`PERCENT`],description:`Type of discount this coupon gives: a fixed amount or a percentage.`}),filter:hr.meta({examples:[`EVENTS`],description:`Scope of the coupon. TEAM applies to all events in the team. PROMOTER applies to all events by specified promoters. EVENTS/SECTIONS/ADMISSIONS apply to specific items.`}),currency:z$3.string().regex(/^[A-Z]{3}$/).optional().meta({examples:[F$2.Coupon.currency],description:`Three-letter ISO 4217 currency code. Required for AMOUNT coupons. Optional for PERCENT coupons - when omitted, applies to all currencies.`}),discount:z$3.number().min(0).meta({examples:[F$2.Coupon.discount],description:`The discount value. If kind is 'amount', this is a currency amount. If kind is 'percent', this is a percentage.`}),limit:z$3.number().meta({examples:[F$2.Coupon.limit],description:`Maximum number of times the coupon can be redeemed across all customers.`}),uses:z$3.number().optional().meta({examples:[F$2.Coupon.uses],description:`Number of times this coupon has been redeemed so far.`}),promoters:z$3.array(z$3.object({id:z$3.string().meta({description:`Identifier of a promoter this coupon applies to.`}),name:z$3.string().meta({description:`Name of a promoter this coupon applies to.`}),slug:z$3.string().meta({description:`URL slug of a promoter this coupon applies to.`})})).optional().meta({description:`List of promoters this coupon applies to when filter is PROMOTER.`}),events:z$3.array(z$3.object({id:z$3.string().meta({description:`Identifier of an event this coupon applies to.`}),name:z$3.string().meta({description:`Name of an event this coupon applies to.`}),slug:z$3.string().meta({description:`URL slug of an event this coupon applies to.`})})).optional().meta({description:`List of events this coupon applies to when filter is EVENTS.`}),sections:z$3.array(z$3.object({id:z$3.string().meta({description:`Identifier of a section this coupon applies to.`}),name:z$3.string().meta({description:`Name of a section this coupon applies to.`}),eventId:z$3.string().meta({description:`Identifier of the event this section belongs to.`})})).optional().meta({description:`List of sections this coupon applies to when filter is 'sections'.`}),admissions:z$3.array(z$3.object({id:z$3.string().meta({description:`Identifier of an admission this coupon applies to.`}),name:z$3.string().meta({description:`Name of an admission this coupon applies to.`}),eventId:z$3.string().meta({description:`Identifier of the event this admission belongs to.`})})).optional().meta({description:`List of admissions this coupon applies to when filter is 'admissions'.`}),saleStartsAt:W$2.meta({examples:[F$2.Coupon.saleStartsAt],description:`Wall clock time when this coupon becomes valid (no timezone, ISO 8601 format: YYYY-MM-DDTHH:mm:ss)`}),saleEndsAt:W$2.optional().meta({examples:[F$2.Coupon.saleEndsAt],description:`Wall clock time when this coupon expires (no timezone, ISO 8601 format: YYYY-MM-DDTHH:mm:ss)`}),teamId:z$3.string().meta({description:`Team that created this coupon.`})}).meta({description:`coupon`}),Y=z$3.object({id:z$3.string().readonly().meta({examples:[F$2.CouponCode.id],description:`A unique identifier for this coupon code.`}),createdAt:z$3.iso.datetime().readonly().meta({examples:[F$2.CouponCode.createdAt],description:`Timestamp in ISO 8601 format when this coupon code was created.`}),updatedAt:z$3.iso.datetime().readonly().meta({examples:[F$2.CouponCode.updatedAt],description:`Timestamp in ISO 8601 format when this coupon code was last updated.`}),name:z$3.string().meta({examples:[F$2.CouponCode.name],description:`The code string that customers enter to redeem the coupon.`}),active:z$3.boolean().meta({examples:[F$2.CouponCode.active],description:`Whether this coupon code is currently enabled for use.`}),couponId:z$3.string().meta({examples:[F$2.Coupon.id],description:`Identifier of the coupon to which this code belongs.`}),teamId:z$3.string().meta({description:`Team that created this coupon code.`}),uses:z$3.number().int().nonnegative().default(0).readonly().meta({examples:[0],description:`Number of times this specific coupon code has been used in successful orders.`})}).meta({description:`coupon-code`}),vr=Y.pick({id:true});z$3.object({couponId:z$3.string().meta({examples:[F$2.Coupon.id]})});z$3.object({name:z$3.string(),couponId:z$3.string().optional().meta({examples:[F$2.Coupon.id]})});const xr=Y.omit({id:true,createdAt:true,updatedAt:true,uses:true}),Sr=Y.omit({createdAt:true,updatedAt:true,couponId:true,teamId:true,uses:true}).partial().extend({id:Y.shape.id}),Cr=vr,wr=z$3.object({couponId:z$3.string().optional().meta({examples:[F$2.Coupon.id],description:`Optional filter to retrieve coupon codes for a specific coupon`}),teamId:z$3.string().optional().meta({examples:[`tem_01jqpjksnsen9vprw95et60t2m`],description:`Optional filter to retrieve coupon codes created by a specific team`}),active:z$3.coerce.boolean().optional().meta({examples:[true],description:`Optional filter to retrieve only active or inactive coupon codes`}),query:z$3.string().optional().meta({examples:[`SUMMER`],description:`Optional search query to filter coupon codes by name. When provided, search-backed pagination is used.`}),limit:(()=>z$3.coerce.number().min(1).max(100).prefault(20).meta({examples:[20],description:`Maximum number of coupon codes to return per request (1-100, defaults to 20)`}))().optional(),cursor:z$3.string().optional().meta({examples:[`eyJpZCI6ImNwY18wMWpwczVjZ3NmenR3N2h4Y3ZyMndmdGsyIn0`],description:`Pagination cursor returned by a previous request. Omit on the first request.`})}).meta({description:`Schema for listing coupon codes with optional filtering, search, and pagination`}),Tr=K$2(Y,`codes`),Er=z$3.object({couponCode:Y}),Dr=_r.omit({id:true,createdAt:true,updatedAt:true}).meta({description:`Schema for creating a new coupon without system-generated fields`}),Or=_r.pick({id:true}).meta({description:`Schema for retrieving a single coupon by ID`}),kr=Or.meta({description:`Schema for deleting a coupon by ID with optional soft-delete filtering`}),Ar=z$3.object({teamId:z$3.string().meta({examples:[F$2.Team.id],description:`Unique identifier of the team whose coupons to retrieve`}),active:z$3.coerce.boolean().optional().meta({examples:[true],description:`Optional filter to retrieve only active or inactive coupons`}),query:z$3.string().optional().meta({examples:[`Half Price`],description:`Optional search query to filter coupons by name or description. When provided, search-backed pagination is used.`}),limit:(()=>z$3.coerce.number().min(1).max(100).prefault(20).meta({examples:[20],description:`Maximum number of coupons to return per request (1-100, defaults to 20)`}))().optional(),cursor:z$3.string().optional().meta({examples:[`eyJpZCI6ImNwbl8wMWpwczVjZ3NmenMxa3NxYWV0NWhiYThhYyJ9`],description:`Pagination cursor returned by a previous request. Omit on the first request.`})}).meta({description:`Schema for listing coupons belonging to a specific team with optional filtering and pagination`}),jr=K$2(_r,`coupons`),Mr=z$3.object({coupon:_r}),Nr=_r.omit({createdAt:true,updatedAt:true,teamId:true}).partial().extend({id:_r.shape.id.meta({examples:[F$2.Coupon.id],description:`Unique identifier of the coupon to update`}),saleEndsAt:W$2.nullable().optional().meta({examples:[F$2.Coupon.saleEndsAt],description:`Expiry time. Pass null to remove end date; omit to leave unchanged.`}),currency:z$3.string().regex(/^[A-Z]{3}$/).nullable().optional().meta({examples:[`AUD`,`USD`,`GBP`],description:`Three-letter ISO 4217 currency code. Pass null to clear; omit to leave unchanged.`})}).meta({description:`Schema for updating an existing coupon.`}),Pr=z$3.object({id:B$2.readonly().meta({examples:[F$2.Location.id],description:`Location identifier`}),googlePlaceId:z$3.string().optional().meta({examples:[`ChIJP3Sa8ziYEmsRUKgyFmh9AQM`],description:`Google Place ID for this location`}),createdAt:z$3.iso.datetime().meta({examples:[F$2.Location.createdAt],description:`Timestamp in ISO 8601 format when the location was created`}),updatedAt:z$3.iso.datetime().meta({examples:[F$2.Location.updatedAt],description:`Timestamp in ISO 8601 format when the location was last updated`}),name:z$3.string().meta({examples:[F$2.Location.name],description:`Location name`}),address:z$3.string().meta({examples:[F$2.Location.address],description:`Formatted address`}),city:z$3.string().optional().meta({examples:[F$2.Location.city],description:`City name`}),state:z$3.string().optional().meta({examples:[F$2.Location.state],description:`State or region`}),postcode:z$3.string().optional().meta({examples:[F$2.Location.postcode],description:`Postal code`}),country:z$3.string().meta({examples:[F$2.Location.country],description:`Country name`}),latitude:z$3.number().min(-90).max(90).meta({examples:[F$2.Location.latitude],description:`Latitude coordinate`}),longitude:z$3.number().min(-180).max(180).meta({examples:[F$2.Location.longitude],description:`Longitude coordinate`}),timeZone:z$3.string().min(1).regex(/^[A-Za-z0-9_+-]+(\/[A-Za-z0-9_+-]+)*$/,{message:`Must be a valid IANA timezone identifier format`}).meta({examples:[F$2.Location.timeZone],description:`IANA timezone identifier (e.g., 'America/New_York', 'Europe/London', 'Australia/Sydney', 'UTC'). Must be validated against the IANA timezone database where used.`}),types:z$3.array(z$3.string()).optional().meta({examples:[[`establishment`,`point_of_interest`,`stadium`]],description:`Google Place types indicating the category and nature of this location`}),description:z$3.string().optional().meta({examples:[`Historic outdoor amphitheater known for summer concerts`],description:`AI-generated description of the place, when available`}),image:U$2.optional().meta({description:`Primary location photo`}),venueId:dt.optional().meta({description:`Venue identifier if this location is a managed venue on the platform`})}).meta({description:`Location with full details including coordinates and timezone`}),X=z$3.object({id:z$3.string().readonly().meta({examples:[F$2.Section.id],description:`Unique identifier for the section`}),createdAt:z$3.iso.datetime().readonly().meta({examples:[F$2.Section.createdAt],description:`Timestamp when the section was created in ISO 8601 format`}),updatedAt:z$3.iso.datetime().readonly().meta({examples:[F$2.Section.updatedAt],description:`Timestamp when the section was last updated in ISO 8601 format`}),name:z$3.string().meta({examples:[F$2.Section.name],description:`Display name of the section (e.g., 'VIP Area', 'General Admission')`}),capacity:z$3.number().min(-1).prefault(-1).meta({examples:[F$2.Section.capacity],description:`Maximum number of attendees for this section. Use -1 for unlimited capacity`}),limit:z$3.number().min(-1).prefault(-1).refine(e=>e!==0,{message:`Limit cannot be 0. Use -1 for unlimited or a positive number for a specific limit`}).meta({examples:[F$2.Section.limit??-1],description:`Maximum number of tickets for this section that can be purchased in a single order. A value of -1 indicates unlimited`}),available:z$3.number().min(-1).readonly().meta({examples:[F$2.Section.available],description:`Number of tickets currently available for purchase in this section. Use -1 when capacity is unlimited`}),sold:z$3.number().min(0).readonly().meta({examples:[F$2.Section.sold],description:`Number of tickets sold for this section`}),reserved:z$3.number().readonly().meta({examples:[F$2.Section.reserved],description:`Number of tickets currently reserved (in pending orders) for this section`}),order:z$3.number().min(0).meta({examples:[F$2.Section.order],description:`Display order of the section. Lower numbers appear first in listings`}),location:Pr.meta({description:`Physical location details for the section`}),teamId:z$3.string().meta({description:`Team that owns this section. Denormalized for efficient queries.`}),promoterId:z$3.string().meta({examples:[F$2.Section.promoterId],description:`Unique identifier of the promoter who owns this section`}),eventId:z$3.string().meta({examples:[F$2.Section.eventId],description:`Unique identifier of the event this section belongs to`}),eventSlug:z$3.string().meta({examples:[F$2.Section.eventSlug],description:`URL-friendly identifier of the event this section belongs to`})}).meta({description:`A section represents a distinct area or tier within an event venue with its own capacity and pricing`}),Fr=Pr.omit({venueId:true}).extend({venue:z$3.object({id:dt.meta({description:`Venue identifier`}),name:z$3.string().meta({description:`Venue name`}),slug:z$3.string().meta({description:`URL-friendly venue slug`}),teamId:z$3.string().meta({description:`Team that owns this venue`}),approval:I$2.meta({description:`Venue approval status`}),image:U$2.optional().meta({description:`Venue image`}),description:z$3.string().optional().meta({description:`Venue description`})}).optional().meta({description:`Denormalized venue details if this location is a managed venue. Only included when venue is approved.`})}),Ir=z$3.enum([`UPCOMING`,`ENDED`]),Rr=z$3.enum([`PUBLIC`,`PRIVATE`,`SCHEDULED`,`PASSWORD`,`CANCELLED`]),Br=z$3.object({id:z$2.readonly().meta({examples:[F$2.Event.id],description:`A unique identifier for this event`}),createdAt:z$3.iso.datetime().readonly().meta({examples:[F$2.Event.createdAt],description:`Timestamp in ISO 8601 format when this event was created`}),updatedAt:z$3.iso.datetime().readonly().meta({examples:[F$2.Event.updatedAt],description:`Timestamp in ISO 8601 format when this event was last updated`}),name:z$3.string().meta({examples:[F$2.Event.name],description:`The title of the event shown to attendees`}),slug:z$3.string().meta({examples:[F$2.Event.slug],description:`URL-friendly identifier for the event`}),description:z$3.string().meta({examples:[F$2.Event.description],description:`Detailed description of the event`}),approval:I$2.meta({examples:[`APPROVED`],description:`Approval status of the event`}),status:Ir.meta({examples:[`UPCOMING`,`ENDED`],description:`Current stage of the event lifecycle`}),visibility:Rr.meta({examples:[`PUBLIC`],description:`Who can see the event`}),currency:z$3.string().regex(/^[A-Z]{3}$/).meta({examples:[`AUD`],description:`Three-letter ISO 4217 currency code used for ticket prices`}),url:z$3.url().optional().meta({examples:[`https://example.com`],description:`External URL for the event website or ticket page`}),entryStartsAt:W$2.meta({examples:[F$2.Event.entryStartsAt],description:`Wall clock time when event entry begins (no timezone, displays same everywhere)`}),entryEndsAt:W$2.meta({examples:[F$2.Event.entryEndsAt],description:`Wall clock time when event entry ends (no timezone, displays same everywhere)`}),publishAt:W$2.meta({examples:[F$2.Event.publishAt],description:`Wall clock time when the event becomes publicly visible (no timezone)`}),images:z$3.object({mobile:U$2.meta({description:`Mobile-optimized image for the event`}),desktop:U$2.meta({description:`Desktop-optimized image for the event`})}),geohash:z$3.string().meta({examples:[F$2.Event.geohash],description:`Geohash representing the event location`}),location:Fr.meta({description:`Structured location details for the event`}),teamId:R$2.meta({description:`Team that owns this event. Denormalized for efficient queries.`}),promoterId:H$2.meta({examples:[F$2.Promoter.id],description:`Promoter organizing the event. Must belong to the team.`}),metadata:Dt}).meta({description:`event`}),Vr=Br.extend({sections:z$3.array(X),admissions:z$3.array(G$2)}),Hr=z$3.object({event:Vr}),Ur=Br.omit({id:true,teamId:true,createdAt:true,updatedAt:true,status:true,approval:true,geohash:true,location:true}).extend({slug:z$3.string().min(3).max(100).optional().meta({examples:[F$2.Event.slug],description:`URL-friendly slug for the event. If not provided, will be automatically generated from the name. Must be unique and between 3 and 100 characters`}),password:z$3.string().optional().meta({description:`Password for protected access to the event`}),locationId:B$2.optional().meta({examples:[`loc_01jqpjksnsen9vprw95et60t2m`],description:`ID of an existing location. Either locationId or googlePlaceId must be provided.`}),googlePlaceId:z$3.string().optional().meta({examples:[`ChIJN1t_tDeuEmsRUsoyG83frY4`],description:`Google Place ID to create a new location from. Either locationId or googlePlaceId must be provided.`})}).refine(e=>e.locationId||e.googlePlaceId,{message:`Either locationId or googlePlaceId must be provided`}),Wr=z$3.object({key:z$3.string().min(1).meta({description:`Event key - either a unique ID (evt_xxx format) or URL-friendly slug`,examples:[F$2.Event.id,F$2.Event.slug]})}),Gr=z$3.object({key:z$3.string().min(1).meta({description:`Event key - either a unique ID (evt_xxx format) or URL-friendly slug`,examples:[F$2.Event.id,F$2.Event.slug]}),password:z$3.string().optional().meta({description:`Password for accessing password-protected events`})}),Kr=z$3.object({sold:z$3.number().min(0).meta({description:`Number of tickets sold`}),reserved:z$3.number().min(0).meta({description:`Number of tickets reserved`}),available:z$3.number().min(-1).meta({description:`Number of tickets available (-1 for unlimited)`}),capacity:z$3.number().min(-1).meta({description:`Total capacity (-1 for unlimited)`})}),qr=z$3.object({status:z$3.enum([`UPCOMING`,`ENDED`]).optional().meta({examples:[`UPCOMING`],description:`Filter events by their current lifecycle status`}),approval:I$2.optional().meta({examples:[`APPROVED`],description:`Filter events by their approval status`}),visibility:z$3.enum([`PUBLIC`,`PRIVATE`,`SCHEDULED`,`PASSWORD`]).optional().meta({examples:[`PUBLIC`],description:`Filter events by their visibility setting`}),promoterId:z$3.string().optional().meta({examples:[F$2.Promoter.id],description:`Filter events to only those belonging to a specific promoter. If not provided, returns events from all promoters the user has access to`}),teamId:z$3.string().optional().meta({description:`Filter events to only those belonging to a specific team. If not provided, returns events from all teams the user has access to`}),venueId:z$3.string().optional().meta({description:`Filter events to only those at a specific venue. If not provided, returns events at all venues`}),limit:z$3.coerce.number().min(1).max(100).prefault(20).meta({examples:[20],description:`Maximum number of events to return in each result set. Must be between 1 and 100, defaults to 20`}),cursor:z$3.string().optional().meta({examples:[`evt_01jps5cgsenjrazw6wswmyspa3`],description:`Cursor token for pagination. Provide the cursor from the previous response to continue fetching results`}),query:z$3.coerce.string().optional().meta({examples:[`Test Event`],description:`Search term to filter events by name, description, or location. Triggers full‑text search when provided`}),latitude:z$3.coerce.number().min(-90).max(90).optional().meta({examples:[F$2.Event.location.latitude],description:`Latitude coordinate for geographic search. Provide with longitude (and optional radius)`}),longitude:z$3.coerce.number().min(-180).max(180).optional().meta({examples:[F$2.Event.location.longitude],description:`Longitude coordinate for geographic search. Provide with latitude (and optional radius)`}),radius:z$3.coerce.number().optional().meta({examples:[20],description:`Search radius in kilometers from the provided coordinates. Defaults to 20km`}),from:z$3.string().date().optional().meta({examples:[`2024-01-01`],description:`Filter events that start on or after this date (YYYY-MM-DD format). Events with entryStartsAt >= from`}),to:z$3.string().date().optional().meta({examples:[`2024-12-31`],description:`Filter events that start on or before this date (YYYY-MM-DD format). Events with entryStartsAt <= to`})}).meta({description:`List events with filtering, full‑text search, geo queries, date range filtering, and cursor-based pagination`}),Jr=qr,Yr=K$2(Br.extend({inventory:Kr.optional()}),`events`),Xr=z$3.object({event:Br}),Zr=Br.omit({createdAt:true,updatedAt:true,promoterId:true,geohash:true,status:true,location:true}).partial().extend({key:z$3.string().meta({examples:[F$2.Event.id,F$2.Event.slug],description:`Event key - either a unique ID (evt_xxx format) or URL-friendly slug`}),password:z$3.string().nullable().optional().meta({description:`Password for protected access. Pass null to clear; omit to leave unchanged.`}),url:z$3.url().nullable().optional().meta({examples:[`https://example.com/events/summer-festival-2025`],description:`External event URL. Pass null to clear; omit to leave unchanged.`}),locationId:B$2.optional().meta({examples:[`loc_01jqpjksnsen9vprw95et60t2m`],description:`ID of an existing location to update to. Either locationId or googlePlaceId can be provided.`}),googlePlaceId:z$3.string().optional().meta({examples:[`ChIJN1t_tDeuEmsRUsoyG83frY4`],description:`Google Place ID to update location from. Either locationId or googlePlaceId can be provided.`})}).meta({description:`Schema for updating an existing event.`}),Qr=z$3.object({id:Ct.readonly().meta({description:`Unique identifier for the event collaborator`}),createdAt:z$3.iso.datetime().readonly().meta({description:`Timestamp in ISO 8601 format when the collaborator was added`}),updatedAt:z$3.iso.datetime().readonly().meta({description:`Timestamp in ISO 8601 format when the collaborator was last updated`}),eventId:z$2.meta({description:`Event this collaboration applies to`}),promoterId:H$2.meta({description:`Promoter collaborating on the event`}),acceptedBy:V$2.meta({description:`User ID who accepted the invitation to collaborate`}),promoter:z$3.object({id:H$2.meta({description:`Unique identifier of the promoter`}),name:z$3.string().meta({description:`Name of the promoter`}),teamId:R$2.meta({description:`Team ID of the promoter`})}).optional().meta({description:`Populated promoter details. Only included when explicitly requested.`}),permissions:At.meta({description:`Permissions granted to this collaborator. User must have permission in BOTH this grant AND their team membership (intersection).`,examples:[[`EVENT`,`ORDER`],[`FULL`],[`SCANNING`]]}),tenantId:z$3.string().readonly().meta({description:`Tenant ID for multi-tenant isolation`})}).meta({description:`Active event collaborator. Created when a promoter accepts an invitation or is directly added to an event. Hard deleted when removed.`}),$r=Qr.pick({id:true,eventId:true}).meta({description:`Schema for accepting an event promoter collaboration invitation. User accepting must be a member of the invited promoter's team.`}),ei=z$3.object({id:Ct.readonly().meta({description:`Unique identifier for the event collaboration invitation`}),createdAt:z$3.iso.datetime().readonly().meta({description:`Timestamp in ISO 8601 format when the invitation was created`}),updatedAt:z$3.iso.datetime().readonly().meta({description:`Timestamp in ISO 8601 format when the invitation was last updated`}),eventId:z$2.meta({description:`Event this invitation applies to`}),promoterId:H$2.meta({description:`Promoter being invited to collaborate on the event.`}),invitedByPromoterId:H$2.meta({description:`Promoter who sent this invitation (event owner or collaborator with permission).`}),permissions:At.meta({description:`Permissions the promoter will receive upon accepting the invitation.`,examples:[[`EVENT`,`ORDER`],[`FULL`],[`SCANNING`]]}),token:z$3.string().readonly().meta({description:`Secure token for invite acceptance. Required to accept the invitation.`}),invitedBy:V$2.meta({description:`User ID who sent the invitation`}),expiresAt:z$3.number().int().positive().meta({description:`Unix timestamp (seconds) for DynamoDB TTL. Invitation will be automatically deleted after 7 days.`}),tenantId:z$3.string().readonly().meta({description:`Tenant ID for multi-tenant isolation`})}).meta({description:`Pending event collaborator invitation. Automatically deleted after 7 days via DynamoDB TTL. When accepted, creates an EventCollaborator record and deletes the invitation.`}),ti=ei.omit({id:true,tenantId:true,createdAt:true,updatedAt:true,token:true,expiresAt:true,invitedByPromoterId:true}).meta({description:`Schema for inviting a promoter to collaborate on an event. Creates a pending invitation that the promoter can accept.`}),ni=z$3.object({eventId:z$2.meta({description:`Event ID that the collaboration belongs to`}),id:Ct.meta({description:`Event team access grant ID to retrieve`})}),ri=z$3.object({eventId:z$3.string().meta({description:`Event ID to list collaborators for`}),accessPromoterId:z$3.string().optional().meta({description:`DEPRECATED: Use 'promoterId' instead. Filter by collaborating promoter ID (what events can this promoter access). Maintained for backward compatibility.`}),ownerPromoterId:z$3.string().optional().meta({description:`DEPRECATED: No longer used. Maintained for backward compatibility only.`}),limit:(()=>z$3.coerce.number().min(1).max(100).prefault(20).meta({description:`Maximum number of event promoter access grants to return (1-100, defaults to 20)`}))(),cursor:z$3.string().optional().meta({description:`Pagination cursor from previous response. Used to fetch next page of results`})}).meta({description:`Query parameters for listing active event collaborations with pagination and filtering. Only returns accepted collaborations (not pending invitations). Use invite endpoints for pending invitations.`}),ii=K$2(Qr,`grants`),ai=z$3.object({description:z$3.string(),terms:z$3.array(z$3.object({value:z$3.string(),offset:z$3.number()})),matchedSubstrings:z$3.array(z$3.object({offset:z$3.number(),length:z$3.number()})),structuredFormatting:z$3.object({mainText:z$3.string(),mainTextMatchedSubstrings:z$3.array(z$3.object({offset:z$3.number(),length:z$3.number()})).optional(),secondaryText:z$3.string().optional(),secondaryTextMatchedSubstrings:z$3.array(z$3.object({offset:z$3.number(),length:z$3.number()})).optional()}).optional(),placeId:z$3.string().optional(),types:z$3.array(z$3.string()).optional()}),oi=z$3.object({predictions:z$3.array(ai)}),si=z$3.any(),ci=z$3.object({query:z$3.string().meta({description:`Search text to autocomplete`}),country:z$3.string().optional().meta({description:`Optional country code for restricting results`})}),li=z$3.object({placeId:z$3.string().meta({examples:[`ChIJP3Sa8ziYEmsRUKgyFmh9AQM`],description:`Unique identifier for a place from Google Places API. Used to retrieve detailed information including timezone data. This ID is obtained from the autocomplete endpoint and is required to fetch comprehensive place details.`})}),ui=z$3.object({file:z$3.any().describe(`Image file to upload (max 10MB)`),folder:z$3.enum([`avatars`,`events`,`teams`,`promoters`,`venues`]).describe(`Folder to upload to`),width:z$3.coerce.number().int().positive().optional().describe(`Target width in pixels`),height:z$3.coerce.number().int().positive().optional().describe(`Target height in pixels`)}),di=U$2,fi=z$3.object({key:z$3.string().min(1).meta({description:`Location key - either a location ID (loc_xxx format) or provider-specific identifier (e.g., Google Place ID)`,examples:[F$2.Location.id,`ChIJP3Sa8ziYEmsRUKgyFmh9AQM`]})}),pi=z$3.object({query:z$3.string().min(1).meta({examples:[`sydney opera`],description:`Search query for location search`}),latitude:z$3.coerce.number().min(-90).max(90).optional().meta({examples:[F$2.Location.latitude],description:`User's latitude for proximity-based results (optional for better relevance)`}),longitude:z$3.coerce.number().min(-180).max(180).optional().meta({examples:[F$2.Location.longitude],description:`User's longitude for proximity-based results (optional for better relevance)`})}).meta({description:`Parameters for searching locations`}),mi=z$3.object({googlePlaceId:z$3.string().meta({examples:[`ChIJP3Sa8ziYEmsRUKgyFmh9AQM`],description:`Google Place ID for this location`}),name:z$3.string().meta({examples:[F$2.Location.name],description:`Primary name of the location`}),description:z$3.string().meta({examples:[F$2.Location.address],description:`Full formatted address`}),venue:z$3.object({id:dt.meta({examples:[F$2.Venue.id],description:`Venue ID if this location is a managed venue`}),name:z$3.string().meta({examples:[F$2.Venue.name],description:`Venue name`}),teamId:z$3.string().meta({description:`Team that manages this venue`}),image:U$2.optional().meta({description:`Primary venue image`})}).optional().meta({description:`Present if this location is a managed venue on the platform`})}).meta({description:`Single location search result with optional venue overlay`}),hi=z$3.object({predictions:z$3.array(mi).meta({description:`Array of location predictions`})}).meta({description:`Response containing location search results`}),gi=z$3.object({id:z$3.string().meta({examples:[F$2.CouponCode.id],description:`Unique identifier of the coupon code used in the order`}),name:z$3.string().meta({examples:[F$2.CouponCode.name],description:`The coupon code string that was entered by the customer`}),couponId:z$3.string().meta({examples:[F$2.CouponCode.couponId],description:`Unique identifier of the parent coupon configuration`})}),_i=z$3.object({id:z$3.string().meta({examples:[F$2.Customer.id],description:`Unique identifier of the customer who placed the order`}),firstName:z$3.string().meta({examples:[F$2.Customer.firstName],description:`First name of the customer`}),lastName:z$3.string().meta({examples:[F$2.Customer.lastName],description:`Last name of the customer`}),email:z$3.email().meta({examples:[F$2.Customer.email],description:`Email address of the customer`}),phone:z$3.string().meta({examples:[F$2.Customer.phone],description:`Phone number of the customer`}).optional()}),vi=z$3.object({id:z$3.string().meta({examples:[F$2.Event.id],description:`Unique identifier of the event associated with the order`}),name:z$3.string().meta({examples:[F$2.Event.name],description:`Display name of the event`}),slug:z$3.string().meta({examples:[F$2.Event.slug],description:`URL-friendly slug of the event`}),location:z$3.string().meta({examples:[F$2.Event.location.name],description:`Name of the venue or location where the event takes place`}).optional()}),yi=z$3.object({id:z$3.string().meta({examples:[F$2.OrderFee.id],description:`Unique identifier for this order fee`}),createdAt:z$3.iso.datetime().readonly().meta({examples:[F$2.OrderFee.createdAt],description:`Timestamp in ISO 8601 format when this fee was created`}),reason:z$3.string().meta({examples:[F$2.OrderFee.reason],description:`Description explaining why this fee was applied to the order`}),amount:z$3.number().finite(`Amount must be a valid number`).meta({examples:[F$2.OrderFee.amount],description:`Fee amount in cents (positive value indicates charge to customer, negative value indicates credit or discount)`}),currency:z$3.string().regex(/^[A-Z]{3}$/,`Currency must be a valid 3-letter ISO-4217 code`).meta({examples:[F$2.OrderFee.currency],description:`Currency code in ISO 4217 format`}),requestId:z$3.string().meta({examples:[F$2.OrderFee.requestId],description:`External payment processor request identifier for tracking this fee`})});let bi;(function(e){let{Tenant:t,Team:n,TeamMember:r,TeamInvite:i,Venue:a,User:o,Session:s,EmailVerification:c,PasswordReset:l,Promoter:u,PromoterMember:d,CurrentSession:f,Event:p,DetailedEvent:m,Location:h,Section:ee,Admission:g,Beneficiary:_,AirwallexBeneficiary:te,Coupon:ne,CouponCode:re,AmountCoupon:ie,AmountCouponCode:ae,Customer:v,Payout:y,Order:oe,OrderItem:se,OrderFee:ce,Ticket:le}=F$2;e.Tenant=t,e.Team=n,e.TeamMember=r,e.TeamInvite=i,e.Venue=a,e.User=o,e.Session=s,e.EmailVerification=c,e.PasswordReset=l,e.Promoter=u,e.PromoterMember=d,e.CurrentSession=f,e.Event=p,e.DetailedEvent=m,e.Location=h,e.Section=ee,e.Admission=g,e.Beneficiary=_,e.AirwallexBeneficiary=te,e.Coupon=ne,e.CouponCode=re,e.AmountCoupon=ie,e.AmountCouponCode=ae,e.Customer=v,e.Payout=y,e.Order=oe,e.OrderItem=se,e.OrderFee=ce,e.Ticket=le,e.JayUser={...o,id:`usr_01k5hbpkfje048zccqmqfhjpep`,email:`j@1f.io`,firstName:`Jay`,lastName:`McMullen`};let ue=e.TestUser={id:`usr_01k5wcss3gf24advd4av43s96m`,email:`test@e2e.session.services`,firstName:`Test`,lastName:`User`,createdAt:`2025-09-23T22:58:37.808Z`,updatedAt:`2025-09-23T22:58:37.808Z`,tenantId:`tnt_01jqpj2t2kfvmstt6f6tzkbaf2`};e.TestPromoterMember={id:`mbr_01k6s0t3f3f6cak0066dy5n1dm`,createdAt:`2025-10-05T01:47:04.035Z`,updatedAt:`2025-10-05T01:47:04.035Z`,teamId:n.id,userId:ue.id,user:ue,permissions:[`FULL`],isOwner:false,tenantId:t.id},e.SystemUser={...o,id:`usr_01jps5cgsgn1ee4txxn0fz81f2`,email:`system@session.services`,firstName:`Session`,lastName:`Services`},e.DeletedAdmission={...g,id:`adm_01jps5cgsg63gr2s1g2d87cqfy`,deletedAt:new Date().toISOString(),deleted:true},e.SoloAdmission={...g,id:`adm_01jpsf2h7r4z8kmd9x1q3w4vty`,name:`Solo Admission`,sectionId:void 0},e.DeletedCoupon={...ne,id:`cpn_01jps5cgsgzxf6xvmx3dnt9h1p`,couponId:`cpn_01jps5cgsgzxf6xvmx3dnt9h1p`,deletedAt:new Date().toISOString(),deleted:true},e.DeletedCouponCode={...re,id:`cod_01jps5cgsg7ep2gvwzghp1ppv6`,deletedAt:new Date().toISOString(),deleted:true},e.DeletedSection={...ee,id:`sct_01jps5cgsgy7681swwcvf01wxh`,deletedAt:new Date().toISOString(),deleted:true},e.DeletedEvent={...p,id:`evt_01jps5cgsg8pyd64pc89tcbg9j`,slug:`deleted-event`,name:`Deleted Event`,deletedAt:new Date().toISOString(),deleted:true},e.PastEvent={...p,id:`evt_01jqqt1ztw4676fdrr27z7de1c`,status:`ENDED`,createdAt:new Date(2020,1,1).toISOString(),updatedAt:new Date(2020,1,1).toISOString(),publishAt:P$2(new Date(2020,1,1)),entryStartsAt:P$2(new Date(2020,1,1)),entryEndsAt:P$2(new Date(2020,1,2)),slug:`past-event`,name:`Past Event`},e.CancelledEvent={...p,id:`evt_01jt0tfntmfk1sgn72q8c02v7a`,status:`CANCELLED`,createdAt:new Date(2020,1,1).toISOString(),updatedAt:new Date(2020,1,1).toISOString(),publishAt:P$2(new Date(2020,1,1)),entryStartsAt:P$2(new Date(2020,1,1)),entryEndsAt:P$2(new Date(2020,1,2)),slug:`cancelled-event`,name:`Cancelled Event`},e.DeletedPromoter={...u,id:`pmt_01jps5cgsg4xem309j6sxj01aw`,slug:`deleted-promoter`,name:`Deleted Promoter`,deletedAt:new Date().toISOString(),deleted:true},e.DeletedPromoterMember={...d,userId:bi.User.id,user:bi.User,id:`mbr_01jpwzceh3zvab64kwq633q4cc`},e.ExpiredOrder={...oe,id:`ord_01jq0xwysx1hzs3wqt2fns4578`,token:`c76e3a5d7105345b58e383e6d90fe7728b75f938b727f0b9ecc5b977e8c3b5d0`,status:`PENDING`,createdAt:new Date(2020,1,1).toISOString(),updatedAt:new Date(2020,1,1).toISOString()},e.AbandonedOrder={...oe,id:`ord_01jq0xdzwsfjpd329r8gv3txr2`,token:`c76e3a5d7105345b58e383e6d90fe7728b75f938b727f0b9ecc5b977e8c3b5d0`,status:`ABANDONED`,createdAt:new Date(2020,1,1).toISOString(),updatedAt:new Date(2020,1,1).toISOString()},e.ProcessingOrder={...oe,id:`ord_01jq289n4kcz2tnre24x3v2get`,token:`c76e3a5d7105345b58e383e6d90fe7728b75f938b727f0b9ecc5b977e8c3b5d0`,status:`PROCESSING`,customer:F$2.Customer,customerId:F$2.Customer.id},e.FreeAdmission={...g,id:`adm_01jpykjbrdgy8jxmz57hmampww`,price:{base:0,booking:0,currency:`AUD`}},e.SoldOutAdmission={...g,id:`adm_01jps5cgse6m3567vzvk69hkrm`,name:`First Release`,capacity:100,available:0,sold:100,reserved:0},e.UnlimitedAdmission={...g,id:`adm_01jsr09narf6d83vyk3hs8q9cf`,name:`First Release`,capacity:-1,available:-1,sold:100,reserved:0},e.UnlimitedSection={id:`sct_01jsr09narf6d83vytx3cng55e`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),teamId:n.id,promoterId:u.id,eventId:p.id,eventSlug:p.slug,name:`Sold Out Section`,capacity:-1,limit:-1,available:-1,sold:200,reserved:0,order:0,location:h,tenantId:t.id};let de=e.SoldOutSection={id:`sct_01jq1rcqbkzqbbakgwy8ptpmvq`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),teamId:n.id,promoterId:u.id,eventId:p.id,eventSlug:p.slug,name:`Sold Out Section`,capacity:200,limit:-1,sold:200,available:0,reserved:0,order:0,location:h,tenantId:t.id};e.SoldOutSectionAdmission={...g,sectionId:de.id,id:`adm_01jq1rcjah79628zsafg3k8wyz`,name:`First Release`,capacity:100,available:100,sold:0,reserved:0,order:0};let fe=e.MaxReservedSection={id:`sct_01jq1rcqbkzrkea9ng8e4kngvq`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),teamId:n.id,promoterId:u.id,eventId:p.id,eventSlug:p.slug,name:`Max Reserved Section`,capacity:200,limit:-1,sold:0,available:0,reserved:200,location:h,tenantId:t.id,order:0};e.MaxReservedAdmission={...g,id:`adm_01jq1rcqbk5s86df68xvz66fh4`,name:`First Release`,capacity:100,available:0,sold:0,reserved:100},e.MaxReservedSectionAdmission={...g,sectionId:fe.id,id:`adm_01jq1rcqbkhkxq67e9rs8rpngt`,name:`First Release`,capacity:100,available:100,sold:0,reserved:0},e.SessionsBeneficiary={..._,id:`ben_01jps5cgse5n6mg1ymkew9tsss`,promoterId:`pmt_01jqpjksnsen9vprw95et60t2m`},e.AnotherBeneficiary={..._,id:`ben_01jpsbxdthxadywamz2yj4zt75`,currency:`USD`,name:`Another Bank Account`},e.AnotherSection={...ee,id:`sct_01jps5cgsg3spk97pwwp4352z9`},e.AnotherEvent={...p,id:`evt_01jps5cgsgkegpptzf3dsmkbpy`,slug:`another-event`,name:`Another Event`,visibility:`PUBLIC`},e.AnotherCouponCode={...re,name:`ANOTHER`,id:`cod_01jps5cgsghcvnjsf5nax5d7z7`},e.PrivateEvent={...p,id:`evt_01jps5cgsgavb91qw967y3d64f`,slug:`private-event`,name:`Private Event`,visibility:`PRIVATE`},e.PendingEvent={...p,id:`evt_01jps5cgsh7mpevnq8pngdqs8q`,slug:`pending-event`,name:`Pending Event`,approval:`PENDING`};let b=e.WrongUser={id:`usr_01jps5cgshwa2sts0fj53pksk0`,email:`wrong@session.services`,firstName:`Wrong`,lastName:`User`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),tenantId:t.id},x=e.WrongTeam={id:`tem_01jps5cgshfgkvmjhfkev542en`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Wrong Team`,slug:`wrong-team`,description:`This is the wrong team...`,type:`PROMOTER`,tenantId:`tnt_01jqpj2t2kfvmstt6f6tzkbaf2`},S=e.WrongPromoter={id:`pmt_01jps5cgshfgkvmjhfkev542en`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Wrong Promoter`,slug:`wrong-promoter`,description:`This is the wrong promoter...`,payoutFrequency:`AFTER_EVENT`,image:{src:`https://assets.session.services/icon-bg.png`,alt:`Session Services Logo`,width:800,height:800},approval:`APPROVED`,type:`PROMOTER`,teamId:x.id,geohash:`r3gx1`,location:{id:`loc_01jps5cgshfgkvmjhfkev542ep`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Sydney`,address:`Sydney NSW 2000, Australia`,city:`Sydney`,state:`New South Wales`,postcode:`2000`,country:`Australia`,latitude:-33.8688,longitude:151.2093,timeZone:`Australia/Sydney`},tracking:{fbId:`485739562847563`,gtmId:`GTM-K8WPM5N`,tikTokId:`BQCKPH3RC77U8GPMLJ5G`},tenantId:`tnt_01jqpj2t2kfvmstt6f6tzkbaf2`};e.WrongPromoterMember={id:`mbr_01jps5cgsec5ge0b1bxa6gzkkk`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),promoterId:S.id,userId:b.id,user:{id:b.id,email:b.email,firstName:b.firstName,lastName:b.lastName},permissions:[`FULL`],tenantId:t.id};let C=e.WrongEvent={id:`evt_01jps5cgshm2v14zzykna678fd`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Wrong Event`,slug:`wrong-event`,description:`This is the wrong event...`,approval:`APPROVED`,status:`UPCOMING`,visibility:`PUBLIC`,currency:`AUD`,entryStartsAt:P$2(M$1(new Date,1)),entryEndsAt:P$2(M$1(new Date,2)),publishAt:P$2(new Date),images:{mobile:{src:`https://assets.session.services/event-mobile.jpg`,alt:`Mobile Event Image`,width:1080,height:1350},desktop:{src:`https://assets.session.services/event-desktop.jpg`,alt:`Desktop Event Image`,width:1920,height:1080}},geohash:`r3gx1`,location:{id:`loc_01jps5cgshm2v14zzykna678fe`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Watson's EQ`,address:`The, Entertainment Quarter, 1 Bent St, Moore Park NSW 2021, Australia`,city:`Moore Park`,state:`New South Wales`,postcode:`2021`,country:`Australia`,latitude:-33.8944593,longitude:151.2252255,timeZone:`Australia/Sydney`,image:{src:`https://assets.session.services/locations/watsons-eq.jpg`,alt:`Watson's EQ`,width:1200,height:800}},teamId:x.id,promoterId:S.id,tenantId:t.id},pe=e.WrongSection={id:`sct_01jps5cgsh6asm2d0ghfqq6br2`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),teamId:x.id,promoterId:S.id,eventId:C.id,eventSlug:C.slug,name:`Wrong Admission`,capacity:200,limit:-1,available:200,reserved:0,order:0,sold:0,location:h,tenantId:t.id},w=e.WrongAdmission={id:`adm_01jps5cgshfggkvmjhfkevy5en`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),sectionId:pe.id,teamId:x.id,promoterId:S.id,eventId:C.id,eventSlug:C.slug,name:`Wrong Release`,capacity:100,limit:-1,available:100,entryStartsAt:P$2(M$1(new Date,1)),entryEndsAt:P$2(M$1(new Date,2)),saleStartsAt:P$2(new Date),saleEndsAt:P$2(M$1(new Date,2)),price:{base:1e3,booking:200,currency:`AUD`},tenantId:t.id};e.ExpiredAdmission={...g,id:`adm_01jq6cazzbswynyvg8d0hpx1n5`,entryStartsAt:P$2(new Date(2020,0,1)),entryEndsAt:P$2(M$1(new Date(2020,0,1),2))};let me=e.WrongBeneficiary={id:`ben_01jps5cgshfgnzwvcyck0y4sdg`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`My Bank Account`,currency:`AUD`,gatewayId:`ben_12345abcde67890`,gateway:`AIRWALLEX`,assignment:`PROMOTER`,teamId:x.id,promoterId:S.id,tenantId:t.id},he=e.WrongCoupon={id:`cpn_01jps5cgsh4fy01mvwvzn7xbc9`,couponId:`cpn_01jps5cgsh4fy01mvwvzn7xbc9`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Wrong Price`,active:true,kind:`PERCENT`,filter:`TEAM`,currency:`AUD`,discount:50,uses:0,limit:-1,saleStartsAt:P$2(new Date(2025,1,10,3,0,0)),saleEndsAt:void 0,deletedAt:void 0,teamId:x.id,tenantId:t.id},ge=e.WrongCouponCode={id:`cod_01jps5cgsh2hevcp6av50kbgyf`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),active:true,name:`WRONG`,tenantId:t.id,couponId:he.id,teamId:x.id},_e=e.WrongPayout={id:`pyt_01jps5cgshynssderz1k0fd7z3`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),paidAt:new Date().toISOString(),structure:`default`,items:{tickets:{beneficiaryId:me.id,feeAmount:0,feeCurrency:`AUD`,transferAmount:1e3,transferCurrency:`AUD`},sessions:{beneficiaryId:me.id,feeAmount:0,feeCurrency:`AUD`,transferAmount:650,transferCurrency:`AUD`}},eventId:C.id,teamId:x.id,promoterId:S.id},ve=e.WrongOrder={id:`ord_01jps5cgshxhcpy2djnr8e04s3`,token:`51126f93491f3bda92235ade2d87baec7935610e52b64d4252a3c721dfc6016a`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),status:`PENDING`,payment:{method:`FREE`},price:{total:0,base:0,booking:0,discount:0,processor:0,currency:`AUD`},code:{id:ge.id,name:ge.name},customer:v,teamId:x.id,promoterId:S.id,eventId:C.id,paymentId:``,payoutIds:[_e.id]},T=e.WrongOrderItem={id:`itm_01jps5cgsh14bjvyywkvt6f37e`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),orderId:ve.id,kind:`ADMISSION`,quantity:2,admissionId:w.id,price:{base:w.price.base,booking:w.price.booking,discount:0,currency:w.price.currency}};e.WrongOrderFee={id:`fee_01jps5cgshgebpv67sppjfrgb8`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),orderId:ve.id,reason:`Gateway Fee`,amount:-30,currency:`AUD`,requestId:`att_sgpdz4v2ph1axmdmdx8_m8w6qv`},e.WrongTicket={id:`tkt_01jps5cgsh51kzg7534pzap7gk`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),status:`REDEEMED`,scans:[],token:`a1b2c3d4e5f6789012345678901234567890123456789012345678901234abcd`,attendee:{email:v.email,firstName:v.firstName,lastName:v.lastName},event:{id:C.id,name:C.name,slug:C.slug,location:C.location,entryStartsAt:C.entryStartsAt,entryEndsAt:C.entryEndsAt,images:C.images},admission:{id:w.id,name:w.name,price:w.price,entryStartsAt:w.entryStartsAt,entryEndsAt:w.entryEndsAt},eventId:C.id,customerId:v.id,orderId:ve.id,orderItemId:T.id,admissionId:T.admissionId,teamId:x.id,promoterId:S.id,promoterSlug:S.slug,tenantId:t.id},e.AnotherTicket={...le,id:`tkt_01jq6v4gmad9m28kzw8g8910jw`},e.ExpiredTicket={id:`tkt_01jps5cgsh51kzg7534pzap7gk`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),status:`REDEEMED`,scans:[],token:`e1f2a3b4c5d6789012345678901234567890123456789012345678901234efab`,attendee:{email:v.email,firstName:v.firstName,lastName:v.lastName},event:{id:C.id,name:C.name,slug:C.slug,location:C.location,entryStartsAt:C.entryStartsAt,entryEndsAt:C.entryEndsAt,images:C.images},admission:{id:w.id,name:w.name,price:w.price,entryStartsAt:w.entryStartsAt,entryEndsAt:w.entryEndsAt},eventId:C.id,customerId:v.id,orderId:ve.id,orderItemId:T.id,admissionId:T.admissionId,promoterId:S.id,promoterSlug:S.slug,tenantId:t.id},e.UpcomingPayout={...y,id:`pyt_01jq9cvaxvatez34jmwn11rzt8`,status:`UPCOMING`,transfers:[],deductions:[]};let E=e.MixmagTenant={id:`tnt_01hk153x00en6tvgwwwhn8xj1p`,oldId:`p8npi2s3t24arpunzp2e7dzaq`,name:`Mixmag ANZ`,slug:`mixmag-anz`,email:`hello@mixmag.net.au`,adminTeamId:`tem_01hr9kk2pgez2s8jzb3gs5nwsf`,legacyTenantsToTeams:{clhvrnqph0000m9rq039hkw7s:`tem_01k5sashm1xmaganzteam0001`,"6kh3sj8ih5tvg927rz5elm90o":`tem_01k6blankm1xmaganzteam002`,vc8vrjrv5arhabnk8ainx0ycb:`tem_01k7prowlm1xmaganzteam003`,clkwbixsi0000m9coi7i5b65z:`tem_01k8crousm1xmaganzteam004`},defaultCurrency:`AUD`,baseUrl:{dev:`http://mixmag-au.local:3000`,production:`https://mixmag-anz.app.session.services`},logo:{icon:{src:`https://assets.session.services/icon-bg.png`,width:29,height:29},email:{src:`https://assets.session.services/icon-bg.png`,width:165,height:76},website:{src:`https://assets.session.services/icon-bg.png`,width:165,height:76},qr:{src:`https://assets.session.services/tenants/mixmag-anz/qr.svg`}},favicon:`https://assets.session.services/tenants/mixmag-anz/favicon.svg`},ye=e.MixmagUser={id:`usr_01jps5cgsmh2d4ez6xz2t23fsf`,email:`mixmag@session.services`,firstName:`Mixmag`,lastName:`User`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),tenantId:E.id},D=e.MixmagTeam={id:`tem_01hr9kk2pgez2s8jzb3gs5nwsf`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Mixmag Team`,slug:`mixmag-team`,description:`This is Mixmag team...`,type:`PROMOTER`,tenantId:`tnt_01jqpj2t2kfvmstt6f6tzkbaf2`},O=e.MixmagPromoter={id:`pmt_01hr9kk2pgez2s8jzb3gs5nwsf`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),payoutFrequency:`AFTER_EVENT`,name:`Mixmag Promoter`,slug:`mixmag-promoter`,description:`This is Mixmag...`,image:{src:`https://assets.session.services/icon-bg.png`,alt:`Session Services Logo`,width:800,height:800},approval:`APPROVED`,type:`PROMOTER`,geohash:`r3gx1`,location:{id:`loc_01hr9kk2pgez2s8jzb3gs5nwsg`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Mixmag`,address:`169 Oxford St, Darlinghurst NSW 2010, Australia`,city:`Darlinghurst`,state:`New South Wales`,postcode:`2010`,country:`Australia`,latitude:-33.8774,longitude:151.2196,timeZone:`Australia/Sydney`},tracking:{fbId:`485739562847563`,gtmId:`GTM-K8WPM5N`,tikTokId:`BQCKPH3RC77U8GPMLJ5G`},teamId:D.id,tenantId:`tnt_01jqpj2t2kfvmstt6f6tzkbaf2`},be=e.MixmagSashPromoter={id:`pmt_01jps5cgsm15cfwrtat68b2vq5`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),payoutFrequency:`WEEKLY`,name:`SASH Mixmag Promoter`,slug:`sash-mixmag-promoter`,description:`This is SASH on Mixmag...`,image:{src:`https://assets.session.services/icon-bg.png`,alt:`Session Services Logo`,width:800,height:800},approval:`APPROVED`,type:`PROMOTER`,geohash:`r3gx1`,location:{id:`loc_01jps5cgsm15cfwrtat68b2vq6`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Mixmag`,address:`169 Oxford St, Darlinghurst NSW 2010, Australia`,city:`Darlinghurst`,state:`New South Wales`,postcode:`2010`,country:`Australia`,latitude:-33.8774,longitude:151.2196,timeZone:`Australia/Sydney`},tracking:{fbId:`485739562847563`,gtmId:`GTM-K8WPM5N`,tikTokId:`BQCKPH3RC77U8GPMLJ5G`},tenantId:E.id};e.MixmagPromoterMember={id:`mbr_01jps5cgsmk2femegmakpgrjdq`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),promoterId:O.id,promoterSlug:O.slug,userId:ye.id,user:{id:ye.id,email:ye.email,firstName:ye.firstName,lastName:ye.lastName},permissions:[`FULL`],tenantId:E.id};let k=e.MixmagEvent={id:`evt_01jps5cgsmwksmhse1gr2jrq7x`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Mixmag Event`,slug:`wrong-event`,description:`This is the wrong event...`,approval:`APPROVED`,status:`UPCOMING`,visibility:`PUBLIC`,currency:`AUD`,entryStartsAt:P$2(M$1(new Date,1)),entryEndsAt:P$2(M$1(new Date,2)),publishAt:P$2(new Date),images:{mobile:{src:`https://assets.session.services/event-mobile.jpg`,alt:`Mobile Event Image`,width:1080,height:1350},desktop:{src:`https://assets.session.services/event-desktop.jpg`,alt:`Desktop Event Image`,width:1920,height:1080}},geohash:`r3gx1`,location:{id:`loc_01jps5cgsmkp1bdr7hgfmmhr4e`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Mixmag`,address:`169 Oxford St, Darlinghurst NSW 2010, Australia`,city:`Darlinghurst`,state:`New South Wales`,postcode:`2010`,country:`Australia`,latitude:-33.8774,longitude:151.2196,timeZone:`Australia/Sydney`},teamId:D.id,promoterId:O.id,tenantId:E.id},xe=e.MixmagSashEvent={id:`evt_01kb1ve66keh4rntf96rq5wpk2`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Mixmag SASH Event`,slug:`mixmag-sash-event`,description:`This is a sash on mixmag event...`,approval:`APPROVED`,status:`UPCOMING`,visibility:`PUBLIC`,currency:`AUD`,entryStartsAt:P$2(M$1(new Date,1)),entryEndsAt:P$2(M$1(new Date,2)),publishAt:P$2(new Date),images:{mobile:{src:`https://assets.session.services/event-mobile.jpg`,alt:`Mobile Event Image`,width:1080,height:1350},desktop:{src:`https://assets.session.services/event-desktop.jpg`,alt:`Desktop Event Image`,width:1920,height:1080}},geohash:`r3gx1`,location:{id:`loc_01jps5cgsm7qxvh6watsons0eq`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Watson's EQ`,address:`The, Entertainment Quarter, 1 Bent St, Moore Park NSW 2021, Australia`,city:`Moore Park`,state:`New South Wales`,postcode:`2010`,country:`Australia`,latitude:-33.8944593,longitude:151.2252255,timeZone:`Australia/Sydney`},teamId:D.id,promoterId:O.id,tenantId:E.id},Se=e.MixmagSection={id:`sct_01jps5cgsmhrfxjn18y9bfdqc2`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),teamId:D.id,promoterId:O.id,eventId:k.id,eventSlug:k.slug,name:`Mixmag Admission`,capacity:200,limit:-1,available:200,reserved:0,order:0,sold:0,location:h,tenantId:E.id},A=e.MixmagAdmission={id:`adm_01jps5cgsmbepdasrtxvh9xa0k`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),sectionId:Se.id,teamId:D.id,promoterId:O.id,eventId:k.id,eventSlug:k.slug,name:`Mixmag Release`,capacity:100,limit:-1,available:100,entryStartsAt:P$2(M$1(new Date,1)),entryEndsAt:P$2(M$1(new Date,2)),saleStartsAt:P$2(new Date),saleEndsAt:P$2(M$1(new Date,2)),price:{base:1e3,booking:200,currency:`AUD`},tenantId:E.id};e.MixmagSashAdmission={id:`adm_01jps5cgsm5c3scpdyf25bhntd`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),promoterId:be.id,eventId:xe.id,eventSlug:xe.slug,name:`Final Release`,capacity:100,limit:-1,available:100,entryStartsAt:P$2(M$1(new Date,1)),entryEndsAt:P$2(M$1(new Date,2)),saleStartsAt:P$2(new Date),saleEndsAt:P$2(M$1(new Date,2)),price:{base:1e3,booking:200,currency:`AUD`},tenantId:E.id};let Ce=e.MixmagBeneficiary={id:`ben_01jps5cgsmgxsdv4nxjk51s5by`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`My Bank Account`,currency:`AUD`,gatewayId:`ben_12345abcde67890`,gateway:`AIRWALLEX`,assignment:`PROMOTER`,teamId:D.id,promoterId:O.id,tenantId:E.id},we=e.MixmagCoupon={id:`cpn_01kb1vvpa0ecrbpyh2j5mvzdp9`,couponId:`cpn_01kb1vvpa0ecrbpyh2j5mvzdp9`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),name:`Mixmag Price`,active:true,kind:`PERCENT`,filter:`TEAM`,currency:`AUD`,discount:50,uses:0,limit:-1,saleStartsAt:P$2(new Date(2025,1,10,3,0,0)),saleEndsAt:void 0,deletedAt:void 0,teamId:D.id,tenantId:E.id},Te=e.MixmagCouponCode={id:`cod_01jps5cgsmc53405wk7t2v8ka7`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),active:true,name:`MIXMAG`,tenantId:E.id,couponId:we.id,teamId:D.id},Ee=e.MixmagPayout={id:`pyt_01jps5cgsmx1x39hnrmvvtcets`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),paidAt:new Date().toISOString(),structure:`default`,items:{tickets:{beneficiaryId:Ce.id,feeAmount:0,feeCurrency:`AUD`,transferAmount:1e3,transferCurrency:`AUD`},sessions:{beneficiaryId:Ce.id,feeAmount:0,feeCurrency:`AUD`,transferAmount:650,transferCurrency:`AUD`}},eventId:k.id,promoterId:O.id},De=e.MixmagOrder={id:`ord_01jps5cgsmtxt8e0985tstqe5h`,token:`16a761b251a2368027c6c08453eca1a97f7e7fcbf714b789c8aa96033d199b90`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),status:`PENDING`,payment:{method:`FREE`},price:{total:0,base:0,booking:0,discount:0,processor:0,currency:`AUD`},code:{id:Te.id,name:Te.name},customer:v,promoterId:O.id,eventId:k.id,paymentId:``,payoutIds:[Ee.id]},Oe=e.MixmagOrderItem={id:`itm_01jps5cgsmqrkg0btn7khdyjyg`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),orderId:De.id,kind:`ADMISSION`,quantity:2,admissionId:A.id,price:{base:A.price.base,booking:A.price.booking,discount:0,currency:A.price.currency}};e.MixmagOrderFee={id:`fee_01jps5cgsm4jgpnfqxahmwm7he`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),orderId:De.id,reason:`Gateway Fee`,amount:30,currency:`AUD`,requestId:`att_sgpdz4v2ph1axmdmdx8_m8w6qv`},e.MixmagTicket={id:`tkt_01jps5cgsmycbvfrqw5h3zt9bp`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),status:`REDEEMED`,scans:[],token:`m1i2x3m4a5g6789012345678901234567890123456789012345678901234mixm`,attendee:{email:v.email,firstName:v.firstName,lastName:v.lastName},event:{id:k.id,name:k.name,slug:k.slug,location:k.location,entryStartsAt:k.entryStartsAt,entryEndsAt:k.entryEndsAt,images:k.images},admission:{id:A.id,name:A.name,price:A.price,entryStartsAt:A.entryStartsAt,entryEndsAt:A.entryEndsAt},eventId:k.id,customerId:v.id,orderId:De.id,orderItemId:Oe.id,admissionId:A.id,promoterId:O.id,promoterSlug:O.slug,tenantId:E.id},e.InactiveCoupon={...ne,id:`cpn_01kb1ve66keh4rntfm5z89yskj`,couponId:`cpn_01kb1ve66keh4rntfm5z89yskj`,name:`Inactive Coupon`,active:false};let ke=e.MelbourneLocation={id:`loc_01kb1sr54cf27s4yas3fxy0c76`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),googlePlaceId:`ChIJc4QL47ZC1moRFW-PYdhx-O0`,name:`Federation Square`,address:`Federation Square, Melbourne VIC 3000, Australia`,city:`Melbourne`,state:`Victoria`,postcode:`3000`,country:`Australia`,latitude:-37.8179789,longitude:144.9690576,timeZone:`Australia/Melbourne`};e.MelbourneVenue={...a,id:`ven_01kb1ve66heh4rntebeywafbwj`,name:`Melbourne Convention Centre`,slug:`melbourne-convention-centre`,description:`Premier convention and exhibition venue in Melbourne`,locationId:ke.id,location:ke,geohash:`r1r0f`};let Ae=e.MelbournePromoter={...u,id:`pmt_01kb1ve66keh4rntehghtb8j43`,name:`Melbourne Promoter`,slug:`melbourne-promoter`,description:`A promoter based in Melbourne`,geohash:`r1r0f`,location:ke};e.MelbourneEvent={...p,id:`evt_01kb1ve66keh4rnteypq587crh`,name:`Melbourne Event`,slug:`melbourne-event`,description:`An event in Melbourne for geo testing`,promoterId:Ae.id,geohash:`r1r0f`,location:ke},e.PendingVenue={...a,id:`ven_01kb1ve66keh4rntf3crpmdyaw`,name:`Pending Venue`,slug:`pending-venue`,description:`A venue pending approval`,approval:`PENDING`},e.Locations={sydneyOperaHouse:{id:`loc_01hk153x00fpxv6cjp99qawkcs`,googlePlaceId:`ChIJ3S-JXmauEmsRUcIaWtf4MzE`,name:`Sydney Opera House`,address:`Bennelong Point, Sydney NSW 2000, Australia`,city:`Sydney`,state:`New South Wales`,postcode:`2000`,country:`Australia`,latitude:-33.8567844,longitude:151.2152967,timeZone:`Australia/Sydney`,types:[`establishment`,`point_of_interest`,`tourist_attraction`],image:{src:`https://assets.session.services/locations/loc_01hk153x00fpxv6cjp99qawkcs.jpg`,alt:`Sydney Opera House`,width:1200,height:800}},carouselBarBallroom:{id:`loc_01hk153x00efq9ygdkc9eb3rjt`,googlePlaceId:`ChIJc8-zlGSvEmsR0rbZWpCP6z0`,name:`Carousel Bar & Ballroom`,address:`169 Oxford St, Darlinghurst NSW 2010, Australia`,city:`Darlinghurst`,state:`New South Wales`,postcode:`2010`,country:`Australia`,latitude:-33.8803603,longitude:151.2161228,timeZone:`Australia/Sydney`,types:[`establishment`,`night_club`,`point_of_interest`],image:{src:`https://assets.session.services/locations/loc_01hk153x00efq9ygdkc9eb3rjt.jpg`,alt:`Carousel Bar & Ballroom`,width:1200,height:800}},homeTheVenue:{id:`loc_01hk153x00eqbb7qm3b7fjxh7j`,googlePlaceId:`ChIJLaRY2DuuEmsRkgiW8LMz2Hs`,name:`Home The Venue`,address:`101/1-5 Wheat Rd, Sydney NSW 2000, Australia`,city:`Sydney`,state:`New South Wales`,postcode:`2000`,country:`Australia`,latitude:-33.8725457,longitude:151.201907,timeZone:`Australia/Sydney`,types:[`establishment`,`food`,`night_club`,`point_of_interest`,`restaurant`],image:{src:`https://assets.session.services/locations/loc_01hk153x00eqbb7qm3b7fjxh7j.jpg`,alt:`Home The Venue`,width:1200,height:800}},greenwoodHotel:{id:`loc_01hk153x00eerbxb70s9fwbmc9`,googlePlaceId:`ChIJPZiEA_OuEmsRWKYZIBL58QU`,name:`Greenwood Hotel`,address:`The Greenwood Plaza Rooftop, 36 Blue St, North Sydney NSW 2060, Australia`,city:`North Sydney`,state:`New South Wales`,postcode:`2060`,country:`Australia`,latitude:-33.8401485,longitude:151.2074803,timeZone:`Australia/Sydney`,types:[`bar`,`establishment`,`food`,`point_of_interest`,`restaurant`],image:{src:`https://assets.session.services/locations/loc_01hk153x00eerbxb70s9fwbmc9.jpg`,alt:`Greenwood Hotel`,width:1200,height:800}},sydneyRacquetClub:{id:`loc_01hk153x00f26trt0z9kmm5pm4`,googlePlaceId:`ChIJB3Dai2SvEmsR904tdDsfGWs`,name:`Sydney Racquet Club`,address:`17 Park Rd N, Moore Park NSW 2021, Australia`,city:`Moore Park`,state:`New South Wales`,postcode:`2021`,country:`Australia`,latitude:-33.89344310000001,longitude:151.2260224,timeZone:`Australia/Sydney`,types:[`establishment`,`point_of_interest`],image:{src:`https://assets.session.services/locations/loc_01hk153x00f26trt0z9kmm5pm4.jpg`,alt:`Sydney Racquet Club`,width:1200,height:800}},centralStation:{id:`loc_01hk153x00fypv7sxqvby33hsg`,googlePlaceId:`ChIJpcfaaCGuEmsRcTRNZkqb51U`,name:`Central Station`,address:`Eddy Ave, Haymarket NSW 2000, Australia`,city:`Haymarket`,state:`New South Wales`,postcode:`2000`,country:`Australia`,latitude:-33.8826465,longitude:151.2064744,timeZone:`Australia/Sydney`,types:[`establishment`,`point_of_interest`,`subway_station`,`train_station`,`transit_station`],image:{src:`https://assets.session.services/locations/loc_01hk153x00fypv7sxqvby33hsg.jpg`,alt:`Central Station`,width:1200,height:800}},federationSquare:{id:`loc_01hk153x00ebfrn7y8v7z8emew`,googlePlaceId:`ChIJc4QL47ZC1moRFW-PYdhx-O0`,name:`Federation Square`,address:`Federation Square, Melbourne VIC 3000, Australia`,city:`Melbourne`,state:`Victoria`,postcode:`3000`,country:`Australia`,latitude:-37.8179789,longitude:144.9690576,timeZone:`Australia/Melbourne`,types:[`town_square`],image:{src:`https://assets.session.services/locations/loc_01hk153x00ebfrn7y8v7z8emew.jpg`,alt:`Federation Square`,width:1200,height:800}},bondiBeach:{id:`loc_01hk153x00er59hr0dvf9t4mpy`,googlePlaceId:`ChIJWTi8xgGyEmsRgK0yFmh9AQU`,name:`Bondi Beach`,address:`Bondi Beach NSW 2026, Australia`,city:`Bondi Beach`,state:`New South Wales`,postcode:`2026`,country:`Australia`,latitude:-33.8891201,longitude:151.2703991,timeZone:`Australia/Sydney`,types:[`locality`,`political`],image:{src:`https://assets.session.services/locations/loc_01hk153x00er59hr0dvf9t4mpy.jpg`,alt:`Bondi Beach`,width:1200,height:800}},sydney:{id:`loc_01hk153x00fyrr4gttg9psr5cv`,googlePlaceId:`ChIJP3Sa8ziYEmsRUKgyFmh9AQM`,name:`Sydney`,address:`Sydney NSW, Australia`,city:`Sydney`,state:`New South Wales`,postcode:void 0,country:`Australia`,latitude:-33.8727409,longitude:151.2057136,timeZone:`Australia/Sydney`,types:[`colloquial_area`,`locality`,`political`],image:{src:`https://assets.session.services/locations/loc_01hk153x00fyrr4gttg9psr5cv.jpg`,alt:`Sydney`,width:1200,height:800}}};})(bi||={});const xi=z$3.object({net:z$3.int().min(0).meta({examples:[F$2.OrderItem.price.net],description:`Total amount to pay to promoter in cents.
19
+ Calculated as: total - booking - refunded`}),total:z$3.int().min(0).meta({examples:[F$2.OrderItem.price.total],description:`Total amount the customer should pay in cents.
20
+ Calculated as: gross - discount`}),gross:z$3.int().min(0).meta({examples:[F$2.OrderItem.price.gross],description:`Total amount before refunds and discounts in cents.
21
+ Calculated as: base + booking`}),base:z$3.int().min(0).meta({examples:[F$2.OrderItem.price.base],description:`Total ticket price in cents`}),booking:z$3.int().min(0).meta({examples:[F$2.OrderItem.price.booking],description:`Total booking fees in cents (non-refundable)`}),refunded:z$3.int().max(0).meta({examples:[F$2.OrderItem.price.refunded],description:`Total amount refunded in cents`}),discount:z$3.int().max(0).meta({examples:[F$2.OrderItem.price.discount],description:`Total amount discounted in cents`}),currency:z$3.string().regex(/^[A-Z]{3}$/).meta({examples:[F$2.OrderItem.price.currency],description:`Currency code in ISO 4217 format.`})}),Si=z$3.enum([`ADMISSION`,`ADDON`]),wi=z$3.object({id:z$3.string().meta({examples:[F$2.OrderItem.id],description:`Unique identifier for this order item`}),kind:Si.meta({examples:[F$2.OrderItem.kind],description:`Type of item: ADMISSION for tickets, ADDON for additional products or services`}),quantity:z$3.int().min(1).meta({examples:[F$2.OrderItem.quantity],description:`Number of items purchased (minimum 1)`}),admissionId:z$3.string().optional().meta({examples:[F$2.OrderItem.admissionId],description:`Unique identifier of the admission ticket type, required for ADMISSION items`}),sectionId:z$3.string().optional().meta({examples:[F$2.OrderItem.sectionId],description:`Unique identifier of the venue section for this admission`}),admission:G$2.optional().meta({examples:[bi.Admission],description:`Complete admission details captured at time of purchase. This is a snapshot that preserves the exact ticket type information as it was when the order was placed`}),section:X.optional().meta({examples:[bi.Section],description:`Complete section details captured at time of purchase. This is a snapshot that preserves the exact venue area or category information as it was when the order was placed`}),price:xi.meta({description:`Pricing breakdown for this order item including all fees and discounts`})}),Ti=z$3.enum([`FREE`,`AIRWALLEX`,`STRIPE`]),Di=z$3.enum([`AMERICAN_EXPRESS`,`CHINA_UNION_PAY`,`DINERS_CLUB_INTERNATIONAL`,`DISCOVER`,`JCB`,`MAESTRO`,`MASTERCARD`,`UNION_PAY`,`VISA`]),ki=z$3.enum(`ACH_DIRECT_DEBIT.ACSS_DEBIT.AFFIRM.AFTERPAY.ALFAMART.ALIPAY.ALIPAYCN.ALIPAYHK.ALMA.AMAZON_PAY.APPLEPAY.ATOME.BACS_DIRECT_DEBIT.BANCONTACT.BANK_TRANSFER.BECS_DIRECT_DEBIT.BILLIE.BITPAY.BLIK.BOLETO.BOOST.CARD.CARD_PRESENT.CASHAPP.CRYPTO.CUSTOM.CUSTOMER_BALANCE.DANA.DOKU_EWALLET.DRAGONPAY.DUIT_NOW.EFT_DIRECT_DEBIT.EPS.ESUN.FAMILY_MART.FPX.FPS.GCASH.GIROPAY.GOOGLEPAY.GO_PAY.GRABPAY.HI_LIFE.IDEAL.INDOMARET.INTERAC_PRESENT.JENIUS_PAY.KAKAOPAY.KLARNA.KONBINI.KOREAN_LOCAL_CARD.LINK.LINKAJA.MAXIMA.MB_WAY.MOBILEPAY.MULTIBANCO.MYBANK.NARVESEN.NAVER_PAY.NZ_BANK_ACCOUNT.ONLINE_BANKING.OVO.OXXO.P24.PAYBYBANKAPP.PAYCO.PAYEASY.PAYPAL.PAYPAY.PAYSAFECASH.PAYSAFECARD.PAYSERA.PAY_NOW.PERLAS_TERMINALS.PIX.PROMPTPAY.RABBIT_LINE_PAY.REVOLUT_PAY.SAMSUNG_PAY.SATISPAY.SEPA_DIRECT_DEBIT.SEVEN_ELEVEN.SHOPEE_PAY.SKRILL.SOFORT.SWISH.TNG.TOSS_PAY.TRUEMONEY.TRUSTLY.TWINT.VERKKOPANKKI.WECHATPAY.ZIP`.split(`.`)),ji=z$3.object({method:Ti.meta({examples:[`FREE`],description:`Payment gateway used to process this order: FREE for no-cost orders, AIRWALLEX or STRIPE for paid orders`}),source:ki.optional().meta({examples:[`APPLEPAY`,`GOOGLEPAY`,`CARD`],description:`Payment method used by the customer such as ApplePay, GooglePay, or card-based payments`}),brand:Di.optional().meta({examples:[`VISA`,`MASTERCARD`,`AMERICAN_EXPRESS`],description:`Card brand when source is CARD (Visa, Mastercard, American Express, etc.)`}),last4:z$3.string().optional().meta({examples:[`4242`],description:`Last 4 digits of the card number when source is CARD`}),stripeId:z$3.string().optional().meta({examples:[`pi_1234567890abcdef`],description:`Stripe payment intent identifier when using Stripe gateway`}),airwallexId:z$3.string().optional().meta({examples:[`int_hkdmr7v9rg1j8donpkmv96`],description:`Airwallex payment intent identifier when using Airwallex gateway`})}),Mi=z$3.object({net:z$3.int().meta({examples:[F$2.Order.price.net],description:`Total amount to pay to promoter in cents.
22
+ Calculated as: total + booking + refunded + dispute`}),total:z$3.int().meta({examples:[F$2.Order.price.total],description:`Total amount the customer should pay in cents.
23
+ Calculated as: gross + discount`}),gross:z$3.int().min(0).meta({examples:[F$2.Order.price.gross],description:`Total amount before refunds and discounts in cents.
24
+ Calculated as: base + booking + shipping`}),base:z$3.int().min(0).meta({examples:[F$2.Order.price.base],description:`Total ticket price in cents`}),booking:z$3.int().min(0).meta({examples:[F$2.Order.price.booking],description:`Total booking fees in cents (non-refundable)`}),shipping:z$3.int().min(0).meta({examples:[F$2.Order.price.shipping],description:`Total shipping amount in cents`}),refunded:z$3.int().max(0).meta({examples:[-F$2.Order.price.refunded],description:`Total amount refunded in cents (negative value)`}),discount:z$3.int().max(0).meta({examples:[-F$2.Order.price.discount],description:`Total amount discounted in cents (negative value)`}),gateway:z$3.int().max(0).meta({examples:[-F$2.Order.price.gateway],description:`Total absorbed payment gateway fees in cents (negative value)`}),dispute:z$3.int().max(0).meta({examples:[-F$2.Order.price.dispute],description:`Total non-absorbed payment gateway fees in cents (negative value)`}),currency:z$3.string().regex(/^[A-Z]{3}$/).meta({examples:[F$2.Order.price.currency],description:`Currency code in ISO 4217 format`})}),Ni=z$3.enum(`ORDER_STATUS_UPDATED.ORDER_EXPIRED.ORDER_COMPLETED.PAYMENT_INITIATED.PAYMENT_PROCESSING.PAYMENT_FAILED.PAYMENT_SUCCEEDED.REFUND_INITIATED.REFUND_PROCESSING.REFUND_SUCCEEDED.REFUND_FAILED.CHARGEBACK_INITIATED.CHARGEBACK_EVIDENCE_SUBMITTED.CHARGEBACK_WON.CHARGEBACK_LOST.CHARGEBACK_FUNDS_WITHDRAWN.TICKETS_GENERATED.TICKET_ADDED.TICKETS_SCANNED.TICKET_EDITED.TICKET_STATUS_CHANGED.EMAIL_SENT.EMAIL_DELIVERED.EMAIL_OPENED.EMAIL_BOUNCED.EMAIL_COMPLAINED.EMAIL_FAILED.NOTE`.split(`.`)),Pi=z$3.object({id:z$3.string().meta({examples:[F$2.Order.id],description:`Unique identifier of the order this timeline entry belongs to`}),createdAt:z$3.iso.datetime().readonly().meta({examples:[F$2.Order.createdAt],description:`Timestamp in ISO 8601 format when this timeline entry was created`}),status:z$3.string().optional().meta({examples:[`SUCCESSFUL`],description:`Order status associated with this timeline entry, when applicable.`}),kind:Ni.meta({examples:[`ORDER_CREATED`],description:`Type of timeline event (ORDER_CREATED, PAYMENT_SUCCEEDED, REFUND_INITIATED, etc.)`}),editable:z$3.boolean().meta({examples:[false],description:`Whether this timeline entry can be edited by users`}),pinned:z$3.boolean().meta({examples:[false],description:`Whether this timeline entry is pinned to the top of the timeline`}),description:z$3.string().meta({examples:[`Order was created successfully`],description:`Human-readable description of what happened in this timeline event`}),author:z$3.string().meta({examples:[`System`],description:`Name of the user or system that created this timeline entry`}),userId:z$3.string().optional().meta({examples:[F$2.User.id],description:`Identifier of the user who created this timeline entry, when available.`}),externalId:z$3.string().optional().meta({examples:[`ses:01234567-89ab-cdef-0123-456789abcdef:Delivery`],description:`External idempotency key for deduplication (e.g., SES messageId + eventType)`})}),Fi=z$3.enum([`PENDING`,`PROCESSING`,`SUCCESSFUL`,`REFUNDED`,`DISPUTED`,`ABANDONED`]),Li=z$3.object({id:ft.readonly().meta({examples:[F$2.Order.id],description:`A unique identifier for this order.`}),token:z$3.string().readonly().meta({examples:[F$2.Order.token],description:`A secure token used to reference this order when not authenticated.`}),createdAt:z$3.iso.datetime().readonly().meta({examples:[F$2.Order.createdAt],description:`Timestamp in ISO 8601 format when this order was created.`}),updatedAt:z$3.iso.datetime().readonly().meta({examples:[F$2.Order.updatedAt],description:`Timestamp in ISO 8601 format when this order was last updated.`}),status:Fi.meta({examples:[`PENDING`],description:`The current payment status of the order.`}),payment:ji.optional().meta({description:`Details of the payment method and transaction for this order.`}),items:z$3.array(wi).meta({description:`List of items included in this order.`}),fees:z$3.array(yi).meta({description:`List of fees applied to this order.`}),price:Mi.meta({description:`Summary of the order total, including items and fees.`}),couponCode:gi.optional().meta({description:`Details of the coupon code applied to this order for discount calculation`}),customer:_i.optional().meta({description:`Details of the customer who placed this order, if available.`}),timeline:z$3.array(Pi).optional().meta({description:`Chronological audit trail entries associated with this order.`}),customerId:gt.optional().meta({examples:[F$2.Customer.id],description:`Identifier of the customer who placed this order.`}),createdBy:_i.optional().meta({description:`Details of the admin user who created this order on behalf of the customer.`}),createdById:V$2.optional().meta({examples:[F$2.User.id],description:`Identifier of the admin user who created this order on behalf of the customer.`}),teamId:R$2.meta({description:`Team that owns this order. Denormalized for efficient queries.`}),promoterId:H$2.meta({examples:[F$2.Promoter.id],description:`Identifier of the promoter managing this order.`}),event:vi.meta({description:`Details of the event associated with this order.`}),payoutIds:z$3.array(bt.meta({examples:[F$2.Promoter.id],description:`Identifier for each payout transaction generated by this order.`})).meta({description:`List of payout identifiers created when this order was settled.`}),eventId:z$2.meta({examples:[F$2.Event.id],description:`Identifier of the event for which this order was placed.`}),eventSlug:z$3.string().meta({examples:[F$2.Event.slug],description:`URL-friendly slug of the event.`}),checkoutUrl:z$3.string().readonly().meta({examples:[`https://example.com/checkout/ord_1234567890`],description:`The URL where the customer can complete the checkout for this order.`}),returnUrl:z$3.string().optional().meta({examples:[`https://example.com/event/success`],description:`The URL to redirect to after successful payment completion.`})}).meta({description:`order`}),Ri=z$3.object({id:z$3.string().meta({examples:[F$2.Order.id],description:`Unique identifier of the order to add a note to`}),note:z$3.string().min(1).max(1e3).meta({examples:[`Customer requested special seating arrangements`],description:`Note text content (1-1000 characters)`})}),zi=z$3.object({teamId:z$3.string().optional().meta({description:`Filter orders by team unique identifier`}),promoterId:z$3.string().optional().meta({examples:[`pmt_01jqpjksnsen9vprw95et60t2m`],description:`Filter orders by promoter unique identifier`}),eventId:z$3.string().optional().meta({examples:[`evt_01jps5cgsenjrazw6wswmyspa3`],description:`Filter orders by event unique identifier`}),customerId:z$3.string().optional().meta({examples:[`cus_01jps5cgsf4pn2a32eamppnap1`],description:`Filter orders by customer unique identifier`}),status:z$3.enum([`PENDING`,`PROCESSING`,`SUCCESSFUL`,`REFUNDED`,`DISPUTED`,`ABANDONED`]).optional().meta({examples:[`SUCCESSFUL`],description:`Filter orders by payment status`}),query:z$3.string().optional().meta({examples:[`John Doe`],description:`Optional search query to filter orders by customer details. When provided, search-backed pagination is used.`}),from:z$3.string().date().optional().meta({examples:[`2025-01-01`],description:`Filter orders created on or after this date (YYYY-MM-DD format). Inclusive of the entire day.`}),to:z$3.string().date().optional().meta({examples:[`2025-12-31`],description:`Filter orders created on or before this date (YYYY-MM-DD format). Inclusive of the entire day.`}),limit:(()=>z$3.coerce.number().min(1).max(100).prefault(20).meta({examples:[20],description:`Maximum number of orders to return (1-100, default: 20)`}))().optional(),cursor:z$3.string().optional().meta({examples:[`eyJpZCI6Im9yZF8wMWpwczVjZ3NmZ3ZlNWI1ZzI2NjZreXJ5aCJ9`],description:`Pagination cursor for continuing to fetch subsequent results`})}),Bi=zi.extend({from:z$3.string().date().meta({examples:[`2025-01-01`],description:`Start date in YYYY-MM-DD format for counting orders within a date range. Inclusive of the entire day.`}),to:z$3.string().date().meta({examples:[`2025-12-31`],description:`End date in YYYY-MM-DD format for counting orders within a date range. Inclusive of the entire day.`})}),Vi=z$3.object({count:z$3.number()}),Hi=wi.omit({id:true,price:true,kind:true}).extend({id:z$3.string().optional().meta({examples:[`itm_01jps5cgsfwyxj0516571eaf17`],description:`Unique identifier for this order item. When omitted, the server assigns an id during processing`})}),Ui=z$3.object({eventId:z$3.string().meta({examples:[`evt_01jps5cgsenjrazw6wswmyspa3`],description:`Unique identifier of the event for which to create the order`}),items:z$3.array(Hi).meta({description:`List of items to include in the new order`}),couponCode:z$3.string().optional().meta({examples:[`TEST50`],description:`Optional coupon code to apply discount to the order`}),returnUrl:z$3.string().optional().meta({examples:[`https://example.com/event/success`],description:`Optional URL to redirect to after successful payment`})}),Wi=z$3.object({id:z$3.string().meta({examples:[F$2.Order.id],description:`Unique identifier of the order`}),noteId:z$3.string().meta({examples:[`tl_1234567890_abc123`],description:`Unique identifier of the timeline note to delete`})});z$3.object({id:z$3.string().meta({examples:[F$2.Order.id],description:`Unique identifier of the order to edit`}),token:z$3.string().meta({examples:[F$2.Order.token],description:`Order token for customer access during checkout. Required for editing order items.`}),items:z$3.array(Hi).min(1).meta({description:`Updated list of items for the order (replaces existing items). Prices will be recalculated and payment intent updated.`})});const Ki=z$3.object({id:z$3.string().meta({examples:[F$2.Order.id],description:`Unique identifier of the order to retrieve`}),token:z$3.string().meta({examples:[F$2.Order.token],description:`Optional secure token for accessing order without authentication`}).optional()}),qi=X.omit({id:true,createdAt:true,updatedAt:true,order:true,available:true,sold:true,reserved:true,promoterId:true,eventSlug:true,location:true}).extend({order:z$3.number().optional().meta({examples:[F$2.Section.order],description:`Display order of the section. Lower numbers appear first in listings. Defaults to 0 if not specified`}),locationId:B$2.optional().meta({examples:[`loc_01jqpjksnsen9vprw95et60t2m`],description:`ID of an existing location. Either locationId or googlePlaceId must be provided.`}),googlePlaceId:z$3.string().optional().meta({examples:[`ChIJN1t_tDeuEmsRUsoyG83frY4`],description:`Google Place ID to create a new location from. Either locationId or googlePlaceId must be provided.`})}).refine(e=>e.locationId||e.googlePlaceId,{message:`Either locationId or googlePlaceId must be provided`}).meta({description:`Schema for creating a new section within an event venue. Excludes system-generated fields and fields derived from the event`}),Ji=X.pick({id:true}).extend({eventId:z$3.string().meta({examples:[F$2.Section.eventId],description:`Unique identifier of the event to verify section belongs to`})}).meta({description:`Schema for soft-deleting a section by setting its deletedAt timestamp`}),Yi=X.pick({id:true}).extend({eventId:z$3.string().meta({examples:[F$2.Section.eventId],description:`Unique identifier of the event to verify section belongs to`})}).meta({description:`Schema for retrieving a specific section by ID`}),Xi=z$3.object({eventId:X.shape.eventId,query:z$3.string().optional().meta({examples:[`VIP`],description:`Optional search query. When provided, automatically uses search-backed pagination for full-text search capabilities`}),limit:z$3.coerce.number().min(1).max(100).prefault(20).meta({examples:[20],description:`Maximum number of sections to return in each result set. Must be between 1 and 100, defaults to 20`}),cursor:z$3.string().optional().meta({examples:[`eyJpbnRlbnQiOnsicmVzb3VyY2UiOiJzZWN0aW9uLmxpc3QifSwicG9zaXRpb24iOnsiZW5naW5lIjoiZHluYW1vIiwgImN1cnNvciI6InNlY18wMWpwczVjZ3NlMGczcWo1NnZkODZ6N3FqIiwgImhpc3RvcnkiOltdfX0=`],description:`Opaque pagination cursor from a previous response. Provide to continue fetching subsequent results`})}).meta({description:`Schema for listing sections with cursor-based pagination. Automatically uses search-backed pagination when query parameter is provided`}),Zi=K$2(X,`sections`),Qi=z$3.object({section:X}),$i=X.omit({promoterId:true,createdAt:true,updatedAt:true,eventSlug:true,available:true,sold:true,reserved:true,location:true}).partial().extend({id:z$3.string().meta({examples:[F$2.Section.id],description:`Unique identifier of the section to update`}),eventId:z$3.string().meta({examples:[F$2.Section.eventId],description:`Unique identifier of the event to verify section belongs to`}),locationId:B$2.optional().meta({examples:[`loc_01jqpjksnsen9vprw95et60t2m`],description:`ID of an existing location to update to. Either locationId or googlePlaceId can be provided.`}),googlePlaceId:z$3.string().optional().meta({examples:[`ChIJN1t_tDeuEmsRUsoyG83frY4`],description:`Google Place ID to update location from. Either locationId or googlePlaceId can be provided.`})}).meta({description:`Schema for updating an existing section.`}),ea=wi.extend({admission:G$2.optional().meta({description:`Complete admission details for this order item when available`}),section:X.optional().meta({description:`Complete section details for this order item when applicable`})}),ta=K$2(Li,`orders`),na=z$3.object({items:z$3.array(ea).meta({description:`List of order items with complete pricing and admission details`}),price:Mi.meta({description:`Total pricing breakdown for the entire order quote`}),couponCode:Y.optional().meta({description:`Applied coupon code details if a discount was used in this quote`})}),ra=z$3.object({eventId:z$3.string().meta({examples:[`evt_01jps5cgsenjrazw6wswmyspa3`],description:`Unique identifier of the event for which to generate a price quote`}),items:z$3.array(Hi).meta({description:`List of items to include in the price quote calculation`}),couponCode:z$3.string().optional().meta({examples:[`TEST50`],description:`Optional coupon code to apply discount to the quote`})}),ia=z$3.object({quote:na}),aa=z$3.object({id:z$3.string().meta({examples:[F$2.Order.id],description:`Order ID to resend tickets for`}),email:z$3.string().email().optional().meta({examples:[`customer@example.com`],description:`Email address to send tickets to. If not provided, uses order.customer.email`})}),oa=z$3.object({order:Li}),sa=z$3.object({key:z$3.string().meta({description:`Interval start (date-string)`}),currency:z$3.string().meta({description:`Currency code in ISO 4217 format.`}),sum:Mi.omit({currency:true}).meta({description:`Summed price fields for this currency in this date bin (currency repeated).`}),count:z$3.int().meta({description:`Number of records in this bin (for this currency).`})}),ca=z$3.object({currency:z$3.string().meta({description:`Currency code in ISO 4217 format.`}),count:z$3.int().meta({description:`Total number of records for this currency.`}),sum:Mi.omit({currency:true}).meta({description:`Aggregated price totals for all orders in this currency`}),breakdown:z$3.array(sa).meta({description:`Histogram of sums/counts per interval.`})}),la=z$3.object({count:z$3.int().meta({description:`Total number of records in this period.`}),currencies:z$3.array(ca).meta({description:`Stats broken down by currency.`})}),ua=z$3.object({current:la.meta({description:`Stats for the current date-range.`}),previous:la.meta({description:`Stats for the previous date-range, same length as current.`})}),da=Ui.omit({eventId:true}).partial().extend({id:z$3.string().meta({examples:[F$2.Order.id],description:`Unique identifier of the order to update`}),token:z$3.string().meta({examples:[F$2.Order.token],description:`Order token for customer access during checkout. Required for all order updates.`}),items:z$3.array(Hi).min(1).optional().meta({description:`Updated list of items for the order. Requires token. Prices will be recalculated and payment intent updated.`}),customer:z$3.object({firstName:z$3.string().meta({examples:[F$2.Customer.firstName],description:`Updated first name of the customer`}),lastName:z$3.string().meta({examples:[F$2.Customer.lastName],description:`Updated last name of the customer`}),email:z$3.email().meta({examples:[F$2.Customer.email],description:`Updated email address of the customer`}),phone:z$3.string().meta({examples:[F$2.Customer.phone],description:`Updated phone number of the customer`}).optional()}).optional().meta({description:`Updated customer information for the order`})}),fa=z$3.object({id:z$3.string().meta({examples:[F$2.Order.id],description:`Unique identifier of the order`}),noteId:z$3.string().meta({examples:[`tl_1234567890_abc123`],description:`Unique identifier of the timeline note to update`}),note:z$3.string().min(1).max(1e3).meta({examples:[`Updated: Customer confirmed special seating arrangements`],description:`Updated note text content (1-1000 characters)`})}),pa=z$3.object({success:z$3.boolean().meta({description:`Whether the payout approval was successful`}),message:z$3.string().optional().meta({description:`Optional message about the approval result`}),payoutId:z$3.string().meta({description:`ID of the payout that was approved`})}),ma=z$3.object({payoutId:z$3.string().meta({examples:[F$2.Payout.id],description:`Unique identifier of the payout for which to retrieve the detailed breakdown of orders and financial calculations.`})}),ha=z$3.object({id:z$3.string().readonly().meta({examples:[F$2.PayoutDeduction.id],description:`Unique identifier for this deduction record.`}),createdAt:z$3.iso.datetime().readonly().meta({examples:[F$2.PayoutDeduction.createdAt],description:`Timestamp in ISO 8601 format when this deduction was created.`}),updatedAt:z$3.iso.datetime().readonly().meta({examples:[F$2.PayoutDeduction.updatedAt],description:`Timestamp in ISO 8601 format when this deduction was last updated.`}),amount:z$3.int().min(0).meta({examples:[F$2.PayoutDeduction.amount],description:`Deduction amount in cents. Positive values represent money being deducted from the payout.`}),currency:z$3.string().regex(/^[A-Z]{3}$/).meta({examples:[F$2.PayoutDeduction.currency],description:`Currency code in ISO 4217 format for the deduction amount.`}),description:z$3.string().meta({examples:[F$2.PayoutDeduction.description],description:`Human-readable description explaining the reason for this deduction (e.g., 'Minimum bar spend not met', 'Venue damage charge').`}),gateway:z$3.string().meta({examples:[F$2.PayoutDeduction.gateway],description:`Payment gateway identifier where this deduction was processed.`}),gatewayId:z$3.string().meta({examples:[F$2.PayoutDeduction.gatewayId],description:`Unique identifier assigned by the payment gateway for this deduction transaction.`}),beneficiary:z$3.string().meta({examples:[F$2.PayoutDeduction.beneficiary],description:`Human-readable name of the beneficiary account from which this deduction was taken.`}),beneficiaryId:z$3.string().meta({examples:[F$2.PayoutDeduction.beneficiaryId],description:`Unique identifier of the beneficiary account from which this deduction was taken.`}),transferId:z$3.string().optional().meta({description:`Optional reference to a transfer record when this deduction results in money being moved to a future payout.`}),transferPayoutId:z$3.string().optional().meta({description:`Optional reference to a future payout where the deducted amount will be applied.`})}),ga=z$3.object({id:z$3.string().meta({examples:[F$2.Event.id],description:`Unique identifier for the event associated with this payout.`}),name:z$3.string().meta({examples:[F$2.Event.name],description:`Human-readable name of the event.`}),slug:z$3.string().meta({examples:[F$2.Event.slug],description:`URL-friendly slug identifier for the event.`}),location:z$3.string().optional().meta({examples:[F$2.Event.location.name],description:`Optional human-readable location name where the event takes place.`})}),_a=z$3.object({net:z$3.int().meta({examples:[F$2.Payout.price.net],description:`Total amount to pay to promoter.
25
+ Calculated as: total + booking + refunded + dispute + deductions`}),total:z$3.int().meta({examples:[F$2.Payout.price.total],description:`Total amount the collected in ticket revenue.
26
+ Calculated as: gross + discount`}),gross:z$3.int().min(0).meta({examples:[F$2.Payout.price.gross],description:`Total amount before refunds, disputes, deductions and discounts.
27
+ Calculated as: base + booking + shipping`}),base:z$3.int().min(0).meta({examples:[F$2.Payout.price.base],description:`Total value of tickets.`}),booking:z$3.int().min(0).meta({examples:[F$2.Payout.price.booking],description:`Total value of booking fees (non-refundable).`}),shipping:z$3.int().min(0).meta({examples:[F$2.Payout.price.shipping],description:`Total value of shipping.`}),refunded:z$3.int().max(0).meta({examples:[-F$2.Payout.price.refunded],description:`Total value of refunds (negative value).`}),discount:z$3.int().max(0).meta({examples:[-F$2.Payout.price.discount],description:`Total value of discounts (negative value).`}),gateway:z$3.int().max(0).meta({examples:[-F$2.Payout.price.gateway],description:`Total value of absorbed payment gateway fees (negative value).`}),dispute:z$3.int().max(0).meta({examples:[-F$2.Payout.price.dispute],description:`Total value of non-absorbed payment gateway fees (negative value).`}),deductions:z$3.int().max(0).meta({examples:[-F$2.Payout.price.deductions],description:`Total value of deductions for when money is owed (negative value).`}),currency:z$3.string().regex(/^[A-Z]{3}$/).meta({examples:[F$2.Payout.price.currency],description:`Currency code in ISO 4217 format.`})}),va=z$3.object({id:z$3.string().meta({examples:[F$2.PayoutTransfer.id],description:`Unique identifier for this transfer record.`}),createdAt:z$3.iso.datetime().meta({examples:[F$2.PayoutTransfer.createdAt],description:`Timestamp in ISO 8601 format when this transfer was created.`}),kind:z$3.enum([`TICKETS`,`TENANT`,`VENUE`,`PROMOTER`,`SESSIONS`,`UNKNOWN`]).meta({examples:[`TICKETS`],description:`Type of transfer. TICKETS: revenue from ticket sales, TENANT: platform fees, VENUE: venue split, PROMOTER: promoter split, SESSIONS: platform commission, UNKNOWN: unclassified transfer.`}),amount:z$3.int().min(0).meta({examples:[F$2.PayoutTransfer.amount],description:`Transfer amount in cents. Positive values represent money being transferred to the beneficiary.`}),currency:z$3.string().regex(/^[A-Z]{3}$/).meta({examples:[F$2.PayoutTransfer.currency],description:`Currency code in ISO 4217 format for the transfer amount.`}),fee:z$3.int().min(0).meta({examples:[F$2.PayoutTransfer.fee],description:`Gateway processing fee for this transfer in cents. This fee is deducted from the transfer amount.`}),feeCurrency:z$3.string().regex(/^[A-Z]{3}$/).meta({examples:[F$2.PayoutTransfer.feeCurrency],description:`Currency code in ISO 4217 format for the gateway fee.`}),reference:z$3.string().meta({examples:[F$2.PayoutTransfer.reference],description:`External reference identifier for tracking this transfer with the payment gateway.`}),gateway:z$3.enum([`AIRWALLEX`,`STRIPE`]).meta({examples:[`AIRWALLEX`],description:`Payment gateway used to process this transfer.`}),gatewayId:z$3.string().meta({examples:[F$2.PayoutTransfer.gatewayId],description:`Unique identifier assigned by the payment gateway for this transfer.`}),beneficiary:z$3.string().meta({examples:[F$2.PayoutTransfer.beneficiary],description:`Human-readable name of the beneficiary receiving this transfer.`}),beneficiaryId:z$3.string().meta({examples:[F$2.PayoutTransfer.beneficiaryId],description:`Unique identifier of the beneficiary account receiving this transfer.`}),deductionId:z$3.string().optional().meta({description:`Optional reference to a deduction record when this transfer represents money being held back from a previous negative payout.`}),deductionPayoutId:z$3.string().optional().meta({description:`Optional reference to the payout that originated this transfer when it represents an outstanding balance being carried forward.`})}),ya=z$3.enum([`UPCOMING`,`PENDING`,`PROCESSING`,`PAID`,`CANCELLED`]),xa=z$3.enum([`AIRWALLEX`,`STRIPE`,`MANUAL`]),Ca=z$3.enum([`DAILY`,`WEEKLY`,`AFTER_EVENT`]),Z=z$3.object({id:z$3.string().readonly().meta({examples:[F$2.Payout.id],description:`A unique identifier for this payout.`}),createdAt:z$3.iso.datetime().readonly().meta({examples:[F$2.Payout.createdAt],description:`Timestamp in ISO 8601 format when this payout was created.`}),updatedAt:z$3.iso.datetime().readonly().meta({examples:[F$2.Payout.updatedAt],description:`Timestamp in ISO 8601 format when this payout was last updated.`}),paidAt:z$3.iso.datetime().optional().meta({examples:[F$2.Payout.paidAt],description:`Timestamp in ISO 8601 format when this payout was completed.`}),status:ya.meta({examples:[`PAID`],description:`Current payment status of this payout.`}),method:xa.meta({examples:[`MANUAL`],description:`The payout channel used for disbursing funds.`}),approval:I$2.meta({examples:[`APPROVED`],description:`Approval status for this payout.`}),frequency:Ca.default(`AFTER_EVENT`).meta({examples:[`AFTER_EVENT`],description:`Schedule on which this payout is generated.`}),structure:z$3.string().meta({examples:[F$2.Payout.structure],description:`Data structure defining how funds are allocated in this payout.`}),transfers:z$3.array(va).meta({description:`List of individual transfer records included in this payout.`}),deductions:z$3.array(ha).meta({description:`List of deductions applied before calculating the payout total.`}),price:_a.meta({description:`Summary of amounts for transfers and deductions in this payout.`}),event:ga.meta({description:`Information about the event associated with this payout.`}),eventId:z$3.string().meta({examples:[F$2.Payout.eventId],description:`Identifier of the event for which this payout was generated.`}),teamId:z$3.string().meta({description:`Team receiving this payout. BREAKING CHANGE: Replaced promoterId/promoterSlug.`})}).meta({description:`payout`}),Ta=z$3.object({id:z$3.string().meta({examples:[F$2.Payout.id],description:`Unique identifier of the payout to approve for processing.`})});z$3.object({id:z$3.string().meta({examples:[F$2.Payout.id],description:`Unique identifier of the payout to reject.`}),reason:z$3.string().optional().meta({examples:[`Insufficient funds in account`],description:`Optional reason for rejecting the payout. This will be recorded for audit purposes.`})});z$3.object({id:z$3.string().meta({examples:[F$2.Payout.id],description:`Unique identifier of the payout to process and initiate transfers.`})});z$3.object({id:z$3.string().meta({examples:[F$2.Payout.id],description:`Unique identifier of the payout to retry transfer processing for.`})});const ka=z$3.object({name:z$3.string(),gateway:z$3.enum([`AIRWALLEX`,`STRIPE`,`FREE`]),message:z$3.string(),venues:z$3.array(z$3.string()).optional(),tenants:z$3.array(z$3.string()).optional(),teams:z$3.array(z$3.string()).optional(),min:z$3.number().optional(),max:z$3.number().optional(),percent:z$3.number().optional(),split:z$3.object({tenant:z$3.number(),promoter:z$3.number(),venue:z$3.number(),sessions:z$3.number()})}),Aa=z$3.object({tenant:z$3.number().meta({examples:[5e4],description:`Amount allocated to the tenant (platform) in cents. This represents the platform's share of the revenue.`}),venue:z$3.number().meta({examples:[25e3],description:`Amount allocated to the venue in cents. This represents the venue's share of the revenue from events held at their location.`}),promoter:z$3.number().meta({examples:[2e4],description:`Amount allocated to the promoter in cents. This represents the promoter's share of the revenue after fees and other deductions.`}),sessions:z$3.number().meta({examples:[3e3],description:`Amount allocated to Sessions platform commission in cents. This represents the platform's service fees.`}),tickets:z$3.number().meta({examples:[2e3],description:`Amount allocated to ticketing fees in cents. This represents fees charged for ticket processing and management.`})});z$3.object({payout:Z.meta({description:`Complete payout record containing all financial details and metadata for calculating beneficiary allocations.`}),feeStructure:ka.meta({description:`Fee structure configuration that defines how revenue is split between different parties (promoter, venue, platform, etc.).`}),split:Aa.meta({description:`Calculated split amounts showing how the payout total is divided among the different beneficiaries in cents.`})});const Ma=z$3.object({orders:z$3.number().meta({examples:[150],description:`Total number of orders included in this payout breakdown.`}),price:Mi.meta({description:`Aggregated price information for all orders included in this payout, showing total revenue, fees, and deductions.`}),split:Aa.meta({description:`How the total payout amount is split between different beneficiaries (tenant, venue, promoter, etc.) in cents.`}),structure:z$3.string().meta({examples:[`DEFAULT`],description:`Fee structure identifier that was used to calculate the payout split and allocations.`})}),Na=z$3.object({total:Ma.meta({description:`Summary totals for all orders included in this payout breakdown, including aggregated financial calculations.`}),orders:z$3.array(z$3.object({order:Li.meta({description:`Complete order information including customer details, items, and payment status.`}),price:Mi.meta({description:`Settled price information for this specific order, showing final amounts after refunds and adjustments.`}),split:Aa.meta({description:`How this individual order's revenue is split between different beneficiaries in cents.`}),structure:z$3.string().meta({examples:[`DEFAULT`],description:`Fee structure identifier used to calculate the split for this order.`})})).meta({description:`Detailed breakdown of individual orders included in this payout, showing how each order contributes to the total.`})});Z.pick({id:true,eventId:true}).extend({id:z$3.string().meta({examples:[F$2.Payout.id],description:`Unique identifier of the payout for which to retrieve the detailed breakdown.`}),eventId:z$3.string().meta({examples:[F$2.Event.id],description:`Unique identifier of the event associated with the payout breakdown.`})});const Fa=z$3.object({teamId:z$3.string().optional().meta({description:`Filter payouts by specific team unique identifier. BREAKING CHANGE: Replaced promoterId filter.`}),eventId:z$3.string().optional().meta({examples:[F$2.Event.id],description:`Filter payouts by specific event unique identifier. When provided, only returns payouts for this event.`}),status:z$3.enum([`UPCOMING`,`PENDING`,`PROCESSING`,`PAID`,`CANCELLED`]).optional().meta({examples:[`PAID`],description:`Filter payouts by payment status. UPCOMING: scheduled but not yet processed, PENDING: awaiting processing, PROCESSING: currently being processed, PAID: successfully completed, CANCELLED: cancelled before completion.`}),approval:I$2.optional().meta({examples:[`APPROVED`],description:`Filter payouts by approval status. PENDING: awaiting approval, APPROVED: approved for processing, REJECTED: rejected and will not be processed.`}),query:z$3.string().optional().meta({examples:[`PAID venue:sydney`],description:`Optional search query to filter payouts by text fields. When provided, search-backed pagination is used.`}),limit:(()=>z$3.coerce.number().min(1).max(100).prefault(20).meta({examples:[20],description:`Maximum number of payouts to return per request. Must be between 1 and 100. Defaults to 20.`}))().optional(),cursor:z$3.string().optional().meta({examples:[`eyJpZCI6InBheV8wMWpwczVjZ3NmdjJ3cmU2aGQwcmM0dzR0OCJ9`],description:`Pagination cursor for continuing to fetch subsequent results. Use the cursor from the previous response to continue.`})}).meta({description:`Schema for listing payouts with optional filtering, search, and cursor-based pagination`});Fa.extend({from:z$3.string().date().meta({examples:[`2025-01-01`],description:`Start date for the counting period in YYYY-MM-DD format. Only payouts created on or after this date will be included in the count. Inclusive of the entire day.`}),to:z$3.string().date().meta({examples:[`2025-01-31`],description:`End date for the counting period in YYYY-MM-DD format. Only payouts created before or on this date will be included in the count. Inclusive of the entire day.`})});Z.pick({eventId:true,teamId:true,method:true,frequency:true}).partial({method:true,frequency:true}).meta({description:`Schema for creating a new payout record`}).extend({eventId:z$3.string().meta({examples:[F$2.Event.id],description:`Unique identifier of the event for which the payout is being created`}),teamId:z$3.string().meta({examples:[`tem_01jqpjksnsen9vprw95et60t2m`],description:`Unique identifier of the team who will receive the payout`}),method:z$3.enum([`AIRWALLEX`,`STRIPE`,`MANUAL`]).optional().meta({examples:[`AIRWALLEX`],description:`Optional payment method for the payout. Defaults to promoter's preferred method if not specified`}),frequency:z$3.enum([`DAILY`,`WEEKLY`,`AFTER_EVENT`]).optional().meta({examples:[`AFTER_EVENT`],description:`Optional payout frequency. Defaults to 'AFTER_EVENT' if not specified`})});const Ra=Z.pick({id:true}).extend({id:z$3.string().meta({examples:[F$2.Payout.id],description:`Unique identifier of the payout to retrieve.`})}),za=K$2(Z,`payouts`),Ba=z$3.object({payout:Z,breakdown:Na}),Va=z$3.record(z$3.string(),z$3.record(z$3.string(),z$3.object({net:z$3.number(),total:z$3.number(),gross:z$3.number(),base:z$3.number(),booking:z$3.number(),shipping:z$3.number(),refunded:z$3.number(),discount:z$3.number(),gateway:z$3.number(),dispute:z$3.number(),deductions:z$3.number()}))).meta({description:`Payout statistics grouped by period (current/previous) and currency`,examples:[{current:{USD:{net:1e5,total:12e4,gross:115e3,base:11e4,booking:5e3,shipping:0,refunded:0,discount:5e3,gateway:3e3,dispute:0,deductions:2e3}},previous:{USD:{net:8e4,total:95e3,gross:9e4,base:85e3,booking:5e3,shipping:0,refunded:0,discount:5e3,gateway:2500,dispute:0,deductions:1500}}}]}),Ha=z$3.object({teamId:z$3.string().optional().meta({description:`Filter stats by team ID`}),promoterId:z$3.string().optional().meta({description:`DEPRECATED: Use teamId instead. Filter stats by promoter ID (mapped to team internally)`}),startDate:z$3.string().optional().meta({description:`Start date for stats period (YYYY-MM-DD)`}),endDate:z$3.string().optional().meta({description:`End date for stats period (YYYY-MM-DD)`})});Z.pick({id:true}).merge(Z.pick({status:true,approval:true,paidAt:true}).partial()).extend({id:z$3.string().meta({examples:[F$2.Payout.id],description:`Unique identifier of the payout to update.`}),status:z$3.enum([`UPCOMING`,`PENDING`,`PROCESSING`,`PAID`,`CANCELLED`]).optional().meta({examples:[`PAID`],description:`Optional new payment status for the payout. UPCOMING: scheduled but not processed, PENDING: awaiting processing, PROCESSING: currently being processed, PAID: successfully completed, CANCELLED: cancelled.`}),approval:I$2.optional().meta({examples:[`APPROVED`],description:`Optional new approval status for the payout. PENDING: awaiting approval, APPROVED: approved for processing, REJECTED: rejected.`}),paidAt:z$3.iso.datetime().optional().meta({examples:[F$2.Payout.paidAt],description:`Optional timestamp in ISO 8601 format when the payout was completed. Set when status changes to PAID.`})});const Wa=z$3.enum([`PROMOTER`,`VENUE`]).meta({description:`Type of permission scope. PROMOTER: applies to all events by a specific promoter. VENUE: applies to all events at a specific venue.`}),Ga=z$3.object({id:z$3.string().readonly().meta({description:`Unique identifier for the permission scope`}),createdAt:z$3.iso.datetime().readonly().meta({description:`Timestamp in ISO 8601 format when the scope was created`}),updatedAt:z$3.iso.datetime().readonly().meta({description:`Timestamp in ISO 8601 format when the scope was last updated`}),teamMemberId:z$3.string().meta({description:`Team member this scope applies to`}),teamId:z$3.string().meta({description:`Team the member belongs to`}),userId:z$3.string().meta({description:`ID of the user this permission scope applies to`}),permissions:z$3.array(Ot).meta({description:`Scoped permissions. Can be empty array to remove all access. Replaces lower-tier permissions based on kind (VENUE overrides PROMOTER overrides BASE).`}),tenantId:z$3.string().readonly().meta({description:`Tenant identifier`})}),Ka=Ga.extend({kind:z$3.literal(`PROMOTER`).meta({description:`Scope type: PROMOTER-specific permissions`}),promoterId:z$3.string().meta({description:`Promoter this scope applies to. Replaces base permissions for all events by this promoter.`})}).meta({description:`PROMOTER-specific permission scope. Applies to all events by the specified promoter.`}),qa=Ga.extend({kind:z$3.literal(`VENUE`).meta({description:`Scope type: VENUE-specific permissions`}),venueId:z$3.string().meta({description:`Venue this scope applies to. Replaces base/promoter permissions for all events at this venue.`})}).meta({description:`VENUE-specific permission scope. Applies to all events at the specified venue.`}),Ja=z$3.discriminatedUnion(`kind`,[Ka,qa]).meta({description:`Permission scope for a team member. Can be PROMOTER-specific (applies to all events by that promoter) or VENUE-specific (applies to all events at that venue). Replaces lower-tier permissions using REPLACE semantics.`}),Ya=z$3.object({teamMemberId:z$3.string().meta({description:`Team member this scope applies to`}),teamId:z$3.string().meta({description:`Team the member belongs to`}),userId:z$3.string().meta({description:`ID of the user this permission scope applies to`}),permissions:z$3.array(Ot).meta({description:`Scoped permissions. Can be empty array to remove all access. Replaces lower-tier permissions based on kind (VENUE overrides PROMOTER overrides BASE).`})}),Xa=Ya.extend({kind:z$3.literal(`PROMOTER`).meta({description:`Scope type: PROMOTER-specific permissions`}),promoterId:z$3.string().meta({description:`Promoter this scope applies to. Replaces base permissions for all events by this promoter.`})}).meta({description:`Create a PROMOTER-specific permission scope. Applies to all events by the specified promoter.`}),Za=Ya.extend({kind:z$3.literal(`VENUE`).meta({description:`Scope type: VENUE-specific permissions`}),venueId:z$3.string().meta({description:`Venue this scope applies to. Replaces base/promoter permissions for all events at this venue.`})}).meta({description:`Create a VENUE-specific permission scope. Applies to all events at the specified venue.`}),Qa=z$3.discriminatedUnion(`kind`,[Xa,Za]).meta({description:`Schema for creating a new permission scope. Must specify kind (PROMOTER or VENUE) and corresponding ID.`}),$a=z$3.object({id:wt.meta({description:`Unique identifier for the permission scope`})}).meta({description:`Schema for retrieving a single permission scope by ID`}),eo=z$3.object({teamMemberId:z$3.string().optional().meta({description:`Filter by team member ID`}),userId:z$3.string().optional().meta({description:`Filter by user ID`}),kind:Wa.optional().meta({description:`Filter by scope kind (PROMOTER or VENUE)`}),promoterId:z$3.string().optional().meta({description:`Filter by promoter ID (only for kind=PROMOTER scopes)`}),venueId:z$3.string().optional().meta({description:`Filter by venue ID (only for kind=VENUE scopes)`}),limit:(()=>z$3.coerce.number().min(1).max(100).default(20).meta({description:`Maximum number of permission scopes to return (1-100, defaults to 20)`}))(),cursor:z$3.string().optional().meta({description:`Pagination cursor from previous response. Used to fetch next page of results`})}).meta({description:`Query parameters for listing permission scopes with pagination and filtering`}),to=K$2(Ja,`items`).meta({description:`Paginated response containing permission scopes with cursor for next page`}),no=z$3.object({permissions:z$3.array(Ot).meta({description:`Scoped permissions. Can be empty array to remove all access. Replaces lower-tier permissions based on kind (VENUE overrides PROMOTER overrides BASE).`})}).meta({description:`Schema for updating an existing permission scope. Only permissions array can be modified.`}),ro=z$3.enum([`DAILY`,`WEEKLY`,`AFTER_EVENT`]),ao=z$3.enum([`AIRWALLEX`,`STRIPE`]),Q$1=z$3.object({id:H$2.readonly().meta({examples:[F$2.Promoter.id],description:`Unique identifier for the promoter organization`}),createdAt:z$3.iso.datetime().readonly().meta({examples:[F$2.Promoter.createdAt],description:`Timestamp in ISO 8601 format when the promoter was created`}),updatedAt:z$3.iso.datetime().readonly().meta({examples:[F$2.Promoter.updatedAt],description:`Timestamp in ISO 8601 format when the promoter was last updated`}),name:z$3.string().min(3).max(30).meta({examples:[F$2.Promoter.name],description:`Display name of the promoter organization. Must be between 3 and 30 characters`}),slug:z$3.string().min(3).max(30).meta({examples:[F$2.Promoter.slug],description:`URL-friendly slug for the promoter organization. Must be unique and between 3 and 30 characters`}),teamId:R$2.meta({examples:[`tem_01jqpjksnsen9vprw95et60t2m`],description:`ID of the team that owns this promoter. Establishes team-based organization and permissions.`}),description:z$3.string().meta({examples:[F$2.Promoter.description],description:`Detailed description of the promoter organization and their events`}),approval:I$2.meta({examples:[F$2.Promoter.approval],description:`Approval status of the promoter. PENDING: awaiting review, APPROVED: can create events, REJECTED: cannot operate`}),payoutFrequency:ro.prefault(`AFTER_EVENT`).meta({examples:[F$2.Promoter.payoutFrequency],description:`How frequently payouts are processed. DAILY: every day, WEEKLY: once per week, AFTER_EVENT: after each event concludes`}),image:U$2.optional().meta({description:`Optional promotional image for the promoter organization with dimensions and alt text`}),location:Fr.meta({description:`Primary location details for the promoter including address, coordinates, and timezone`}),geohash:z$3.string().meta({examples:[F$2.Promoter.geohash],description:`Geohash encoding of the promoter's location for efficient spatial queries`}),tracking:z$3.object({fbId:z$3.string().optional().meta({examples:[F$2.Promoter.tracking.fbId],description:`Facebook pixel ID for tracking conversions and analytics`}),gtmId:z$3.string().optional().meta({examples:[F$2.Promoter.tracking.gtmId],description:`Google Tag Manager container ID for web analytics`}),tikTokId:z$3.string().optional().meta({examples:[F$2.Promoter.tracking.tikTokId],description:`TikTok pixel ID for advertising and conversion tracking`})}).optional().meta({description:`Optional tracking configuration for analytics and advertising platforms`}),gateway:ao.meta({examples:[`AIRWALLEX`],description:`Payment gateway provider used for processing transactions. AIRWALLEX or STRIPE`}).optional(),gatewayId:z$3.string().meta({examples:[`ben_12345abcde67890`],description:`External identifier in the payment gateway system`}).optional(),metadata:Dt}).meta({description:`Promoter organization with location, approval status, and payment configuration`}),so=z$3.object({key:z$3.string().min(1).meta({description:`Promoter key - either a unique ID (pmt_xxx format) or URL-friendly slug`,examples:[F$2.Promoter.id,F$2.Promoter.slug]})}).meta({description:`Request schema for retrieving a promoter by either its unique ID or slug`});Q$1.pick({slug:true});const lo=Q$1.omit({id:true,createdAt:true,updatedAt:true,geohash:true,approval:true,payoutFrequency:true,location:true}).extend({teamId:z$3.string().meta({examples:[`tem_01jqpjksnsen9vprw95et60t2m`],description:`ID of the team that will own this promoter. User must be a member of this team.`}),slug:z$3.string().min(3).max(30).optional().meta({examples:[F$2.Promoter.slug],description:`URL-friendly slug for the promoter organization. If not provided, will be automatically generated from the name. Must be unique and between 3 and 30 characters`}),locationId:B$2.optional().meta({examples:[`loc_01jqpjksnsen9vprw95et60t2m`],description:`ID of an existing location. Either locationId or googlePlaceId must be provided.`}),googlePlaceId:z$3.string().optional().meta({examples:[`ChIJN1t_tDeuEmsRUsoyG83frY4`],description:`Google Place ID to create a new location from. Either locationId or googlePlaceId must be provided.`})}).refine(e=>e.locationId||e.googlePlaceId,{message:`Either locationId or googlePlaceId must be provided`}).meta({description:`Schema for creating a new promoter organization. The system automatically generates the ID, tenant association, geohash, and timestamps`}),uo=z$3.object({key:z$3.string().min(1).meta({description:`Promoter key - either a unique ID (pmt_xxx format) or URL-friendly slug`,examples:[F$2.Promoter.id,F$2.Promoter.slug]})}).meta({description:`Schema for removing (soft deleting) a promoter organization by key (ID or slug)`});Q$1.pick({id:true}).meta({description:`Schema for retrieving a specific promoter by ID`});const po=e=>{if(e!=null){if(typeof e==`string`){let t=e.trim();if(t.length===0)return;let n=Number(t);return Number.isNaN(n)?e:n}return e}},mo=z$3.object({teamId:z$3.string().optional().meta({description:`Filter promoters to only those belonging to a specific team`}),approval:I$2.optional().meta({examples:[F$2.Promoter.approval],description:`Filter promoters by approval status. PENDING: awaiting review, APPROVED: can create events, REJECTED: cannot operate`}),query:z$3.string().optional().meta({examples:[`Session Services`],description:`Optional search query. When provided, results are fetched from search with unified cursor pagination.`}),latitude:z$3.coerce.number().min(-90).max(90).optional().meta({examples:[F$2.Promoter.location.latitude],description:`Latitude used with longitude and radius to filter promoters by proximity when searching.`}),longitude:z$3.coerce.number().min(-180).max(180).optional().meta({examples:[F$2.Promoter.location.longitude],description:`Longitude used with latitude and radius to filter promoters by proximity when searching.`}),radius:z$3.coerce.number().optional().meta({examples:[50],description:`Search radius in kilometers applied when latitude and longitude are provided.`}),mine:z$3.coerce.boolean().optional().meta({examples:[true],description:`When true, limits results to promoters from teams the current user belongs to. When combined with teamId, returns only that team's promoters (bypassing tenant-wide admin scope).`}),limit:(()=>z$3.preprocess(po,z$3.number().min(1).max(100).prefault(20)).meta({examples:[20],description:`Maximum number of promoters to return (1-100, defaults to 20)`}))().optional(),cursor:z$3.string().optional().meta({examples:[`eyJpZCI6InByb18wMWpxcGprc25zZW45dnBydzk1ZXQ2MHQybSJ9`],description:`Opaque cursor for pagination. Use the cursor from the previous response to continue fetching results.`})}).meta({description:`Schema for listing promoters with optional filtering by team, full-text search, and cursor pagination`}),ho=K$2(Q$1,`promoters`),go=z$3.object({promoter:Q$1}),_o=Q$1.omit({createdAt:true,updatedAt:true,id:true,location:true}).partial().extend({key:z$3.string().min(1).meta({description:`Promoter key - either a unique ID (pmt_xxx format) or URL-friendly slug`,examples:[F$2.Promoter.id,F$2.Promoter.slug]}),locationId:B$2.optional().meta({examples:[`loc_01jqpjksnsen9vprw95et60t2m`],description:`ID of an existing location to update to. Either locationId or googlePlaceId can be provided.`}),googlePlaceId:z$3.string().optional().meta({examples:[`ChIJN1t_tDeuEmsRUsoyG83frY4`],description:`Google Place ID to update location from. Either locationId or googlePlaceId can be provided.`}),image:U$2.nullable().optional().meta({description:`Promoter image. Pass null to clear; omit to leave unchanged.`,examples:[F$2.Promoter.image,null]}),tracking:z$3.object({fbId:z$3.string().optional(),gtmId:z$3.string().optional(),tikTokId:z$3.string().optional()}).nullable().optional().meta({description:`Analytics tracking config. Pass null to clear all tracking; omit to leave unchanged.`}),gateway:ao.nullable().optional().meta({description:`Payment gateway. Pass null to clear; omit to leave unchanged.`}),gatewayId:z$3.string().nullable().optional().meta({description:`Payment gateway ID. Pass null to clear; omit to leave unchanged.`})}).meta({description:`Schema for updating an existing promoter.`}),vo=z$3.object({key:z$3.string().meta({description:`Team identifier (ID or slug)`}),inviteId:z$3.string().meta({description:`Team invite ID to accept`}),token:z$3.string().meta({description:`Secure token used to accept the team invite. This token must match the one sent in the invitation email.`})}),yo=z$3.object({id:R$2.readonly().meta({description:`Unique identifier for the team organization`}),createdAt:z$3.iso.datetime().readonly().meta({description:`Timestamp in ISO 8601 format when the team was created`}),updatedAt:z$3.iso.datetime().readonly().meta({description:`Timestamp in ISO 8601 format when the team was last updated`}),name:z$3.string().min(3).max(30).meta({description:`Display name of the team organization. Must be between 3 and 30 characters`}),slug:z$3.string().min(3).max(30).meta({description:`URL-friendly slug for the team organization. Must be unique within tenant and between 3 and 30 characters`}),supportEmail:z$3.string().email().optional().meta({description:`Support email address for customer inquiries. Used as reply-to address in order confirmation emails`}),image:U$2.optional().meta({description:`Team image with dimensions and alt text for branding across the platform`}),metadata:Dt,approval:I$2.meta({description:`Approval status of the team. PENDING: awaiting review, APPROVED: can create promoters/venues/events, REJECTED: cannot operate`}),deletedAt:z$3.iso.datetime().optional().readonly().meta({description:`Timestamp in ISO 8601 format when the team was soft deleted. Only present for deleted teams.`}),tenantId:z$3.string().readonly().meta({description:`Tenant ID for multi-tenant isolation`}),isAdmin:z$3.boolean().optional().meta({description:`Whether this team is the admin team for the tenant`})}).meta({description:`Team organization that owns promoters and venues. Multiple brands can exist under one team.`});yo.extend({promoter:Q$1.meta({description:`The primary promoter brand associated with this team`})}).meta({description:`Team organization with its primary promoter brand included for convenience`});const xo=yo.extend({member:z$3.object({permissions:At.meta({description:`Permissions the current user has for this team. Controls access to team resources.`,examples:[[`EVENT`,`ORDER`],[`FULL`],[`SCANNING`]]}),isOwner:z$3.boolean().meta({description:`Whether the current user is the owner of this team. Owners have full control.`})}).optional().meta({description:`Current user's membership details for this team. Present when user is a member.`})}).meta({description:`Team organization with the current user's membership details`}),So=z$3.object({key:z$3.string().min(1).meta({description:`Team key - either a unique ID (tem_xxx format) or URL-friendly slug`,examples:[F$2.Team.id,F$2.Team.slug]})}).meta({description:`Request schema for retrieving a team by either its unique ID or slug`}),Co=yo.omit({id:true,tenantId:true,createdAt:true,updatedAt:true,deletedAt:true}).extend({slug:z$3.string().min(3).max(30).optional().meta({description:`URL-friendly slug for the team organization. If not provided, will be automatically generated from the name. Must be unique within tenant and between 3 and 30 characters`}),approval:yo.shape.approval.optional().meta({description:`Approval status of the team. Defaults to PENDING if not specified.`})}).meta({description:`Schema for creating a new team organization. The system automatically generates the ID, tenant association, and timestamps`});z$3.object({id:R$2.meta({description:`Team ID to delete`})});z$3.object({id:R$2.meta({description:`Team ID to retrieve`})});const $$1=z$3.object({id:xt.readonly().meta({description:`Unique identifier for the team member`}),createdAt:z$3.iso.datetime().readonly().meta({description:`Timestamp in ISO 8601 format when the member was created`}),updatedAt:z$3.iso.datetime().readonly().meta({description:`Timestamp in ISO 8601 format when the member was last updated`}),teamId:R$2.meta({description:`Team this member belongs to`}),userId:V$2.meta({description:`User ID of the team member`}),user:z$3.object({id:V$2.meta({description:`Unique identifier of the user`}),email:z$3.email().meta({description:`Email address of the user`}),firstName:z$3.string().meta({description:`First name of the user`}),lastName:z$3.string().meta({description:`Last name of the user`}),imageUrl:z$3.string().optional().meta({description:`Profile image URL of the user`})}).meta({description:`Denormalized user details for quick access without additional queries.`}),permissions:z$3.array(Ot).optional().meta({description:`Base permissions across the team. Can be overridden per promoter or venue. Undefined means no base permissions (permissions come from PermissionScope only).`,examples:[[`EVENT`,`ORDER`],[`FULL`],[`SCANNING`]]}),isOwner:z$3.boolean().meta({description:`Whether this member is the owner of the team. Only one owner per team is allowed. Owner has full control and cannot be deleted.`}),tenantId:z$3.string().readonly().meta({description:`Tenant ID for multi-tenant isolation`})}).meta({description:`Active team member with base permissions. Permissions can be overridden per promoter or venue. Created when a user accepts an invitation or is directly added to a team.`}),Eo=z$3.object({id:St.readonly().meta({description:`Unique identifier for the team invitation`}),createdAt:z$3.iso.datetime().readonly().meta({description:`Timestamp in ISO 8601 format when the invitation was created`}),updatedAt:z$3.iso.datetime().readonly().meta({description:`Timestamp in ISO 8601 format when the invitation was last updated`}),teamId:R$2.meta({description:`Team this invitation is for`}),email:z$3.email().meta({description:`Email address of the invited user. Used for sending invitation.`}),permissions:At.meta({description:`Permissions the user will receive upon accepting the invitation. Can be overridden per promoter or venue.`,examples:[[`EVENT`,`ORDER`],[`FULL`],[`SCANNING`]]}),token:z$3.string().readonly().meta({description:`Secure token for invite acceptance. Required to accept the invitation.`}),expiresAt:z$3.number().int().positive().meta({description:`Unix timestamp (seconds) for DynamoDB TTL. Invitation will be automatically deleted after 7 days.`}),invitedBy:V$2.meta({description:`User ID who sent the invitation`}),tenantId:z$3.string().readonly().meta({description:`Tenant ID for multi-tenant isolation`})}).meta({description:`Pending team invitation. Automatically deleted after 7 days via DynamoDB TTL. When accepted, creates a TeamMember record and deletes the invitation.`}),Do=z$3.object({key:z$3.string().meta({description:`Team identifier (ID or slug)`}),inviteId:z$3.string().meta({description:`Team invite ID to cancel`})}),Oo=z$3.object({key:z$3.string().meta({description:`Team identifier (ID or slug)`}),email:z$3.email().meta({description:`Email address of the user to invite`}),permissions:At.meta({description:`Permissions to grant to the invited user`,examples:[[`EVENT`,`ORDER`],[`FULL`],[`SCANNING`]]})}),ko=z$3.object({key:z$3.string().meta({description:`Team identifier (ID or slug)`}),inviteId:St.meta({description:`Team invite ID to retrieve`})}),Ao=z$3.object({key:z$3.string().meta({description:`Team identifier (ID or slug)`}),query:z$3.string().optional().meta({description:`Search query to filter invitations by email. Case-insensitive partial match`}),limit:z$3.number().int().min(1).max(100).default(20).optional().meta({description:`Maximum number of invitations to return per page`}),cursor:z$3.string().optional().meta({description:`Pagination cursor for fetching the next page`})}),jo=K$2(Eo,`invites`),Mo=j$1.route({method:`GET`,path:`/teams/{key}/invites`,summary:`List pending team invitations with cursor-based pagination`,description:`Returns pending team invitations for a specific team. Team key can be ID or slug. These are email-based invitations that have not yet been accepted.`,tags:[`Team Invites`]}).input(Ao.strict()).output(jo),No=j$1.route({method:`GET`,path:`/teams/{key}/invites/{inviteId}`,summary:`Get pending invitation by ID`,description:`Retrieve a pending team invitation by its ID. Team key can be ID or slug.`,tags:[`Team Invites`]}).input(ko.strict()).output(Eo),Po=j$1.route({method:`POST`,path:`/teams/{key}/invites`,summary:`Create a team invitation`,description:`Invite a user to join a team by email. Team key can be ID or slug. Creates a pending invitation with a secure token that expires in 7 days. The invited user will receive an email with an acceptance link.`,tags:[`Team Invites`]}).input(Oo.strict()).output(Eo),Fo=j$1.route({method:`PATCH`,path:`/teams/{key}/invites/{inviteId}`,summary:`Accept a team invitation`,description:`Accept a pending team invitation using the secure token. Team key can be ID or slug. This deletes the invitation and creates an active TeamMember record. Returns the newly created team member.`,tags:[`Team Invites`]}).input(vo.strict()).output($$1),Io=j$1.route({method:`POST`,path:`/teams/{key}/invites/{inviteId}/resend`,summary:`Resend invitation email`,description:`Resend the invitation email with a new token and extended expiry. Team key can be ID or slug. Useful when the original invitation has expired or was not received.`,tags:[`Team Invites`]}).input(ko.strict()).output(Eo),Lo=j$1.route({method:`DELETE`,path:`/teams/{key}/invites/{inviteId}`,summary:`Cancel a pending invitation`,description:`Cancel a pending team invitation before it is accepted. Team key can be ID or slug. Deletes the invitation record.`,tags:[`Team Invites`]}).input(Do.strict()).output(Eo);var Ro={list:Mo,get:No,create:Po,accept:Fo,resend:Io,cancel:Lo};const zo=z$3.object({userId:V$2.optional().meta({description:`Filter teams by user membership. If omitted, returns all teams (tenant admin only). If provided, returns teams where the specified user is a member`}),approval:I$2.optional().meta({description:`Filter teams by approval status. PENDING: awaiting review, APPROVED: can operate, REJECTED: cannot operate`}),query:z$3.string().optional().meta({description:`Optional search query for filtering teams by name or slug`}),limit:(()=>z$3.coerce.number().min(1).max(100).prefault(20).meta({description:`Maximum number of teams to return (1-100, defaults to 20)`}))(),cursor:z$3.string().optional().meta({description:`Pagination cursor from previous response. Used to fetch next page of results`})}).meta({description:`Query parameters for listing teams with pagination and filtering`}),Bo=K$2(xo,`teams`),Vo=yo.omit({tenantId:true,createdAt:true,updatedAt:true,id:true}).partial().extend({key:z$3.string().min(1).meta({description:`Team key - either a unique ID (tem_xxx format) or URL-friendly slug`,examples:[F$2.Team.id,F$2.Team.slug]}),supportEmail:z$3.string().email().nullable().optional().meta({description:`Support email for customer inquiries. Pass null to clear, omit to leave unchanged.`}),image:U$2.nullable().optional().meta({description:`Team image. Pass null to clear, omit to leave unchanged.`})}).meta({description:`Schema for updating an existing team organization. Pass null to clear optional fields.`}),Ho=$$1.omit({id:true,tenantId:true,createdAt:true,updatedAt:true,user:true,teamId:true}).extend({key:z$3.string().meta({description:`Team identifier (ID or slug)`})}).meta({description:`Schema for adding an existing user to a team. Requires userId of an existing user account.`}),Uo=z$3.object({key:z$3.string().meta({description:`Team identifier (ID or slug)`}),userId:z$3.string().meta({description:`User ID of the team member to retrieve`})}),Wo=z$3.object({key:z$3.string().meta({description:`Team identifier (ID or slug)`}),query:z$3.string().optional().meta({description:`Search query to filter members by name or email. Case-insensitive partial match`}),limit:(()=>z$3.coerce.number().min(1).max(100).prefault(20).meta({description:`Maximum number of team members to return (1-100, defaults to 20)`}))(),cursor:z$3.string().optional().meta({description:`Pagination cursor from previous response. Used to fetch next page of results`})}).meta({description:`Query parameters for listing active team members with pagination and search`}),Go=K$2($$1,`members`),Ko=z$3.object({key:z$3.string().meta({description:`Team identifier (ID or slug)`}),newOwnerId:z$3.string().meta({description:`Team member ID of the new owner. This member must already exist with ACTIVE status.`})}).meta({description:`Schema for transferring team ownership from the current owner to another active team member.`}),qo=z$3.object({previousOwner:$$1.meta({description:`The previous owner (now a regular member with FULL permissions)`}),newOwner:$$1.meta({description:`The new owner (now has isOwner: true)`})}).meta({description:`Response payload for team ownership transfer operation`}),Jo=z$3.object({id:z$3.string().meta({description:`Team member ID to update`}),permissions:At.optional().meta({description:`Update base permissions. Must contain at least one permission. Cannot be empty array.`}),isOwner:z$3.boolean().optional().meta({description:`Whether this team member is an owner of the team`})}).meta({description:`Schema for updating team member base permissions and ownership status. Cannot update teamId or userId.`});const Xo=j$1.route({method:`GET`,path:`/teams/{key}/members/{userId}`,summary:`Get team member by user ID`,description:`Retrieve a team member using the team key (ID or slug) and user ID`,tags:[`Team Members`]}).input(Uo.strict()).output($$1),Zo=j$1.route({method:`GET`,path:`/teams/{key}/members`,summary:`List team members with cursor-based pagination`,description:`Returns active team members for a specific team with cursor pagination. Team key can be ID or slug. For pending invitations, use the team invites endpoint instead.`,tags:[`Team Members`]}).input(Wo.strict()).output(Go),Qo=j$1.route({method:`POST`,path:`/teams/{key}/members`,summary:`Add an existing user to a team`,description:`Directly add an existing user to a team. Team key can be ID or slug. Must have at least one permission. To invite a new user by email, use the team invites endpoint instead.`,tags:[`Team Members`]}).input(Ho.strict()).output($$1),$o=j$1.route({method:`PATCH`,path:`/teams/{key}/members/{userId}`,summary:`Update a team member's permissions`,description:`Update an existing active team member. Team key can be ID or slug. Can modify permissions. Cannot modify isOwner (use transfer endpoint instead).`,tags:[`Team Members`]}).input(Jo.extend({key:z$3.string(),userId:z$3.string()}).strict()).output($$1),es=j$1.route({method:`DELETE`,path:`/teams/{key}/members/{userId}`,summary:`Remove a team member`,description:`Remove an active member from a team. Team key can be ID or slug. Cannot remove the team owner (transfer ownership first). To cancel pending invitations, use the team invites endpoint.`,tags:[`Team Members`]}).input(Uo.strict()).output($$1),ts=j$1.route({method:`POST`,path:`/teams/{key}/transfer`,summary:`Transfer team ownership`,description:`Transfer team ownership from the current owner to another active member. Team key can be ID or slug. Only the current owner can perform this action. Previous owner retains FULL permissions but loses isOwner status.`,tags:[`Team Members`]}).input(Ko.strict()).output(qo);var ns={get:Xo,list:Zo,create:Qo,update:$o,remove:es,transfer:ts},rs={"promoter-signups":{key:`promoter-signups`,description:`Allow public promoter account registration. When disabled, promoters can only join via invitation`,defaultValue:false},"event-approval":{key:`event-approval`,description:`Allow event approval. When disabled, events are automatically approved`,defaultValue:true},"region-filtering":{key:`region-filtering`,description:`Enable region-based event filtering and location-aware features`,defaultValue:false}},is={id:`tnt_01hk153x00en6tvgwwwhn8xj1p`,oldId:`p8npi2s3t24arpunzp2e7dzaq`,name:`Mixmag Australia/New Zealand`,slug:`mixmag-anz`,email:`hello@session.services`,adminTeamId:`tem_01hr9kk2pgez2s8jzb3gs5nwsf`,legacyTenantsToTeams:{clhvrnqph0000m9rq039hkw7s:`tem_01kach7nntfvmbtfttvvqfgwbz`,"6kh3sj8ih5tvg927rz5elm90o":`tem_01kach7nnvfvmbtfv6ytq65hek`,vc8vrjrv5arhabnk8ainx0ycb:`tem_01kach7nnvfvmbtfvb3cv5fhpe`,clkwbixsi0000m9coi7i5b65z:`tem_01kach7nnvfvmbtfvgtgkb47kc`},defaultCurrency:`AUD`,baseUrl:{dev:`http://mixmag-anz.localhost:3000`,production:`https://beta.mixmag.au`,sandbox:`https://beta.sandbox.mixmag.au`},logo:{icon:{src:`https://assets.session.services/tenants/mixmag-anz/icon.png`,width:500,height:500},email:{src:`https://assets.session.services/tenants/mixmag-anz/logo-light.png`,darkSrc:`https://assets.session.services/tenants/mixmag-anz/logo-dark.png`,width:200,height:48},website:{src:`https://assets.session.services/tenants/mixmag-anz/logo.svg`,width:400,height:96},qr:{src:`https://assets.session.services/tenants/mixmag-anz/mixmag-qr.svg`}},favicon:`https://assets.session.services/tenants/mixmag-anz/favicon.svg`,features:{"promoter-signups":true,"region-filtering":true},wallet:{apple:{logoUrl:`https://assets.session.services/tenant/mixmag-anz/wallet/logo.png`,logo2xUrl:`https://assets.session.services/tenant/mixmag-anz/wallet/logo@2x.png`,iconUrl:`https://assets.session.services/tenant/mixmag-anz/wallet/icon.png`,icon2xUrl:`https://assets.session.services/tenant/mixmag-anz/wallet/icon@2x.png`}},apps:{ios:`https://apps.apple.com/app/sessions-ticket-scanner/id6740039073`,android:`https://play.google.com/store/apps/details?id=services.session.scanner`}},as={id:`tnt_01hk153x00ee4sgh15mp929k20`,oldId:`pivep2xeyvznoqat0h8fswhjc`,name:`Mixmag Asia`,slug:`mixmag-asia`,email:`tickets@mixmag.asia`,adminTeamId:`tem_01hp417148fjbbabfka01qxyk4`,defaultCurrency:`HKD`,baseUrl:{dev:`http://mixmag-asia.local:3000`,production:`https://mixmag-asia.app.session.services`},logo:{icon:{src:`https://assets.session.services/tenants/mixmag-asia/icon.png`,width:500,height:500},email:{src:`https://assets.session.services/icon-bg.png`,darkSrc:`https://assets.session.services/icon-bg.png`,width:165,height:76},website:{src:`https://assets.session.services/icon-bg.png`,width:165,height:76},qr:{src:`https://assets.session.services/tenants/mixmag-asia/qr.svg`}},favicon:`https://assets.dev.session.services/tenants/mixmag-asia/favicon.svg`,features:{"promoter-signups":true,"region-filtering":true},wallet:{apple:{logoUrl:`https://assets.dev.session.services/wallet-assets/tenants/mixmag-anz/logo.png`,logo2xUrl:`https://assets.dev.session.services/wallet-assets/tenants/mixmag-anz/logo@2x.png`,iconUrl:`https://assets.dev.session.services/wallet-assets/tenants/mixmag-anz/icon.png`,icon2xUrl:`https://assets.dev.session.services/wallet-assets/tenants/mixmag-anz/icon@2x.png`}}},os={id:`tnt_01k4ycprfhfvgaq1evbtretmdg`,name:`Racquet Club`,slug:`racquet-club`,email:`sydney@racquetclub.com.au`,adminTeamId:`tem_01k4ws58yrfvhsygmypqj5m93w`,defaultCurrency:`AUD`,baseUrl:{dev:`http://racquet-club.local:3000`,production:`https://racquet-club.session.services`},logo:{icon:{src:`https://assets.session.services/tenants/racquet-club/icon.png`,width:500,height:500},email:{src:`https://racquetclub.com.au/wp-content/uploads/2024/05/racquetclub-logo.png`,darkSrc:`https://racquetclub.com.au/wp-content/uploads/2024/05/racquetclub-logo.png`,width:443,height:185},website:{src:`https://racquetclub.com.au/wp-content/uploads/2024/05/racquetclub-logo.png`,width:443,height:185},qr:{src:`https://assets.session.services/tenants/racquet-club/qr.svg`}},favicon:`https://assets.dev.session.services/tenants/racquet-club/favicon.svg`,features:{"promoter-signups":false,"region-filtering":true}};const ss=[{id:`tnt_01jqpj2t2kfvmstt6f6tzkbaf2`,oldId:`none`,name:`Session Services`,slug:`session-services`,email:`hello@session.services`,adminTeamId:`tem_01jqpjksnsen9vprw95et60t3m`,defaultCurrency:`AUD`,baseUrl:{dev:`http://localhost:3000`,production:`https://beta.session.services`,sandbox:`https://beta.sandbox.session.services`},logo:{icon:{src:`https://assets.session.services/tenants/session-services/icon.png`,width:500,height:500},email:{src:`https://assets.session.services/tenants/session-services/logo-light.png`,darkSrc:`https://assets.session.services/tenants/session-services/logo-dark.png`,width:200,height:92},website:{src:`https://assets.session.services/tenants/session-services/logo.svg`,width:400,height:184},qr:{src:`https://assets.session.services/tenants/session-services/qr.svg`}},favicon:`https://assets.session.services/tenants/session-services/favicon.svg`,features:{"promoter-signups":true,"region-filtering":true},wallet:{apple:{logoUrl:`https://assets.session.services/tenant/session-services/wallet/logo.png`,logo2xUrl:`https://assets.session.services/tenant/session-services/wallet/logo@2x.png`,iconUrl:`https://assets.session.services/tenant/session-services/wallet/icon.png`,icon2xUrl:`https://assets.session.services/tenant/session-services/wallet/icon@2x.png`}}},is,as,os],cs=new Map,ls=new Map,us=new Map,ds=new Map;function fs(e){return e.replace(/^https?:\/\//,``).replace(/\/.*$/,``)}function ps(e){return e.replace(/:\d+$/,``)}for(let e of ss){if(cs.set(e.id,e),ls.set(e.slug,e),e.oldId&&ds.set(e.oldId,e),e.baseUrl.dev){let t=fs(e.baseUrl.dev);us.set(t,e),us.set(ps(t),e);}if(e.baseUrl.sandbox){let t=fs(e.baseUrl.sandbox);us.set(t,e),us.set(ps(t),e);}if(e.baseUrl.production){let t=fs(e.baseUrl.production);us.set(t,e),us.set(ps(t),e);}}const ms=new Map;for(let[e,t]of Object.entries(rs))ms.set(e,t);const hs=z$3.object({key:z$3.string().meta({description:`Unique feature identifier key, typically kebab-case`,examples:[`new-checkout`,`beta-features`,`mobile-app`]}),description:z$3.string().meta({description:`Human-readable description of what this feature flag controls`,examples:[`Enable the new checkout flow with improved UX`,`Enable beta features for testing`]}),defaultValue:z$3.boolean().meta({description:`Default boolean state when feature flag is not overridden`,examples:[true,false]})}).meta({description:`Feature flag schema for validating individual feature flag definitions`,examples:[{key:`new-checkout`,description:`Enable the new checkout flow with improved UX`,defaultValue:false}]});z$3.record(z$3.string(),hs).meta({description:`Complete feature flags configuration as a key-value record mapping feature flag identifiers to their definitions`,examples:[{"new-checkout":{key:`new-checkout`,description:`Enable new checkout flow`,defaultValue:false},"beta-features":{key:`beta-features`,description:`Enable beta features for testing`,defaultValue:true}}]});const gs=z$3.enum([`COUNTRY`,`STATE`,`CITY`,`VENUE`]);const _s=z$3.object({id:z$3.string().meta({description:`Unique region identifier`,examples:[`australia`,`nsw`,`sydney`]}),name:z$3.string().meta({description:`Display name of the region`,examples:[`Australia`,`New South Wales`,`Sydney`]}),slug:z$3.string().meta({description:`URL-safe slug for the region`,examples:[`australia`,`nsw`,`sydney`]}),kind:gs.meta({description:`Geographic classification kind`,examples:[`COUNTRY`,`STATE`,`CITY`,`VENUE`]}),parentId:z$3.string().optional().meta({description:`Optional parent region ID for hierarchical relationships`,examples:[`australia`,`nsw`]}),latitude:z$3.number().min(-90).max(90).optional().meta({description:`Optional latitude coordinate for the region center`,examples:[-33.8688,-33.7751]}),longitude:z$3.number().min(-180).max(180).optional().meta({description:`Optional longitude coordinate for the region center`,examples:[151.2093,151.107]}),radius:z$3.number().optional().default(20).meta({description:`Search radius in kilometers, defaults to 20 if not specified`,examples:[20,25,50]}),enabled:z$3.boolean().meta({description:`Whether the region is currently enabled/active`,examples:[true,false]}),order:z$3.number().meta({description:`Numeric order for sorting regions in displays`,examples:[1,2,3]})}).meta({description:`Region schema for validating geographic regions with hierarchical support`,examples:[{id:`sydney`,name:`Sydney`,slug:`sydney`,kind:`CITY`,parentId:`nsw`,latitude:-33.8688,longitude:151.2093,radius:25,enabled:true,order:1}]});z$3.object({id:z$3.string().meta({description:`Unique tenant identifier`,examples:[`tnt_01jqpj2t2kfvmstt6f6tzkbaf2`]}),oldId:z$3.string().optional().meta({description:`Legacy tenant identifier for migration purposes`,examples:[`none`]}),name:z$3.string().meta({description:`Display name of the tenant organization`,examples:[`Session Services`]}),slug:z$3.string().meta({description:`URL-safe slug for the tenant`,examples:[`session-services`]}),email:z$3.string().email().meta({description:`Administrative contact email address`,examples:[`hello@session.services`]}),adminTeamId:z$3.string().meta({description:`Identifier of the admin team whose members have cross-team permissions`,examples:[`tem_01jqpjksnsen9vprw95et60t2m`]}),legacyTenantsToTeams:z$3.record(z$3.string(),z$3.string()).optional().meta({description:`Mapping of legacy tenant oldId values to their corresponding team IDs (for tenants that were converted to teams)`,examples:[{clhvrnqph0000m9rq039hkw7s:`tem_01k5sashm1xmaganzteam0001`,"6kh3sj8ih5tvg927rz5elm90o":`tem_01k6blankm1xmaganzteam002`}]}),defaultCurrency:z$3.string().meta({description:`Default currency code for the tenant (e.g., 'USD', 'EUR')`,examples:[`AUD`]}),baseUrl:z$3.object({dev:z$3.string().optional().meta({description:`Development environment URL`,examples:[`http://localhost:3000`]}),sandbox:z$3.string().optional().meta({description:`Sandbox environment URL`,examples:[`https://app.sandbox.session.services`]}),production:z$3.string().optional().meta({description:`Production environment URL`,examples:[`https://app.session.services`]})}).meta({description:`Environment-specific base URLs`}),logo:z$3.object({icon:z$3.object({src:z$3.string().meta({description:`URL to the icon image`,examples:[`https://assets.session.services/tenants/session-services/icon.png`]}),width:z$3.number().meta({description:`Width of the icon in pixels`,examples:[500]}),height:z$3.number().meta({description:`Height of the icon in pixels`,examples:[500]})}).meta({description:`Icon configuration for the tenant`}),email:z$3.object({src:z$3.string().meta({description:`URL to the email logo image`,examples:[`https://assets.session.services/logos/email.png`]}),darkSrc:z$3.string().optional().meta({description:`URL to the dark mode email logo image`,examples:[`https://assets.session.services/logos/email-dark.png`]}),width:z$3.number().meta({description:`Width of the email logo in pixels`,examples:[150]}),height:z$3.number().meta({description:`Height of the email logo in pixels`,examples:[75]})}).meta({description:`Logo settings for email templates`}),website:z$3.object({src:z$3.string().meta({description:`URL to the website logo image`,examples:[`https://assets.session.services/logos/website.png`]}),width:z$3.number().meta({description:`Width of the website logo in pixels`,examples:[200]}),height:z$3.number().meta({description:`Height of the website logo in pixels`,examples:[100]})}).meta({description:`Logo settings for website display`}),qr:z$3.object({src:z$3.string().meta({description:`URL to the QR code logo image (optimized for small sizes)`,examples:[`https://assets.session.services/tenants/mixmag-anz/mixmag-qr.svg`]})}).meta({description:`Logo settings for QR code center image`})}).meta({description:`Logo configuration for different contexts`}),favicon:z$3.string().meta({description:`URL to the favicon image`,examples:[`https://assets.session.services/tenants/session-services/favicon.svg`]}),features:z$3.record(z$3.string(),z$3.boolean()).meta({description:`Optional feature flag overrides mapping feature keys to boolean values`,examples:[{"new-checkout":true,"beta-features":false}]}).optional(),wallet:z$3.object({apple:z$3.object({logoUrl:z$3.string().url().optional().meta({description:`URL to processed logo image (1x, 80x25px)`,examples:[`https://assets.session.services/wallet-assets/tenants/tnt_01jqpj2t2kfvmstt6f6tzkbaf2/logo.png`]}),logo2xUrl:z$3.string().url().optional().meta({description:`URL to processed logo image (2x, 160x50px)`,examples:[`https://assets.session.services/wallet-assets/tenants/tnt_01jqpj2t2kfvmstt6f6tzkbaf2/logo@2x.png`]}),iconUrl:z$3.string().url().optional().meta({description:`URL to processed icon image (1x, 29x29px)`,examples:[`https://assets.session.services/wallet-assets/tenants/tnt_01jqpj2t2kfvmstt6f6tzkbaf2/icon.png`]}),icon2xUrl:z$3.string().url().optional().meta({description:`URL to processed icon image (2x, 58x58px)`,examples:[`https://assets.session.services/wallet-assets/tenants/tnt_01jqpj2t2kfvmstt6f6tzkbaf2/icon@2x.png`]})}).optional().meta({description:`Pre-processed assets for Apple Wallet passes (logo and icon, both 1x and 2x)`})}).optional().meta({description:`Wallet configuration for mobile wallet passes`}),apps:z$3.object({ios:z$3.string().url().optional().meta({description:`iOS App Store URL for the tenant's mobile app`,examples:[`https://apps.apple.com/app/sessions/id123456789`]}),android:z$3.string().url().optional().meta({description:`Google Play Store URL for the tenant's mobile app`,examples:[`https://play.google.com/store/apps/details?id=com.sessions.app`]})}).optional().meta({description:`Mobile app store URLs for promoting app downloads to event organizers`})}).meta({description:`Tenant configuration schema for validating complete tenant settings including identity, branding, URLs, and feature flags`,examples:[{id:`tnt_01jqpj2t2kfvmstt6f6tzkbaf2`,oldId:`none`,name:`Session Services`,slug:`session-services`,email:`hello@session.services`,adminTeamId:`tem_01jqpjksnsen9vprw95et60t2m`,defaultCurrency:`AUD`,baseUrl:{dev:`http://localhost:3000`,production:`https://app.session.services`},logo:{icon:{src:`https://assets.session.services/tenants/session-services/icon.png`,width:500,height:500},email:{src:`https://assets.session.services/logos/email.png`,width:150,height:75},website:{src:`https://assets.session.services/logos/website.png`,width:200,height:100},qr:{src:`https://assets.session.services/tenants/session-services/qr.svg`}},favicon:`https://assets.session.services/tenants/session-services/favicon.svg`,features:{"new-checkout":true,"beta-features":false}}]});const vs=new Map([[`tnt_01jqpj2t2kfvmstt6f6tzkbaf2`,[{id:`rgn_01k2sv1ddzesmrym079hzw06h8`,name:`Australia`,slug:`australia`,enabled:true,order:1,kind:`COUNTRY`},{id:`rgn_01k2sv1ddzesmrym0enmyhdtxs`,name:`New South Wales`,slug:`nsw`,enabled:true,order:1,parentId:`rgn_01k2sv1ddzesmrym079hzw06h8`,kind:`STATE`},{id:`rgn_01k2sv1ddzesmrym0hvj4ms6wh`,name:`Sydney`,slug:`sydney`,enabled:true,order:1,parentId:`rgn_01k2sv1ddzesmrym0enmyhdtxs`,latitude:-33.8688,longitude:151.2093,kind:`CITY`},{id:`rgn_01k2sv1ddzesmrym0vezgd1xjm`,name:`Victoria`,slug:`victoria`,enabled:true,order:2,parentId:`rgn_01k2sv1ddzesmrym079hzw06h8`,kind:`STATE`},{id:`rgn_01k2sv1ddzesmrym11c64mmpxm`,name:`Melbourne`,slug:`melbourne`,enabled:true,order:2,parentId:`rgn_01k2sv1ddzesmrym0vezgd1xjm`,latitude:-37.8136,longitude:144.9631,kind:`CITY`},{id:`rgn_01k2sv1ddzesmrym1e3pbk81es`,name:`Queensland`,slug:`queensland`,enabled:true,order:3,parentId:`rgn_01k2sv1ddzesmrym079hzw06h8`,kind:`STATE`},{id:`rgn_01k2sv1ddzesmrym1mxb6te1px`,name:`Brisbane`,slug:`brisbane`,enabled:true,order:3,parentId:`rgn_01k2sv1ddzesmrym1e3pbk81es`,latitude:-27.4698,longitude:153.0251,kind:`CITY`}]],[`tnt_01hk153x00en6tvgwwwhn8xj1p`,[{id:`rgn_01k2sv1ddzesmrym079hzw06h8`,name:`Australia`,slug:`australia`,enabled:true,order:1,kind:`COUNTRY`},{id:`rgn_01k2sv1ddzesmrym0enmyhdtxs`,name:`New South Wales`,slug:`nsw`,enabled:true,order:1,parentId:`rgn_01k2sv1ddzesmrym079hzw06h8`,kind:`STATE`},{id:`rgn_01k2sv1ddzesmrym0hvj4ms6wh`,name:`Sydney`,slug:`sydney`,enabled:true,order:1,parentId:`rgn_01k2sv1ddzesmrym0enmyhdtxs`,latitude:-33.8688,longitude:151.2093,kind:`CITY`},{id:`rgn_01k2sv1ddzesmrym0vezgd1xjm`,name:`Victoria`,slug:`victoria`,enabled:true,order:2,parentId:`rgn_01k2sv1ddzesmrym079hzw06h8`,kind:`STATE`},{id:`rgn_01k2sv1ddzesmrym11c64mmpxm`,name:`Melbourne`,slug:`melbourne`,enabled:true,order:2,parentId:`rgn_01k2sv1ddzesmrym0vezgd1xjm`,latitude:-37.8136,longitude:144.9631,kind:`CITY`},{id:`rgn_01k2sv1ddzesmrym1e3pbk81es`,name:`Queensland`,slug:`queensland`,enabled:true,order:3,parentId:`rgn_01k2sv1ddzesmrym079hzw06h8`,kind:`STATE`},{id:`rgn_01k2sv1ddzesmrym1mxb6te1px`,name:`Brisbane`,slug:`brisbane`,enabled:true,order:3,parentId:`rgn_01k2sv1ddzesmrym1e3pbk81es`,latitude:-27.4698,longitude:153.0251,kind:`CITY`},{id:`rgn_01k2sv1ddzesmrym1stdjswc9t`,name:`New Zealand`,slug:`new-zealand`,enabled:true,order:2,kind:`COUNTRY`},{id:`rgn_01k2sv1ddzesmrym211cw0cgv2`,name:`Auckland`,slug:`auckland`,enabled:true,order:4,parentId:`rgn_01k2sv1ddzesmrym1stdjswc9t`,latitude:-36.8485,longitude:174.7633,kind:`CITY`}]],[`tnt_01hk153x00ee4sgh15mp929k20`,[{id:`rgn_01k2sv1de0esmrym2bmed8hdwr`,name:`Hong Kong`,slug:`hong-kong`,enabled:true,order:1,latitude:22.3193,longitude:114.1694,kind:`CITY`},{id:`rgn_01k2sv1de0esmrym2jyqmx3zqq`,name:`Singapore`,slug:`singapore`,enabled:true,order:2,latitude:1.3521,longitude:103.8198,kind:`CITY`},{id:`rgn_01k2sv1de0esmrym2tv10tsqmd`,name:`Bangkok`,slug:`bangkok`,enabled:true,order:3,latitude:13.7563,longitude:100.5018,kind:`CITY`},{id:`rgn_01k2sv1de0esmrym32fj7p92nx`,name:`Tokyo`,slug:`tokyo`,enabled:true,order:4,latitude:35.6762,longitude:139.6503,kind:`CITY`},{id:`rgn_01k2sv1de0esmrym38dsy67mfn`,name:`Jakarta`,slug:`jakarta`,enabled:true,order:5,latitude:-6.2088,longitude:106.8456,kind:`CITY`}]],[`tnt_01k4ycprfhfvgaq1evbtretmdg`,[{id:`rgn_01k4wrdsw0e4as5ezmtaqe3em1`,name:`Moore Park`,slug:`moore-park`,enabled:true,order:1,parentId:`rgn_01k2sv1ddzesmrym0hvj4ms6wh`,address:`17 Park Road N`,postalCode:`2021`,email:`sydney@racquetclub.com.au`,latitude:-33.8893,longitude:151.2228,radius:1,kind:`VENUE`},{id:`rgn_01k4wrdsw0e4as5ezy5vtfmxak`,name:`Bondi Junction`,slug:`bondi-junction`,enabled:true,order:2,parentId:`rgn_01k2sv1ddzesmrym0hvj4ms6wh`,address:`500 Oxford St`,postalCode:`2022`,email:`bondi@racquetclub.com.au`,latitude:-33.8916,longitude:151.2505,radius:1,kind:`VENUE`},{id:`rgn_01k4wrdsw0e4as5f03mtj7135x`,name:`Canberra (Fyshwick)`,slug:`canberra-fyshwick`,enabled:true,order:1,parentId:`rgn_01k4wrdsvze4as5ezd1wbva68b`,address:`18 Nyrang St, Fyshwick`,postalCode:`2609`,email:`canberra@racquetclub.com.au`,latitude:-35.3289,longitude:149.174,radius:1,kind:`VENUE`}]]]),ys=new Map,bs=new Map;for(let[e,t]of Array.from(vs.entries())){let n=new Map,r=new Map;for(let e of t)e.enabled&&(n.set(e.slug,e),r.set(e.id,e));ys.set(e,n),bs.set(e,r);}const xs=z$3.object({tenant:z$3.object({id:z$3.string(),name:z$3.string(),slug:z$3.string(),adminTeamId:z$3.string(),legacyTenantsToTeams:z$3.record(z$3.string(),z$3.string()).optional(),features:z$3.record(z$3.string(),z$3.boolean()).optional(),defaultCurrency:z$3.string(),logo:z$3.object({email:z$3.object({src:z$3.string(),width:z$3.number(),height:z$3.number()}),website:z$3.object({src:z$3.string(),width:z$3.number(),height:z$3.number()})}),baseUrl:z$3.object({dev:z$3.string().optional(),production:z$3.string().optional()})}),regions:z$3.array(_s)}),Ss=z$3.object({regions:z$3.array(_s)}),Cs=z$3.object({id:z$3.string().meta({examples:[F$2.Admission.id],description:`Admission ID reference`}),name:z$3.string().meta({examples:[`VIP Access`,`General Admission`,`Early Bird`],description:`Admission type name at time of purchase`}),price:z$3.object({base:z$3.number().meta({description:`Base price in smallest currency unit (cents)`}),booking:z$3.number().meta({description:`Booking fee in smallest currency unit (cents)`}),currency:z$3.string().meta({examples:[`USD`,`EUR`,`GBP`],description:`ISO 4217 currency code`})}).meta({description:`Price snapshot at time of purchase`}),entryStartsAt:W$2.meta({description:`Wall clock time when ticket holder can enter (no timezone, displays same everywhere)`}),entryEndsAt:W$2.meta({description:`Wall clock time when entry period ends (no timezone, displays same everywhere)`})}).meta({description:`Admission details for this ticket`}),ws=z$3.object({firstName:z$3.string().meta({examples:[F$2.Customer.firstName],description:`First name of the ticket attendee`}),lastName:z$3.string().meta({examples:[F$2.Customer.lastName],description:`Last name of the ticket attendee`}),email:z$3.email().meta({examples:[F$2.Customer.email],description:`Email address of the ticket attendee`}),phone:z$3.string().meta({examples:[F$2.Customer.phone],description:`Phone number of the ticket attendee (optional)`}).optional()}).meta({description:`Attendee information for a ticket - can be edited by tenant admins. Defaults to the order customer details when ticket is created.`}),Ts=z$3.object({id:z$3.string().meta({examples:[F$2.Event.id],description:`Event ID reference`}),name:z$3.string().meta({examples:[F$2.Event.name],description:`The title of the event shown to attendees`}),slug:z$3.string().meta({examples:[F$2.Event.slug],description:`URL-friendly identifier for the event`}),location:Pr.meta({description:`Structured location details for the event`}),entryStartsAt:W$2.meta({examples:[F$2.Event.entryStartsAt],description:`Wall clock time when event entry begins (no timezone, displays same everywhere)`}),entryEndsAt:W$2.meta({examples:[F$2.Event.entryEndsAt],description:`Wall clock time when event entry ends (no timezone, displays same everywhere)`}),images:z$3.object({mobile:U$2.meta({description:`Mobile-optimized image for the event`}),desktop:U$2.meta({description:`Desktop-optimized image for the event`})})}).meta({description:`Event details for this ticket`}),Es=z$3.object({id:z$3.string().meta({examples:[F$2.User.id],description:`Unique identifier of the user who performed the ticket scan`}),firstName:z$3.string().meta({examples:[F$2.User.firstName],description:`First name of the user who performed the scan`}),lastName:z$3.string().meta({examples:[F$2.User.lastName],description:`Last name of the user who performed the scan`}),email:z$3.email().meta({examples:[F$2.User.email],description:`Email address of the user who performed the scan`})}).meta({description:`Information about the user who scanned a ticket`}),Ds=z$3.enum([`CHECK_IN`,`CHECK_OUT`]),ks=z$3.object({id:z$3.string().meta({examples:[F$2.TicketScan.id],description:`Unique identifier of the ticket scan record`}),scannedAt:z$3.iso.datetime().readonly().meta({examples:[F$2.TicketScan.scannedAt],description:`Timestamp when the ticket was scanned in ISO 8601 format`}),scannedById:z$3.string().meta({examples:[F$2.TicketScan.scannedById],description:`Unique identifier of the user who performed the scan`}),scannedBy:Es.meta({description:`Detailed information about the user who performed the scan`}),deviceId:z$3.string().meta({examples:[F$2.TicketScan.deviceId],description:`Unique identifier of the device used for scanning`}),kind:Ds.meta({examples:[`CHECK_IN`],description:`Type of scan operation: CHECK_IN for entry, CHECK_OUT for exit`})}).meta({description:`Record of a ticket scan operation including when, who, and what type of scan`}),As=z$3.object({id:z$3.string().meta({examples:[F$2.Section.id],description:`Section ID reference`}),name:z$3.string().meta({examples:[`Floor Section A`,`Balcony Left`,`VIP Lounge`],description:`Section name at time of purchase`}),location:z$3.object({name:z$3.string().meta({description:`Venue or location name`}),address:z$3.string().optional().meta({description:`Street address`}),city:z$3.string().optional().meta({description:`City name`}),state:z$3.string().optional().meta({description:`State or province`}),postcode:z$3.string().optional().meta({description:`Postal/ZIP code`}),country:z$3.string().optional().meta({description:`ISO country code`}),latitude:z$3.number().optional().meta({description:`Geographic latitude coordinate`}),longitude:z$3.number().optional().meta({description:`Geographic longitude coordinate`}),timeZone:z$3.string().optional().meta({examples:[`America/New_York`,`Europe/London`],description:`IANA timezone identifier`})}).meta({description:`Physical location details`})}).meta({description:`Section details for this ticket`}),js=z$3.enum([`ACTIVE`,`REDEEMED`,`REFUNDED`,`CANCELLED`]),Ns=z$3.object({id:z$3.string().readonly().meta({examples:[F$2.Ticket.id],description:`Unique identifier for the ticket`}),token:z$3.string().readonly().meta({examples:[F$2.Ticket.token],description:`Secure token for ticket verification and validation operations`}),createdAt:z$3.iso.datetime().readonly().meta({examples:[F$2.Ticket.createdAt],description:`Timestamp when the ticket was created in ISO 8601 format`}),updatedAt:z$3.iso.datetime().readonly().meta({examples:[F$2.Ticket.updatedAt],description:`Timestamp when the ticket was last updated in ISO 8601 format`}),scans:z$3.array(ks).meta({description:`Array of all scan records for this ticket (check-ins and check-outs)`}),status:js.meta({examples:[`ACTIVE`],description:`Current status of the ticket: ACTIVE (can be used), REDEEMED (already used), REFUNDED (money returned), CANCELLED (invalidated)`}),attendee:ws.meta({description:`Attendee information for this ticket - editable by tenant admins`}),customerId:z$3.string().meta({examples:[F$2.Ticket.customerId],description:`Unique identifier of the customer who purchased this ticket (read-only)`}),eventId:z$3.string().meta({examples:[F$2.Ticket.eventId],description:`Unique identifier of the event this ticket grants access to`}),event:Ts.meta({description:`Event details for this ticket`}),admissionId:z$3.string().meta({examples:[F$2.Ticket.admissionId],description:`Unique identifier of the admission type/tier this ticket represents`}),admission:Cs.meta({description:`Admission details for this ticket`}),section:As.optional().meta({description:`Section details for this ticket (if assigned to a section)`}),orderId:z$3.string().meta({examples:[F$2.Ticket.orderId],description:`Unique identifier of the order this ticket was purchased in`}),orderItemId:z$3.string().meta({examples:[F$2.Ticket.orderItemId],description:`Unique identifier of the specific order item this ticket represents (optional for legacy tickets)`}).optional(),teamId:z$3.string().meta({examples:[F$2.Ticket.teamId],description:`Team that owns this ticket. Denormalized for efficient queries.`}),promoterId:z$3.string().meta({examples:[F$2.Ticket.promoterId],description:`Unique identifier of the promoter/organizer who created this event`})}).meta({description:`A ticket represents a customer's admission to an event. It tracks the purchase, scanning history, and current status.`}),Ps=Ns.pick({status:true,admissionId:true,orderItemId:true}).extend({orderId:z$3.string().meta({examples:[F$2.Order.id],description:`The order this ticket belongs to`}),customerId:z$3.string().meta({examples:[F$2.Customer.id],description:`The customer who purchased this ticket`}),attendee:ws.optional().meta({description:`Optional attendee information - defaults to order customer details if not provided`})}).meta({description:`Schema for creating a new ticket - caller provides minimal input; derived fields are populated by the service`}),Fs=Ns.pick({id:true}).extend({token:z$3.string().optional().meta({examples:[F$2.Ticket.token],description:`Security token for ticket validation (optional)`})}).meta({description:`Schema for retrieving a specific ticket by ID with optional validation parameters`}),Is=z$3.object({promoterId:z$3.string().optional().meta({examples:[F$2.Promoter.id],description:`Filter tickets by promoter/organizer unique identifier (optional)`}),eventId:z$3.string().optional().meta({examples:[F$2.Event.id],description:`Filter tickets by event unique identifier (optional)`}),customerId:z$3.string().optional().meta({examples:[F$2.Customer.id],description:`Filter tickets by customer unique identifier (optional)`}),orderId:z$3.string().optional().meta({examples:[F$2.Order.id],description:`Filter tickets by order unique identifier (optional)`}),status:z$3.enum([`ACTIVE`,`REDEEMED`,`REFUNDED`,`CANCELLED`]).optional().meta({examples:[`ACTIVE`],description:`Filter tickets by status: ACTIVE (can be used), REDEEMED (already used), REFUNDED (money returned), CANCELLED (invalidated)`}),orderToken:z$3.string().optional().meta({examples:[F$2.Order.token],description:`Order token used to access tickets for a specific order without permissions`}),query:z$3.string().optional().meta({examples:[`John Doe`],description:`Optional search query to filter tickets by customer details. When provided, search-backed pagination is used.`}),limit:(()=>z$3.coerce.number().min(1).max(100).prefault(20).meta({examples:[20],description:`Maximum number of tickets to return per request (1-100, default: 20)`}))().optional(),cursor:z$3.string().optional().meta({examples:[`eyJpZCI6InRrdF8wMWpwczVjZ3NnMHMzMncycHI3M3ZiY2NkZSJ9`],description:`Pagination cursor for continuing to fetch subsequent results (optional)`})}).meta({description:`Schema for listing tickets with optional filtering, search, and cursor-based pagination`}),Ls=K$2(Ns,`tickets`),Rs=z$3.object({ticket:Ns}),zs=z$3.object({id:z$3.string().meta({examples:[F$2.Ticket.id],description:`Unique identifier for the ticket being scanned`}),token:z$3.string().meta({examples:[F$2.Ticket.token],description:`Security token for ticket validation`}),kind:z$3.enum([`CHECK_IN`,`CHECK_OUT`]).meta({examples:[`CHECK_IN`],description:`Type of scan operation - CHECK_IN for entry, CHECK_OUT for exit`}),deviceId:z$3.string().optional().meta({examples:[F$2.TicketScan.deviceId],description:`Unique identifier of the scanning device (optional)`})}).meta({description:`Schema for creating a ticket scan record - validates ticket and records check-in/check-out activity`}),Bs=z$3.enum([`ACTIVE`,`CANCELLED`]).describe(`Status updates allowed via PATCH: ACTIVE (reactivate), CANCELLED (void). REDEEMED is set via scan endpoint, REFUNDED via refund flow.`),Vs=z$3.object({id:z$3.string().meta({examples:[F$2.Ticket.id],description:`Unique identifier of the ticket to update`}),status:Bs.optional().meta({description:`Update ticket status: CANCELLED to void, ACTIVE to reactivate`}),attendee:ws.partial().nullable().optional().meta({description:`Attendee info. Pass object to set/update, null to clear, or omit to leave unchanged.`}),admissionId:z$3.string().optional().meta({examples:[F$2.Admission.id],description:`Change ticket type/admission (admission and section objects will be fetched from event and stored)`})}).meta({description:`Schema for updating a ticket.`}),Hs={id:F$2.User.id,createdAt:F$2.User.createdAt,updatedAt:F$2.User.updatedAt,email:F$2.User.email,firstName:F$2.User.firstName,lastName:F$2.User.lastName,imageUrl:`https://assets.session.services/examples/avatar.jpg`,tenantId:F$2.User.tenantId},Us=z$3.object({id:z$3.string().readonly().meta({description:`Unique identifier for the user`,examples:[F$2.User.id]}),createdAt:z$3.iso.datetime().readonly().meta({description:`ISO 8601 timestamp when the user account was created`,examples:[F$2.User.createdAt]}),updatedAt:z$3.iso.datetime().readonly().meta({description:`ISO 8601 timestamp when the user account was last updated`,examples:[F$2.User.updatedAt]}),email:z$3.email().meta({description:`User's email address, used for authentication and communication`,examples:[F$2.User.email]}),firstName:z$3.string().min(1).meta({description:`User's first name`,examples:[F$2.User.firstName]}),lastName:z$3.string().min(1).meta({description:`User's last name`,examples:[F$2.User.lastName]}),imageUrl:z$3.url().optional().meta({description:`Optional URL to the user's profile image or avatar`,examples:[`https://assets.session.services/examples/avatar.jpg`]}),metadata:z$3.record(z$3.string(),Et).optional().meta({description:`Arbitrary key-value metadata for storing user preferences and settings`,examples:[{"widgets:team_abc123":{visibleWidgets:[`revenue`]}}]})}).meta({ref:`User`,description:`User entity containing profile and audit information scoped to a specific tenant`,examples:[Hs]}),Ws=$$1.meta({ref:`MeTeamMember`,description:`Team membership for the current user with denormalized user details.`}),Gs=z$3.object({user:Us.nullable().meta({description:`Current authenticated user profile, null if not authenticated`}),isAdmin:z$3.boolean().meta({description:`Whether the current user has admin privileges for the tenant`}),members:z$3.array(Ws).meta({description:`All team memberships for the current user within this tenant.`})}).meta({ref:`MeResponse`,description:`Response payload for GET /users/me providing the current user, tenant admin status, and team memberships.`,examples:[{user:{id:`usr_01k5hbpkfje048zccqmqfhjpep`,createdAt:`2025-09-19T16:07:46.418Z`,updatedAt:`2025-09-19T16:07:46.418Z`,email:`j@1f.io`,firstName:`Jay`,lastName:`McMullen`,imageUrl:`https://assets.session.services/examples/avatar.jpg`},isAdmin:true,members:[{id:`mbr_01jps5cgsec5ge0b1bxa6gzkkk`,createdAt:`2025-09-25T03:25:46.080Z`,updatedAt:`2025-09-25T03:25:46.080Z`,teamId:`tem_01jqpjksnsen9vprw95et60t2m`,userId:`usr_01k5hbpkfje048zccqmqfhjpep`,user:{id:`usr_01k5hbpkfje048zccqmqfhjpep`,email:`j@1f.io`,firstName:`Jay`,lastName:`McMullen`,imageUrl:`https://assets.session.services/examples/avatar.jpg`},permissions:[`FULL`],isOwner:true,tenantId:`tnt_01abc123`}]}]}),Ks=z$3.object({id:z$3.string().readonly().meta({description:`Unique identifier for the venue`}),createdAt:z$3.iso.datetime().readonly().meta({description:`Timestamp in ISO 8601 format when the venue was created`}),updatedAt:z$3.iso.datetime().readonly().meta({description:`Timestamp in ISO 8601 format when the venue was last updated`}),teamId:z$3.string().meta({description:`Team that manages this venue`}),locationId:B$2.meta({examples:[`loc_01h2xk3j9k8m2n5p7q9r1s3t4v`],description:`Location identifier for this venue`}),googlePlaceId:z$3.string().optional().meta({examples:[`ChIJP3Sa8ziYEmsRUKgyFmh9AQM`],description:`Google Place ID when this venue is linked to a Google Places location`}),approval:I$2.meta({examples:[`APPROVED`],description:`Approval status of the venue`}),name:z$3.string().min(3).max(100).meta({description:`Display name of the venue. Must be between 3 and 100 characters`}),slug:z$3.string().min(3).meta({description:`URL-friendly slug for the venue. Must be unique within tenant`}),description:z$3.string().max(500).optional().meta({description:`Short description of the venue for listings and discovery`}),image:U$2.optional().meta({description:`Venue image`}),contact:z$3.object({email:z$3.email().optional().meta({description:`Public contact email for venue inquiries`}),phone:z$3.string().optional().meta({description:`Public contact phone number`}),website:z$3.url().optional().meta({description:`Venue website URL`}),instagram:z$3.string().optional().meta({description:`Instagram profile URL`}),facebook:z$3.string().optional().meta({description:`Facebook page URL`}),twitter:z$3.string().optional().meta({description:`Twitter/X profile URL`}),tiktok:z$3.string().optional().meta({description:`TikTok profile URL`}),youtube:z$3.string().optional().meta({description:`YouTube channel URL`})}).optional().meta({description:`Public contact information and social media links`}),location:Pr.omit({venueId:true}).meta({description:`Physical location details including address, coordinates, and timezone`}),geohash:z$3.string().meta({description:`Geohash encoding of the venue's location for efficient spatial queries`}),capacity:z$3.number().int().min(1).optional().meta({description:`Maximum capacity of the venue (number of attendees)`}),metadata:Dt,deletedAt:z$3.iso.datetime().readonly().optional().meta({description:`Timestamp in ISO 8601 format when the venue was soft-deleted. Null if not deleted`}),tenantId:z$3.string().readonly().meta({description:`Tenant ID for multi-tenant isolation`})}).meta({description:`Managed venue with custom branding and details. Teams can claim venues which then appear in location search results.`}),qs=Ks.omit({id:true,tenantId:true,createdAt:true,updatedAt:true,geohash:true,deletedAt:true,location:true,googlePlaceId:true,approval:true}).extend({slug:z$3.string().min(3).optional().meta({description:`URL-friendly slug for the venue. If not provided, will be automatically generated from the name. Must be unique within tenant`})}).meta({description:`Schema for creating a new venue. The system automatically derives location details and Google Place ID from the locationId`}),Js=z$3.object({key:z$3.string().min(1).meta({description:`Venue key - either a unique ID (ven_xxx format) or URL-friendly slug`,examples:[F$2.Venue.id,F$2.Venue.slug]})}),Ys=z$3.object({key:z$3.string().meta({examples:[F$2.Venue.id,F$2.Venue.slug],description:`Venue key - either a unique ID (ven_xxx format) or URL-friendly slug`})}),Xs=z$3.object({teamId:z$3.string().optional().meta({description:`Filter venues by owner team ID`}),query:z$3.string().optional().meta({description:`Optional search query for filtering venues by name or slug`}),latitude:z$3.coerce.number().min(-90).max(90).optional().meta({description:`Latitude for location-based search. Must be used with longitude`}),longitude:z$3.coerce.number().min(-180).max(180).optional().meta({description:`Longitude for location-based search. Must be used with latitude`}),radius:z$3.coerce.number().min(1).max(2e4).optional().meta({description:`Search radius in kilometers (1-20000). Requires latitude and longitude`}),limit:(()=>z$3.coerce.number().min(1).max(100).prefault(20).meta({description:`Maximum number of venues to return (1-100, defaults to 20)`}))(),cursor:z$3.string().optional().meta({description:`Pagination cursor from previous response. Used to fetch next page of results`})}).meta({description:`Query parameters for listing venues with pagination, filtering, and location-based search`}),Zs=K$2(Ks,`venues`).meta({description:`Paginated response containing venues with cursor for next page`}),Qs=Ks.omit({id:true,tenantId:true,teamId:true,createdAt:true,updatedAt:true,deletedAt:true,geohash:true}).partial().extend({key:z$3.string().meta({examples:[F$2.Venue.id,F$2.Venue.slug],description:`Venue key - either a unique ID (ven_xxx format) or URL-friendly slug`}),description:z$3.string().max(500).nullable().optional().meta({description:`Short description of the venue. Pass null to clear, omit to leave unchanged.`}),image:U$2.nullable().optional().meta({description:`Venue image. Pass null to clear, omit to leave unchanged.`}),capacity:z$3.number().int().min(1).nullable().optional().meta({description:`Maximum capacity. Pass null to clear, omit to leave unchanged.`}),contact:z$3.object({email:z$3.email().optional(),phone:z$3.string().optional(),website:z$3.url().optional(),instagram:z$3.string().optional(),facebook:z$3.string().optional(),twitter:z$3.string().optional(),tiktok:z$3.string().optional(),youtube:z$3.string().optional()}).nullable().optional().meta({description:`Contact information. Pass null to clear all contact fields, omit to leave unchanged.`}),googlePlaceId:z$3.string().nullable().optional().meta({description:`Google Place ID. Pass null to unlink from Google Places, omit to leave unchanged.`})}).meta({description:`Schema for updating an existing venue. Cannot change teamId (owner). Pass null to clear optional fields.`});
28
+
29
+ const dn=j$1.route({method:`GET`,path:`/events/{eventId}/admissions/{id}`,summary:`Get admission by ID`,tags:[`Admissions`]}).input(Pt.strict()).output(Ht),fn=j$1.route({method:`POST`,path:`/events/{eventId}/admissions`,summary:`Create a new admission`,tags:[`Admissions`]}).input(Mt.strict()).output(Ht),pn=j$1.route({method:`PUT`,path:`/events/{eventId}/admissions/{id}`,summary:`Update an admission`,tags:[`Admissions`]}).input(Ut.strict()).output(Ht);var mn={get:dn,list:j$1.route({method:`GET`,path:`/events/{eventId}/admissions`,summary:`List admissions`,description:`Returns admissions with cursor-based pagination. Automatically uses search-backed pagination when query parameter is provided for full-text search capabilities.`,tags:[`Admissions`]}).input(It.strict()).output(Rt),create:fn,update:pn,remove:j$1.route({method:`DELETE`,path:`/events/{eventId}/admissions/{id}`,summary:`Delete an admission`,tags:[`Admissions`]}).input(Nt.strict()).output(Ht),quote:j$1.route({method:`POST`,path:`/events/{eventId}/admissions/quote`,summary:`Create an admission quote`,tags:[`Admissions`]}).input(Bt.strict()).output(Vt)},hn={track:j$1.route({method:`POST`,path:`/analytics/track`,summary:`Track event`,tags:[`Analytics`]}).input($n$1).output(Qn$1),page:j$1.route({method:`POST`,path:`/analytics/page`,summary:`Page event`,tags:[`Analytics`]}).input($n$1).output(Qn$1),identify:j$1.route({method:`POST`,path:`/analytics/identify`,summary:`Identify event`,tags:[`Analytics`]}).input($n$1).output(Qn$1),alias:j$1.route({method:`POST`,path:`/analytics/alias`,summary:`Alias event`,tags:[`Analytics`]}).input($n$1).output(Qn$1),group:j$1.route({method:`POST`,path:`/analytics/group`,summary:`Group event`,tags:[`Analytics`]}).input($n$1).output(Qn$1),screen:j$1.route({method:`POST`,path:`/analytics/screen`,summary:`Screen event`,tags:[`Analytics`]}).input($n$1).output(Qn$1)};const gn=j$1.route({method:`GET`,path:`/beneficiaries/{id}`,summary:`Get beneficiary by ID`,tags:[`Beneficiaries`]}).input(cr$1.strict()).output(fr$1),_n=j$1.route({method:`POST`,path:`/beneficiaries`,summary:`Create a new beneficiary`,tags:[`Beneficiaries`]}).input(sr$1.strict()).output(fr$1);var vn={get:gn,list:j$1.route({method:`GET`,path:`/beneficiaries`,summary:`List beneficiaries with cursor-based pagination`,description:"Returns beneficiary data with cursor-based pagination and optional full-text search via the `query` parameter.",tags:[`Beneficiaries`]}).input(ur$1.strict()).output(dr$1),create:_n,remove:j$1.route({method:`DELETE`,path:`/beneficiaries/{id}`,summary:`Delete a beneficiary`,tags:[`Beneficiaries`]}).input(lr$1.strict()).output(fr$1)};const yn=j$1.route({method:`GET`,path:`/coupon-codes/{id}`,summary:`Get coupon code by ID`,tags:[`Coupon Codes`]}).input(vr.strict()).output(Er),bn=j$1.route({method:`POST`,path:`/coupon-codes`,summary:`Create a new coupon code`,tags:[`Coupon Codes`]}).input(xr.strict()).output(Er),xn=j$1.route({method:`PUT`,path:`/coupon-codes/{id}`,summary:`Update a coupon code`,tags:[`Coupon Codes`]}).input(Sr.strict()).output(Er);var Sn={get:yn,list:j$1.route({method:`GET`,path:`/coupon-codes`,summary:`List coupon codes with cursor-based pagination`,description:"Returns coupon code data with cursor-based pagination and optional full-text search via the `query` parameter.",tags:[`Coupon Codes`]}).input(wr.strict()).output(Tr),create:bn,update:xn,remove:j$1.route({method:`DELETE`,path:`/coupon-codes/{id}`,summary:`Delete a coupon code`,tags:[`Coupon Codes`]}).input(Cr.strict()).output(Er)};const Cn=j$1.route({method:`GET`,path:`/coupons/{id}`,summary:`Get coupon by ID`,tags:[`Coupons`]}).input(Or.strict()).output(Mr),wn=j$1.route({method:`POST`,path:`/coupons`,summary:`Create a new coupon`,tags:[`Coupons`]}).input(Dr.strict()).output(Mr),Tn=j$1.route({method:`PUT`,path:`/coupons/{id}`,summary:`Update a coupon`,tags:[`Coupons`]}).input(Nr.strict()).output(Mr);var En={get:Cn,list:j$1.route({method:`GET`,path:`/coupons`,summary:`List coupons with cursor-based pagination`,description:"Returns coupon data with cursor-based pagination and optional full-text search via the `query` parameter.",tags:[`Coupons`]}).input(Ar.strict()).output(jr),create:wn,update:Tn,remove:j$1.route({method:`DELETE`,path:`/coupons/{id}`,summary:`Delete a coupon`,tags:[`Coupons`]}).input(kr.strict()).output(Mr),code:Sn};const Dn=rn.extend({limit:z$3.coerce.number().min(1).max(100).optional().default(10)}),On=tn.extend({limit:z$3.coerce.number().min(1).max(100).optional().default(10)}),kn=on.extend({limit:z$3.coerce.number().min(1).max(100).optional().default(10)}),An=un.extend({limit:z$3.coerce.number().min(1).max(100).optional().default(10)}),jn=fn$1.extend({limit:z$3.coerce.number().min(1).max(100).optional().default(10)});var Mn={summary:j$1.route({method:`GET`,path:`/events/{eventId}/performance/summary`,summary:`Get event performance summary`,description:`Top-level KPI metrics with period comparison based on tracking events`,tags:[`Event Performance`]}).input(Wt).output(Gt),tickets:j$1.route({method:`GET`,path:`/events/{eventId}/performance/tickets`,summary:`Get ticket sales performance`,description:`Time series of ticket sales based on tracking events (aggregated counts only)`,tags:[`Event Performance`]}).input(Kt).output(qt),funnel:j$1.route({method:`GET`,path:`/events/{eventId}/performance/funnel`,summary:`Get sales funnel performance`,description:`Conversion funnel showing drop-off at each stage from tracking events`,tags:[`Event Performance`]}).input(Jt).output(Yt),campaigns:j$1.route({method:`GET`,path:`/events/{eventId}/performance/campaigns`,summary:`Get campaign performance`,description:`Marketing campaign metrics from tracking events (UTM campaign parameter)`,tags:[`Event Performance`]}).input(Dn).output(an),coupons:j$1.route({method:`GET`,path:`/events/{eventId}/performance/coupons`,summary:`Get coupon performance`,description:`Coupon usage and revenue from actual order data`,tags:[`Event Performance`]}).input(On).output(nn),mediums:j$1.route({method:`GET`,path:`/events/{eventId}/performance/mediums`,summary:`Get traffic medium performance`,description:`Performance by traffic medium (social, email, cpc) from tracking events`,tags:[`Event Performance`]}).input(kn).output(sn),devices:j$1.route({method:`GET`,path:`/events/{eventId}/performance/devices`,summary:`Get device performance`,description:`Performance breakdown by device type from tracking events`,tags:[`Event Performance`]}).input(cn).output(ln),locations:j$1.route({method:`GET`,path:`/events/{eventId}/performance/locations`,summary:`Get geographic performance`,description:`Performance by geographic location from tracking events`,tags:[`Event Performance`]}).input(An).output(dn$1),traffic:j$1.route({method:`GET`,path:`/events/{eventId}/performance/traffic`,summary:`Get traffic source performance`,description:`Top referral sources and channels from tracking events`,tags:[`Event Performance`]}).input(jn).output(pn$1),attendance:j$1.route({method:`GET`,path:`/events/{eventId}/performance/attendance`,summary:`Get event attendance statistics`,description:`Check-in statistics and attendance breakdown by admission and section`,tags:[`Event Performance`]}).input(mn$1).output(bn$1)};const Nn=j$1.route({method:`GET`,path:`/events/{key}`,summary:`Get event by ID or slug`,description:`Retrieve an event using either its unique ID or URL-friendly slug`,tags:[`Events`]}).input(Gr).output(Hr),Pn=j$1.route({method:`POST`,path:`/events`,summary:`Create a new event`,tags:[`Events`]}).input(Ur.strict()).output(Xr),Fn=j$1.route({method:`PUT`,path:`/events/{key}`,summary:`Update an event`,description:`Update an event using either its unique ID or URL-friendly slug`,tags:[`Events`]}).input(Zr.strict()).output(Xr);var In={get:Nn,list:j$1.route({method:`GET`,path:`/events`,summary:`List events`,description:`List events with filters for status, approval, visibility, and promoter. Supports full‑text search (query), geo search (latitude/longitude/radius), and cursor-based pagination.`,tags:[`Events`]}).input(Jr).output(Yr),create:Pn,update:Fn,remove:j$1.route({method:`DELETE`,path:`/events/{key}`,summary:`Delete an event`,description:`Delete an event using either its unique ID or URL-friendly slug`,tags:[`Events`]}).input(Wr.strict()).output(Xr),performance:Mn},Ln={get:j$1.route({method:`GET`,path:`/events/{eventId}/collaborators/{id}`,summary:`Get event collaborator by ID`,description:`Retrieve an active event collaboration by its unique ID. Returns the collaborator record with promoter and permission details.`,tags:[`Event Collaborators`]}).input(ni.strict()).output(Qr),list:j$1.route({method:`GET`,path:`/events/{eventId}/collaborators`,summary:`List active event collaborators with cursor-based pagination`,description:`Returns active event collaborations for a specific event with cursor pagination. Only shows accepted collaborators. For pending invitations, use the invite endpoints.`,tags:[`Event Collaborators`]}).input(ri.strict()).output(ii),create:j$1.route({method:`POST`,path:`/events/{eventId}/collaborators`,summary:`Invite a promoter to collaborate on an event`,description:`Send a collaboration invitation to a promoter (can be from a different team). Enables cross-team promoter-to-promoter collaboration. Creates a pending invitation with a secure token that expires in 7 days. The invited promoter must accept to create an active collaboration.`,tags:[`Event Collaborators`]}).input(ti.strict()).output(ei),accept:j$1.route({method:`POST`,path:`/events/{eventId}/collaborators/{id}/accept`,summary:`Accept an event collaboration invitation`,description:`Accept a pending event collaboration invitation. User must be a member of the invited promoter's team. Deletes the invitation and creates an active collaboration record.`,tags:[`Event Collaborators`]}).input($r.strict()).output(Qr),remove:j$1.route({method:`DELETE`,path:`/events/{eventId}/collaborators/{id}`,summary:`Remove active event collaboration`,description:`Remove an active collaboration (hard delete). Can be done by event team members or the collaborating team members. This completely removes access.`,tags:[`Event Collaborators`]}).input(ni.strict()).output(z$3.void())},Rn={placeAutocomplete:j$1.route({method:`GET`,path:`/internal/places/autocomplete`,summary:`Get place autocomplete suggestions`,tags:[`Internal`]}).input(ci.strict()).output(oi),placeDetails:j$1.route({method:`GET`,path:`/internal/places/{placeId}`,summary:`Get place details including timezone`,tags:[`Internal`]}).input(li.strict()).output(si),uploadImage:j$1.route({method:`POST`,path:`/internal/upload/image`,summary:`Upload and compress image`,description:`Upload an image file (PNG, JPEG, or SVG), optionally resize it, and compress it for web. SVG files are uploaded as-is without compression. Returns the uploaded image URL and metadata.`,tags:[`Internal`]}).input(ui.strict()).output(di)},zn={list:j$1.route({method:`GET`,path:`/locations`,summary:`Search for locations`,description:`Search for locations by query. Returns predictions with venue badges for locations that are managed venues on the platform. The query parameter is required.`,tags:[`Locations`]}).input(pi.strict()).output(hi),get:j$1.route({method:`GET`,path:`/locations/{key}`,summary:`Get location details`,description:`Fetch full location details including coordinates, timezone, and photo. Accepts location ID or provider identifier (e.g., Google Place ID). Uses cache-first strategy.`,tags:[`Locations`]}).input(fi.strict()).output(Fr)},Bn={create:j$1.route({method:`POST`,path:`/orders/{id}/notes`,summary:`Add note to order timeline (promoter only)`,description:`Add a user note to the order timeline. Note will be marked as editable by the author.`,tags:[`Orders`]}).input(Ri.strict()).output(oa),update:j$1.route({method:`PATCH`,path:`/orders/{id}/notes/{noteId}`,summary:`Update timeline note (author only)`,description:`Update a timeline note. Only the author can edit their own notes. System-generated entries cannot be edited.`,tags:[`Orders`]}).input(fa.strict()).output(oa),remove:j$1.route({method:`DELETE`,path:`/orders/{id}/notes/{noteId}`,summary:`Delete timeline note (author only)`,description:`Delete a timeline note. Only the author can delete their own notes. System-generated entries cannot be deleted.`,tags:[`Orders`]}).input(Wi.strict()).output(z$3.void())};const Vn=j$1.route({method:`GET`,path:`/orders/{id}`,summary:`Get order by ID`,tags:[`Orders`]}).input(Ki.strict()).output(oa),Hn=j$1.route({method:`GET`,path:`/orders`,summary:`List orders with cursor-based pagination`,description:"Returns order data with cursor-based pagination and optional full-text search via the `query` parameter.",tags:[`Orders`]}).input(zi.strict()).output(ta),Un=j$1.route({method:`POST`,path:`/orders/quote`,summary:`Create order quote`,tags:[`Orders`]}).input(ra.strict()).output(ia);var Wn={get:Vn,list:Hn,create:j$1.route({method:`POST`,path:`/orders`,summary:`Create a new order`,tags:[`Orders`]}).input(Ui.strict()).output(oa),update:j$1.route({method:`PUT`,path:`/orders/{id}`,summary:`Update an order`,tags:[`Orders`]}).input(da.strict()).output(oa),quote:Un,count:j$1.route({method:`GET`,path:`/orders/count`,summary:`Count orders`,tags:[`Orders`]}).input(Bi.strict()).output(Vi),stats:j$1.route({method:`GET`,path:`/orders/stats`,summary:`Get order statistics`,tags:[`Orders`]}).input(Bi.strict()).output(ua),resend:j$1.route({method:`POST`,path:`/orders/{id}/resend`,summary:`Resend tickets to customer`,description:`Resend order tickets to the customer's email. Optionally provide a different email address.`,tags:[`Orders`]}).input(aa.strict()).output(oa),note:Bn},Gn={get:j$1.route({method:`GET`,path:`/payouts/{id}`,summary:`Get payout by ID with breakdown`,tags:[`Payouts`]}).input(Ra.strict()).output(Ba),list:j$1.route({method:`GET`,path:`/payouts`,summary:`List payouts with cursor-based pagination`,description:"Returns payout data with cursor-based pagination and optional full-text search via the `query` parameter.",tags:[`Payouts`]}).input(Fa.strict()).output(za),stats:j$1.route({method:`POST`,path:`/payouts/stats`,summary:`Get payout statistics`,tags:[`Payouts`]}).input(Ha.strict()).output(Va),breakdown:j$1.route({method:`GET`,path:`/payouts/{payoutId}/breakdown`,summary:`Get payout breakdown`,tags:[`Payouts`]}).input(ma.strict()).output(Na),approve:j$1.route({method:`POST`,path:`/payouts/{id}/approve`,summary:`Approve a payout for processing`,tags:[`Payouts`]}).input(Ta.strict()).output(pa)},Kn={get:j$1.route({method:`GET`,path:`/teams/{teamId}/members/{memberId}/permission-scopes/{id}`,summary:`Get permission scope by ID`,description:`Retrieve a permission scope using its unique ID`,tags:[`Permission Scopes`]}).input(z$3.object({teamId:z$3.string(),memberId:z$3.string()}).merge($a).strict()).output(Ja),list:j$1.route({method:`GET`,path:`/teams/{teamId}/members/{memberId}/permission-scopes`,summary:`List permission scopes with cursor-based pagination`,description:`Returns permission scopes for a specific team member with cursor pagination. Can filter by kind (PROMOTER or VENUE).`,tags:[`Permission Scopes`]}).input(z$3.object({teamId:z$3.string(),memberId:z$3.string()}).merge(eo).strict()).output(to),create:j$1.route({method:`POST`,path:`/teams/{teamId}/members/{memberId}/permission-scopes`,summary:`Create a new permission scope`,description:`Create a permission scope for a team member. Can be PROMOTER-specific (applies to all events by that promoter) or VENUE-specific (applies to all events at that venue). Replaces lower-tier permissions.`,tags:[`Permission Scopes`]}).input(z$3.object({teamId:z$3.string(),memberId:z$3.string()}).and(Qa)).output(Ja),update:j$1.route({method:`PATCH`,path:`/teams/{teamId}/members/{memberId}/permission-scopes/{id}`,summary:`Update a permission scope`,description:`Update an existing permission scope. Only the permissions array can be modified.`,tags:[`Permission Scopes`]}).input(z$3.object({id:z$3.string(),teamId:z$3.string(),memberId:z$3.string()}).merge(no).strict()).output(Ja),remove:j$1.route({method:`DELETE`,path:`/teams/{teamId}/members/{memberId}/permission-scopes/{id}`,summary:`Delete a permission scope`,description:`Remove a permission scope. Team member will revert to lower-tier permissions for the affected resource.`,tags:[`Permission Scopes`]}).input(z$3.object({teamId:z$3.string(),memberId:z$3.string()}).merge($a).strict()).output(Ja)},qn={summary:j$1.route({method:`GET`,path:`/promoters/{promoterId}/performance/summary`,summary:`Get promoter performance summary`,description:`Overview KPIs for a single promoter based on tracking data (excludes entity-based data like payouts)`,tags:[`Promoter Performance`]}).input(xn$1).output(Sn$1),revenue:j$1.route({method:`GET`,path:`/promoters/{promoterId}/performance/revenue`,summary:`Get promoter revenue over time`,description:`Time-series data for revenue and tickets sold for a single promoter`,tags:[`Promoter Performance`]}).input(Cn$1).output(wn$1),events:j$1.route({method:`GET`,path:`/promoters/{promoterId}/performance/events`,summary:`Get promoter top events by tickets`,description:`Top events by ticket count for a single promoter`,tags:[`Promoter Performance`]}).input(Tn$1).output(En$1)};const Jn=j$1.route({method:`GET`,path:`/promoters/{key}`,summary:`Get promoter by ID or slug`,description:`Retrieve a promoter using either its unique ID or URL-friendly slug`,tags:[`Promoters`]}).input(so.strict()).output(go),Yn=j$1.route({method:`POST`,path:`/promoters`,summary:`Create a new promoter`,description:`Create a new promoter brand within a team`,tags:[`Promoters`]}).input(lo.strict()).output(go),Xn=j$1.route({method:`PUT`,path:`/promoters/{key}`,summary:`Update a promoter`,description:`Update a promoter using either its unique ID or URL-friendly slug`,tags:[`Promoters`]}).input(_o.strict()).output(go);var Zn={get:Jn,list:j$1.route({method:`GET`,path:`/promoters`,summary:`List promoters with cursor-based pagination`,description:`Returns promoters with cursor pagination. Filter by teamId to see promoters for a specific team.`,tags:[`Promoters`]}).input(mo.strict()).output(ho),create:Yn,update:Xn,remove:j$1.route({method:`DELETE`,path:`/promoters/{key}`,summary:`Delete a promoter`,description:`Delete a promoter using either its unique ID or URL-friendly slug`,tags:[`Promoters`]}).input(uo.strict()).output(go),performance:qn};const Qn=j$1.route({method:`GET`,path:`/events/{eventId}/sections/{id}`,summary:`Get section by ID`,tags:[`Sections`]}).input(Yi.strict()).output(Qi),$n=j$1.route({method:`POST`,path:`/events/{eventId}/sections`,summary:`Create a new section`,tags:[`Sections`]}).input(qi.strict()).output(Qi),er=j$1.route({method:`PUT`,path:`/events/{eventId}/sections/{id}`,summary:`Update a section`,tags:[`Sections`]}).input($i.strict()).output(Qi);var tr={get:Qn,list:j$1.route({method:`GET`,path:`/events/{eventId}/sections`,summary:`List sections`,description:`Returns sections with cursor-based pagination. Automatically uses search-backed pagination when query parameter is provided for full-text search capabilities.`,tags:[`Sections`]}).input(Xi.strict()).output(Zi),create:$n,update:er,remove:j$1.route({method:`DELETE`,path:`/events/{eventId}/sections/{id}`,summary:`Delete a section`,tags:[`Sections`]}).input(Ji.strict()).output(Qi)},nr={summary:j$1.route({method:`GET`,path:`/teams/{teamId}/performance/summary`,summary:`Get team performance summary`,description:`Overview KPIs aggregated across all promoters in the team, based on tracking data (excludes entity-based data like payouts)`,tags:[`Team Performance`]}).input(Dn$1).output(On$1),revenue:j$1.route({method:`GET`,path:`/teams/{teamId}/performance/revenue`,summary:`Get team revenue over time`,description:`Time-series data for revenue and tickets sold aggregated across all promoters in the team`,tags:[`Team Performance`]}).input(kn$1).output(An$1),funnel:j$1.route({method:`GET`,path:`/teams/{teamId}/performance/funnel`,summary:`Get team conversion funnel`,description:`Conversion funnel showing drop-off rates from product view to purchase, aggregated across all events in the team`,tags:[`Team Performance`]}).input(Fn$1).output(In$1),traffic:j$1.route({method:`GET`,path:`/teams/{teamId}/performance/traffic`,summary:`Get team traffic sources`,description:`Traffic source breakdown by campaign, medium, or source, aggregated across all events in the team`,tags:[`Team Performance`]}).input(Vn$1).output(Hn$1),events:j$1.route({method:`GET`,path:`/teams/{teamId}/performance/events`,summary:`Get team top events by tickets`,description:`Top events by ticket count, aggregated across all events in the team`,tags:[`Team Performance`]}).input(Nn$1).output(Pn$1),admissions:j$1.route({method:`GET`,path:`/teams/{teamId}/performance/admissions`,summary:`Get team top admissions by tickets`,description:`Top admission types by ticket count, aggregated across all events in the team`,tags:[`Team Performance`]}).input(zn$1).output(Bn$1),orders:j$1.route({method:`GET`,path:`/teams/{teamId}/performance/orders`,summary:`Get team orders distribution`,description:`Order counts grouped by time breakdown (hour, day of week, day, week, month)`,tags:[`Team Performance`]}).input(Ln$1).output(Rn$1),tracking:j$1.route({method:`GET`,path:`/teams/{teamId}/performance/tracking`,summary:`Get team tracking time series`,description:`Time-series tracking data (page views, add to cart, checkout, orders) aggregated at team or tenant level`,tags:[`Team Performance`]}).input(Un$1).output(Wn$1)},rr={get:j$1.route({method:`GET`,path:`/teams/{key}`,summary:`Get team by ID or slug`,description:`Retrieve a team with membership details. User must be a member of the team.`,tags:[`Teams`]}).input(So.strict()).output(yo),list:j$1.route({method:`GET`,path:`/teams`,summary:`List teams with cursor-based pagination`,description:`Returns teams the current user has access to with cursor pagination`,tags:[`Teams`]}).input(zo.strict()).output(Bo),create:j$1.route({method:`POST`,path:`/teams`,summary:`Create a new team`,description:`Create a new team organization`,tags:[`Teams`]}).input(Co.strict()).output(yo),update:j$1.route({method:`PATCH`,path:`/teams/{key}`,summary:`Update a team`,description:`Update an existing team by ID or slug`,tags:[`Teams`]}).input(Vo.strict()).output(yo),remove:j$1.route({method:`DELETE`,path:`/teams/{key}`,summary:`Delete a team`,description:`Soft delete a team (sets deletedAt timestamp) by ID or slug`,tags:[`Teams`]}).input(So.strict()).output(yo),performance:nr},ir={config:j$1.route({method:`GET`,path:`/tenant/config`,summary:`Get tenant configuration`,tags:[`Tenant`],description:`Returns tenant configuration including features and regions. Requires x-tenant-id header.`}).output(xs),regions:j$1.route({method:`GET`,path:`/tenant/regions`,summary:`Get tenant regions`,tags:[`Tenant`],description:`Returns available regions for the tenant. Requires x-tenant-id header.`}).output(Ss)};const ar=j$1.route({method:`GET`,path:`/tickets/{id}`,summary:`Get ticket by ID`,tags:[`Tickets`]}).input(Fs.strict()).output(Rs),or=j$1.route({method:`POST`,path:`/tickets`,summary:`Create a new ticket`,tags:[`Tickets`]}).input(Ps.strict()).output(Rs),sr=j$1.route({method:`PUT`,path:`/tickets/{id}`,summary:`Update a ticket`,tags:[`Tickets`]}).input(Vs.strict()).output(Rs);var cr={get:ar,list:j$1.route({method:`GET`,path:`/tickets`,summary:`List tickets with cursor-based pagination`,description:"Returns ticket data with cursor-based pagination and optional full-text search via the `query` parameter.",tags:[`Tickets`]}).input(Is.strict()).output(Ls),create:or,update:sr,scan:j$1.route({method:`POST`,path:`/tickets/{id}/scan`,summary:`Scan a ticket`,tags:[`Tickets`]}).input(zs.strict()).output(Rs)};const lr=j$1.route({method:`GET`,path:`/users/me`,summary:`Get the current user and their team memberships`,tags:[`Users`]}).output(Gs),ur=z$3.object({firstName:z$3.string().min(1).optional(),lastName:z$3.string().min(1).optional(),imageUrl:z$3.url().optional(),metadata:z$3.record(z$3.string(),Et).optional()}).meta({ref:`UpdateUserInput`,description:`Input for updating the current user's profile`});var dr={me:lr,update:j$1.route({method:`PATCH`,path:`/users/me`,summary:`Update the current user's profile`,tags:[`Users`]}).input(ur).output(Us)};const fr={beneficiary:vn,section:tr,event:In,eventCollaborator:Ln,admission:mn,order:Wn,ticket:cr,internal:Rn,location:zn,coupon:En,payout:Gn,permissionScope:Kn,promoter:Zn,team:rr,teamInvite:Ro,teamMember:ns,tenant:ir,venue:{get:j$1.route({method:`GET`,path:`/venues/{key}`,summary:`Get venue by ID or slug`,description:`Retrieve a venue using its unique ID or slug`,tags:[`Venues`]}).input(Ys.strict()).output(Ks),list:j$1.route({method:`GET`,path:`/venues`,summary:`List venues with cursor-based pagination`,description:`Returns venues with cursor pagination. Supports filtering by team, location-based search, and text query`,tags:[`Venues`]}).input(Xs.strict()).output(Zs),create:j$1.route({method:`POST`,path:`/venues`,summary:`Create a new venue`,description:`Create a new venue. Venue will be owned by the specified team but can be used by all teams for their events`,tags:[`Venues`]}).input(qs.strict()).output(Ks),update:j$1.route({method:`PATCH`,path:`/venues/{key}`,summary:`Update a venue`,description:`Update an existing venue. Cannot change venue ownership (teamId)`,tags:[`Venues`]}).input(Qs.strict()).output(Ks),remove:j$1.route({method:`DELETE`,path:`/venues/{key}`,summary:`Delete a venue`,description:`Soft delete a venue (sets deletedAt timestamp)`,tags:[`Venues`]}).input(Js.strict()).output(Ks),linkLocation:j$1.route({method:`POST`,path:`/venues/{key}/locations`,summary:`Link location to venue`,description:`Link a location to this venue. Allows the venue to be discovered when users search for this location. A venue can have multiple linked locations (e.g., different addresses, branded names). Requires VENUE permission on the owning team.`,tags:[`Venues`]}).input(Ys.extend({locationKey:z$3.string().meta({description:`Location ID (loc_xxx) or Google Place ID to link to this venue`,examples:[`loc_01jps5cgsm7qxvh6watsons0eq`,`ChIJP3Sa8ziYEmsRUKgyFmh9AQM`]})}).strict()).output(Ks),unlinkLocation:j$1.route({method:`DELETE`,path:`/venues/{key}/locations/{locationKey}`,summary:`Unlink location from venue`,description:`Remove a location link from this venue. The location will no longer show this venue's branding. Requires VENUE permission on the owning team.`,tags:[`Venues`]}).input(Ys.extend({locationKey:z$3.string().meta({description:`Location ID (loc_xxx) or Google Place ID to unlink from this venue`,examples:[`loc_01jps5cgsm7qxvh6watsons0eq`,`ChIJP3Sa8ziYEmsRUKgyFmh9AQM`]})}).strict()).output(Ks)},analytics:hn,user:dr};
30
+
31
+ z$3.object({id:xt.meta({description:`Team member ID to delete`})});
32
+
33
+ function ce(e,t={}){let r=(e?.pipeThrough(new TextDecoderStream).pipeThrough(new be$1))?.getReader(),i,a=false;return new _$1(async()=>{i??=u$1(`consume_event_iterator_stream`);try{for(;;){if(r===void 0)return {done:true,value:void 0};let{done:e,value:t}=await m$1(i,()=>r.read());if(e){if(a)throw new o$1(`Stream was cancelled`);return {done:true,value:void 0}}switch(t.event){case `message`:{let e=re(t.data);return y$1(e)&&(e=De(e,t)),i?.addEvent(`message`),{done:false,value:e}}case `error`:{let e=new ye$1({data:re(t.data)});throw e=De(e,t),i?.addEvent(`error`),e}case `done`:{let e=re(t.data);return y$1(e)&&(e=De(e,t)),i?.addEvent(`done`),{done:true,value:e}}default:i?.addEvent(`maybe_keepalive`);}}}catch(e){throw e instanceof ye$1||d$1(i,e,t),e}},async e=>{try{e!==`next`&&(a=true,i?.addEvent(`cancelled`)),await m$1(i,()=>r?.cancel());}catch(e){throw d$1(i,e,t),e}finally{i?.end();}})}function le(e,t={}){let n=t.eventIteratorKeepAliveEnabled??true,r=t.eventIteratorKeepAliveInterval??5e3,i=t.eventIteratorKeepAliveComment??``,a=t.eventIteratorInitialCommentEnabled??true,o=t.eventIteratorInitialComment??``,s=false,c,d;return new ReadableStream({start(e){d=u$1(`stream_event_iterator`),a&&e.enqueue(Te$1({comments:[o]}));},async pull(t){try{n&&(c=setInterval(()=>{t.enqueue(Te$1({comments:[i]})),d?.addEvent(`keepalive`);},r));let a=await m$1(d,()=>e.next());if(clearInterval(c),s)return;let o=Oe(a.value);if(!a.done||a.value!==void 0||o!==void 0){let e=a.done?`done`:`message`;t.enqueue(Te$1({...o,event:e,data:ie(a.value)})),d?.addEvent(e);}a.done&&(t.close(),d?.end());}catch(e){if(clearInterval(c),s)return;e instanceof ye$1?(t.enqueue(Te$1({...Oe(e),event:`error`,data:ie(e.data)})),d?.addEvent(`error`),t.close()):(d$1(d,e),t.error(e)),d?.end();}},async cancel(){try{s=true,clearInterval(c),d?.addEvent(`cancelled`),await m$1(d,()=>e.return?.());}catch(e){throw d$1(d,e),e}finally{d?.end();}}}).pipeThrough(new TextEncoderStream)}function ue(e,t={}){return p$1({name:`parse_standard_body`,signal:t.signal},async()=>{let n=e.headers.get(`content-disposition`);if(typeof n==`string`){let t=Ae(n)??`blob`,r=await e.blob();return new File([r],t,{type:r.type})}let r=e.headers.get(`content-type`);if(!r||r.startsWith(`application/json`))return re(await e.text());if(r.startsWith(`multipart/form-data`))return await e.formData();if(r.startsWith(`application/x-www-form-urlencoded`)){let t=await e.text();return new URLSearchParams(t)}if(r.startsWith(`text/event-stream`))return ce(e.body,t);if(r.startsWith(`text/plain`))return await e.text();let i=await e.blob();return new File([i],`blob`,{type:i.type})})}function de(e,t,n={}){let r=t.get(`content-disposition`);if(t.delete(`content-type`),t.delete(`content-disposition`),e!==void 0)return e instanceof Blob?(t.set(`content-type`,e.type),t.set(`content-length`,e.size.toString()),t.set(`content-disposition`,r??ke(e instanceof File?e.name:`blob`)),e):e instanceof FormData||e instanceof URLSearchParams?e:h$1(e)?(t.set(`content-type`,`text/event-stream`),le(e,n)):(t.set(`content-type`,`application/json`),ie(e))}function P$1(e,t={}){return e.forEach((e,n)=>{Array.isArray(t[n])?t[n].push(e):t[n]===void 0?t[n]=e:t[n]=[t[n],e];}),t}function fe(e,t=new Headers){for(let[n,r]of Object.entries(e))if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.append(n,r);return t}function F$1(e,t={}){let n=fe(e.headers),r=de(e.body,n,t);return new Request(e.url,{signal:e.signal,method:e.method,headers:n,body:r})}function I$1(e,t={}){return {body:s$1(()=>ue(e,t)),status:e.status,get headers(){let t=P$1(e.headers);return Object.defineProperty(this,`headers`,{value:t,writable:true}),t},set headers(e){Object.defineProperty(this,`headers`,{value:e,writable:true});}}}var L$1=class L{plugins;constructor(e=[]){this.plugins=[...e].sort((e,t)=>(e.order??0)-(t.order??0));}init(e){for(let t of this.plugins)t.init?.(e);}},R$1=class R{constructor(e,t,n={}){this.codec=e,this.sender=t,new L$1(n.plugins).init(n),this.interceptors=i$2(n.interceptors),this.clientInterceptors=i$2(n.clientInterceptors);}interceptors;clientInterceptors;call(e,t,n){return p$1({name:`${a$1}.${e.join(`/`)}`,signal:n.signal},r=>(r?.setAttribute(`rpc.system`,a$1),r?.setAttribute(`rpc.method`,e.join(`.`)),h$1(t)&&(t=te({name:`consume_event_iterator_input`,signal:n.signal},t)),ne(this.interceptors,{...n,path:e,input:t},async({path:e,input:t,...n})=>{let i=l$1(),s,c=i?.trace.getActiveSpan()??r;c&&i&&(s=i?.trace.setSpan(i.context.active(),c));let l=await p$1({name:`encode_request`,context:s},()=>this.codec.encode(e,t,n)),u=await ne(this.clientInterceptors,{...n,input:t,path:e,request:l},({input:e,path:t,request:n,...r})=>p$1({name:`send_request`,signal:r.signal,context:s},()=>this.sender.call(n,r,t,e))),f=await p$1({name:`decode_response`,context:s},()=>this.codec.decode(u,n,e,t));return h$1(f)?te({name:`consume_event_iterator_output`,signal:n.signal},f):f})))}};function z$1(e){return `/${e.map(encodeURIComponent).join(`/`)}`}function B$1(e){return typeof e.forEach==`function`?P$1(e):e}function V$1(e){return Object.entries(b$1).find(([,t])=>t.status===e)?.[0]??`MALFORMED_ORPC_ERROR_RESPONSE`}var pe=class extends L$1{initRuntimeAdapter(e){for(let t of this.plugins)t.initRuntimeAdapter?.(e);}},me=class{fetch;toFetchRequestOptions;adapterInterceptors;constructor(e){new pe(e.plugins).initRuntimeAdapter(e),this.fetch=e.fetch??globalThis.fetch.bind(globalThis),this.toFetchRequestOptions=e,this.adapterInterceptors=i$2(e.adapterInterceptors);}async call(e,t,n,r){let i=F$1(e,this.toFetchRequestOptions);return I$1(await ne(this.adapterInterceptors,{...t,request:i,path:n,input:r,init:{redirect:`manual`}},({request:e,path:t,input:n,init:r,...i})=>this.fetch(e,r,i,t,n)),{signal:i.signal})}},he=class{maxArrayIndex;constructor(e={}){this.maxArrayIndex=e.maxBracketNotationArrayIndex??9999;}serialize(e,n=[],r=[]){if(Array.isArray(e))e.forEach((e,t)=>{this.serialize(e,[...n,t],r);});else if(v$1(e))for(let t in e)this.serialize(e[t],[...n,t],r);else r.push([this.stringifyPath(n),e]);return r}deserialize(e){if(e.length===0)return {};let n=new WeakSet,r={value:[]};for(let[i,a]of e){let e=this.parsePath(i),o=r,s=`value`;e.forEach((r,i)=>{!Array.isArray(o[s])&&!v$1(o[s])&&(o[s]=[]),i===e.length-1?Array.isArray(o[s])&&(r===``?o[s].length&&!n.has(o[s])&&(o[s]=U$1(o[s])):n.has(o[s])?(n.delete(o[s]),o[s]=W$1(o[s])):H$1(r,this.maxArrayIndex)||(o[s]=U$1(o[s]))):Array.isArray(o[s])&&!H$1(r,this.maxArrayIndex)&&(n.has(o[s])?(n.delete(o[s]),o[s]=W$1(o[s])):o[s]=U$1(o[s])),o=o[s],s=r;}),Array.isArray(o)&&s===``?(n.add(o),o.push(a)):s in o?Array.isArray(o[s])?o[s].push(a):o[s]=[o[s],a]:o[s]=a;}return r.value}stringifyPath(e){return e.map(e=>e.toString().replace(/[\\[\]]/g,e=>{switch(e){case `\\`:return `\\\\`;case `[`:return `\\[`;case `]`:return `\\]`;default:return e}})).reduce((e,t,n)=>n===0?t:`${e}[${t}]`,``)}parsePath(e){let t=[],n=false,r=``,i=0;for(let a=0;a<e.length;a++){let o=e[a],s=e[a+1];n&&o===`]`&&(s===void 0||s===`[`)&&i%2==0?(s===void 0&&(n=false),t.push(r),r=``,a++):t.length===0&&o===`[`&&i%2==0?(n=true,t.push(r),r=``):o===`\\`?i++:(r+=`\\`.repeat(i/2)+o,i=0);}return n||t.length===0?[e]:t}};function H$1(e,t){return /^0$|^[1-9]\d*$/.test(e)&&Number(e)<=t}function U$1(e){let t=new se;return e.forEach((e,n)=>{t[n]=e;}),t}function W$1(e){let t=new se;return t[``]=e.length===1?e[0]:e,t}var ge=class{customSerializers;constructor(e={}){this.customSerializers=e.customJsonSerializers??[];}serialize(e,n={value:false}){for(let t of this.customSerializers)if(t.condition(e))return this.serialize(t.serialize(e),n);if(e instanceof Blob)return n.value=true,[e,n.value];if(e instanceof Set)return this.serialize(Array.from(e),n);if(e instanceof Map)return this.serialize(Array.from(e.entries()),n);if(Array.isArray(e))return [e.map(e=>e===void 0?null:this.serialize(e,n)[0]),n.value];if(v$1(e)){let t={};for(let r in e)r===`toJSON`&&typeof e[r]==`function`||(t[r]=this.serialize(e[r],n)[0]);return [t,n.value]}return typeof e==`bigint`||e instanceof RegExp||e instanceof URL?[e.toString(),n.value]:e instanceof Date?[Number.isNaN(e.getTime())?null:e.toISOString(),n.value]:Number.isNaN(e)?[null,n.value]:[e,n.value]}};function G$1(e){return `/${e.replace(/\/{2,}/g,`/`).replace(/^\/|\/$/g,``)}`}function K$1(e){return e?G$1(e).match(/\/\{[^}]+\}/g)?.map(e=>({raw:e,name:e.match(/\{\+?([^}]+)\}/)[1]})):void 0}var _e=class{constructor(e,t,n){this.contract=e,this.serializer=t,this.baseUrl=n.url,this.headers=n.headers??{},this.customErrorResponseBodyDecoder=n.customErrorResponseBodyDecoder;}baseUrl;headers;customErrorResponseBodyDecoder;async encode(e,t,n){let r=B$1(await ce$1(this.headers,n,e,t));n.lastEventId!==void 0&&(r=je(r,{"last-event-id":n.lastEventId}));let i=await ce$1(this.baseUrl,n,e,t),a=oe(this.contract,e);if(!ze(a))throw Error(`[StandardOpenapiLinkCodec] expect a contract procedure at ${e.join(`.`)}`);return Ye(`defaultInputStructure`,a[`~orpc`].route.inputStructure)===`compact`?this.#e(a,e,t,n,i,r):this.#t(a,e,t,n,i,r)}#e(e,n,r,i,a,o){let s=G$1(e[`~orpc`].route.path??z$1(n)),c=r,l=K$1(s);if(l?.length){if(!v$1(r))throw TypeError(`[StandardOpenapiLinkCodec] Invalid input shape for "compact" structure when has dynamic params at ${n.join(`.`)}.`);let e={...r};for(let t of l){let n=r[t.name];s=s.replace(t.raw,`/${encodeURIComponent(`${this.serializer.serialize(n)}`)}`),delete e[t.name];}c=Object.keys(e).length?e:void 0;}let u=Ye(`defaultMethod`,e[`~orpc`].route.method),d=new URL(a);if(d.pathname=`${d.pathname.replace(/\/$/,``)}${s}`,u===`GET`){let e=this.serializer.serialize(c,{outputFormat:`URLSearchParams`});for(let[t,n]of e)d.searchParams.append(t,n);return {url:d,method:u,headers:o,body:void 0,signal:i.signal}}return {url:d,method:u,headers:o,body:this.serializer.serialize(c),signal:i.signal}}#t(e,n,r,i,a,o){let s=G$1(e[`~orpc`].route.path??z$1(n)),c=K$1(s);if(!v$1(r)&&r!==void 0)throw TypeError(`[StandardOpenapiLinkCodec] Invalid input shape for "detailed" structure at ${n.join(`.`)}.`);if(c?.length){if(!v$1(r?.params))throw TypeError(`[StandardOpenapiLinkCodec] Invalid input.params shape for "detailed" structure when has dynamic params at ${n.join(`.`)}.`);for(let e of c){let t=r.params[e.name];s=s.replace(e.raw,`/${encodeURIComponent(`${this.serializer.serialize(t)}`)}`);}}let l=o;if(r?.headers!==void 0){if(!v$1(r.headers))throw TypeError(`[StandardOpenapiLinkCodec] Invalid input.headers shape for "detailed" structure at ${n.join(`.`)}.`);l=je(r.headers,o);}let u=Ye(`defaultMethod`,e[`~orpc`].route.method),d=new URL(a);if(d.pathname=`${d.pathname.replace(/\/$/,``)}${s}`,r?.query!==void 0){let e=this.serializer.serialize(r.query,{outputFormat:`URLSearchParams`});for(let[t,n]of e)d.searchParams.append(t,n);}return u===`GET`?{url:d,method:u,headers:l,body:void 0,signal:i.signal}:{url:d,method:u,headers:l,body:this.serializer.serialize(r?.body),signal:i.signal}}async decode(e,t,n){let r=!ge$1(e.status),a=await(async()=>{let t=false;try{let n=await e.body();return t=true,this.serializer.deserialize(n)}catch(e){throw t?Error(`Invalid OpenAPI response format.`,{cause:e}):Error(`Cannot parse response body, please check the response body and content-type.`,{cause:e})}})();if(!r)throw this.customErrorResponseBodyDecoder?.(a,e)??(_e$1(a)?ve$1(a):new w$1(V$1(e.status),{status:e.status,data:{...e,body:a}}));let o=oe(this.contract,n);if(!ze(o))throw Error(`[StandardOpenapiLinkCodec] expect a contract procedure at ${n.join(`.`)}`);return Ye(`defaultOutputStructure`,o[`~orpc`].route.outputStructure)===`compact`?a:{status:e.status,headers:e.headers,body:a}}},ve=class{constructor(e,t){this.jsonSerializer=e,this.bracketNotation=t;}serialize(t,n={}){return h$1(t)&&!n.outputFormat?Me(t,{value:async e=>this.#e(e,{outputFormat:`plain`}),error:async t=>new ye$1({data:this.#e(he$1(t).toJSON(),{outputFormat:`plain`}),cause:t})}):this.#e(t,n)}#e(e,t){let[n,r]=this.jsonSerializer.serialize(e);if(t.outputFormat===`plain`)return n;if(t.outputFormat===`URLSearchParams`){let e=new URLSearchParams;for(let[t,r]of this.bracketNotation.serialize(n))(typeof r==`string`||typeof r==`number`||typeof r==`boolean`)&&e.append(t,r.toString());return e}if(n instanceof Blob||n===void 0||!r)return n;let i=new FormData;for(let[e,t]of this.bracketNotation.serialize(n))typeof t==`string`||typeof t==`number`||typeof t==`boolean`?i.append(e,t.toString()):t instanceof Blob&&i.append(e,t);return i}deserialize(e){return e instanceof URLSearchParams||e instanceof FormData?this.bracketNotation.deserialize(Array.from(e.entries())):h$1(e)?Me(e,{value:async e=>e,error:async e=>e instanceof ye$1&&_e$1(e.data)?ve$1(e.data,{cause:e}):e}):e}},ye=class extends R$1{constructor(e,t,n){let r=new _e(e,new ve(new ge(n),new he({maxBracketNotationArrayIndex:4294967294})),n);super(r,t,n);}},be=class extends ye{constructor(e,t){let n=new me(t);super(e,n,t);}};const Q={sandbox:`https://api.sandbox.session.services`,prod:`https://api.session.services`};function Te(e){return e in Q?Q[e]:e}function $(e){let t=Te(e.environment),n=e.tenantId??`tnt_01jqpj2t2kfvmstt6f6tzkbaf2`;return Fe(new be(fr,{url:t,headers:{"x-tenant-id":n,...e.headers??{}}}))}
52
34
 
53
35
  function getAugmentedNamespace(n) {
54
36
  if (n.__esModule) return n;
@@ -866,21 +848,21 @@ function version(uuid) {
866
848
  }
867
849
 
868
850
  var esmBrowser = /*#__PURE__*/Object.freeze({
869
- __proto__: null,
870
- MAX: max,
871
- NIL: nil,
872
- parse: parse,
873
- stringify: stringify,
874
- v1: v1,
875
- v1ToV6: v1ToV6,
876
- v3: v3,
877
- v4: v4,
878
- v5: v5,
879
- v6: v6,
880
- v6ToV1: v6ToV1,
881
- v7: v7,
882
- validate: validate,
883
- version: version
851
+ __proto__: null,
852
+ MAX: max,
853
+ NIL: nil,
854
+ parse: parse,
855
+ stringify: stringify,
856
+ v1: v1,
857
+ v1ToV6: v1ToV6,
858
+ v3: v3,
859
+ v4: v4,
860
+ v5: v5,
861
+ v6: v6,
862
+ v6ToV1: v6ToV1,
863
+ v7: v7,
864
+ validate: validate,
865
+ version: version
884
866
  });
885
867
 
886
868
  var require$$0 = /*@__PURE__*/getAugmentedNamespace(esmBrowser);
@@ -1477,7 +1459,7 @@ function requireDist () {
1477
1459
 
1478
1460
  var distExports = /*@__PURE__*/ requireDist();
1479
1461
 
1480
- function t(){if(typeof window>`u`)return;let e=new URLSearchParams(window.location.search),t=e.get(`utm_source`),n=e.get(`utm_medium`),r=e.get(`utm_campaign`),i=e.get(`utm_term`),a=e.get(`utm_content`);if(!(!t&&!n&&!r&&!i&&!a))return {source:t||void 0,medium:n||void 0,name:r||void 0,term:i||void 0,content:a||void 0}}function n(){let e=typeof window<`u`;return {page:{url:e?window.location.href:``,path:e?window.location.pathname:``,title:e?document.title:``,referrer:e&&document.referrer||void 0},userAgent:e?navigator.userAgent:``,campaign:t()}}const r={"Product Viewed":`ViewContent`,"Product Added":`AddToCart`,"Checkout Started":`InitiateCheckout`,"Payment Info Entered":`AddPaymentInfo`,"Order Completed":`Purchase`},i=new Set,a=new Map;function o(){if(typeof window>`u`)return false;let e=window;if(e.fbq)return true;let t=((...e)=>{t.callMethod?t.callMethod(...e):t.queue.push(e);});t.push=t,t.loaded=true,t.version=`2.0`,t.queue=[],e.fbq=t,e._fbq||=t;let n=document.createElement(`script`);n.async=true,n.src=`https://connect.facebook.net/en_US/fbevents.js`;let r=document.getElementsByTagName(`script`)[0];return r?.parentNode?.insertBefore(n,r),true}function s(e,t){let n=window;typeof window>`u`||!n.fbq||(t?n.fbq(`init`,e,{external_id:t}):n.fbq(`init`,e));}function c(e,t){let n=window;typeof window>`u`||!n.fbq||n.fbq(`track`,e,t);}function l(e,t,n){if(!o())return false;let r=a.get(e);return t&&t!==r?(s(e,t),a.set(e,t),i.add(e),n&&console.log(`[Facebook Pixel] Re-initialized pixel ${e} with userId ${t}`),true):i.has(e)?true:(s(e,t),i.add(e),t&&a.set(e,t),n&&console.log(`[Facebook Pixel] Initialized pixel ${e}`),true)}function u(e,t){let n={};switch(t.currency&&(n.currency=t.currency),t.event_id&&(n.event_id=t.event_id),e){case `ViewContent`:t.product_id&&(n.content_ids=[t.product_id]),t.name&&(n.content_name=t.name),t.category&&(n.content_category=t.category),(t.value||t.price)&&(n.value=t.value||t.price),n.content_type=`product`;break;case `AddToCart`:t.product_id&&(n.content_ids=[t.product_id]),t.name&&(n.content_name=t.name),(t.value||t.price)&&(n.value=t.value||t.price),n.content_type=`product`,t.product_id&&(n.contents=[{id:t.product_id,quantity:t.quantity||1,item_price:t.price}]);break;case `InitiateCheckout`:t.products&&Array.isArray(t.products)&&(n.content_ids=t.products.map(e=>e.product_id).filter(Boolean),n.num_items=t.products.length,n.contents=t.products.map(e=>({id:e.product_id,quantity:e.quantity||1,item_price:e.price}))),(t.value||t.total)&&(n.value=t.value||t.total),n.content_type=`product`,t.order_id&&(n.order_id=t.order_id);break;case `AddPaymentInfo`:(t.value||t.total)&&(n.value=t.value||t.total),n.content_type=`product`,t.order_id&&(n.order_id=t.order_id);break;case `Purchase`:t.products&&Array.isArray(t.products)&&(n.content_ids=t.products.map(e=>e.product_id).filter(Boolean),n.num_items=t.products.length,n.contents=t.products.map(e=>({id:e.product_id,quantity:e.quantity||1,item_price:e.price}))),(t.value||t.total||t.revenue)&&(n.value=t.value||t.total||t.revenue),n.content_type=`product`,t.order_id&&(n.order_id=t.order_id);break;default:t.value&&(n.value=t.value),t.product_id&&(n.content_ids=[t.product_id]);break}return n}function d(e=false){let t=(t,n)=>{if(!n.fbId||!l(n.fbId,t.userId,e))return;let i=t.name||`Unknown`,a=r[i]||i,o=u(a,t.properties);c(a,o),e&&console.log(`[Facebook Pixel] Sent ${a}:`,o);},n=(t,n)=>{n.fbId&&l(n.fbId,t.userId,e)&&(c(`PageView`,{}),e&&console.log(`[Facebook Pixel] Sent PageView`));};return {name:`Facebook Pixel`,track:t,page:n,screen:n,identify:(t,n)=>{!n.fbId||!t.userId||(l(n.fbId,t.userId,e),e&&console.log(`[Facebook Pixel] Identity synced: ${t.userId}`));}}}const f={"Product Viewed":`view_item`,"Product Added":`add_to_cart`,"Product Removed":`remove_from_cart`,"Checkout Started":`begin_checkout`,"Payment Info Entered":`add_payment_info`,"Order Completed":`purchase`,"Product List Viewed":`view_item_list`,"Cart Viewed":`view_cart`},p=new Set;function m(e){if(typeof window>`u`)return false;let t=window;t.dataLayer=t.dataLayer||[];let n=`gtm-${e}`;if(document.getElementById(n))return true;let r=document.createElement(`script`);r.id=n,r.async=true,r.src=`https://www.googletagmanager.com/gtm.js?id=${e}`,t.dataLayer.push({"gtm.start":Date.now(),event:`gtm.js`});let i=document.getElementsByTagName(`script`)[0];return i?.parentNode?.insertBefore(r,i),true}function h(e){let t=window;typeof window>`u`||!t.dataLayer||t.dataLayer.push(e);}function g(e){let t=[];if(e.product_id&&!e.products&&t.push({item_id:e.product_id,item_name:e.name,item_category:e.category,price:e.price,quantity:e.quantity||1}),e.products&&Array.isArray(e.products))for(let n of e.products)t.push({item_id:n.product_id||n.sku,item_name:n.name,item_category:n.category,price:n.price,quantity:n.quantity||1});return t}function _(e,t){let n=g(t),r=t.value||t.total||t.revenue||t.price,i=t.currency,a={items:n};return i&&(a.currency=i),r&&(a.value=r),e===`purchase`&&t.order_id&&(a.transaction_id=t.order_id),{event:e,ecommerce:a}}function v(e,t){return p.has(e)?true:m(e)?(p.add(e),t&&console.log(`[GTM] Loaded container ${e}`),true):false}function y(e=false){return {name:`Google Tag Manager`,track:(t,n)=>{if(!n.gtmId||!v(n.gtmId,e))return;let r=t.name||`Unknown`,i=f[r]||r;h({ecommerce:null});let a=_(i,t.properties);t.userId&&(a.user_id=t.userId),h(a),e&&console.log(`[GTM] Pushed ${i}:`,a);},page:(t,n)=>{if(!n.gtmId||!v(n.gtmId,e))return;let r={event:`page_view`,page_location:t.context.page.url,page_path:t.context.page.path,page_title:t.context.page.title};t.context.page.referrer&&(r.page_referrer=t.context.page.referrer),t.userId&&(r.user_id=t.userId),h(r),e&&console.log(`[GTM] Pushed page_view:`,r);},screen:(t,n)=>{if(!n.gtmId||!v(n.gtmId,e))return;let r={event:`screen_view`,screen_name:t.name||`Unknown`};t.userId&&(r.user_id=t.userId),h(r),e&&console.log(`[GTM] Pushed screen_view:`,r);},identify:(t,n)=>{!n.gtmId||!t.userId||v(n.gtmId,e)&&(h({user_id:t.userId}),e&&console.log(`[GTM] Identity synced: ${t.userId}`));}}}function b(e){return {session_id:e.sessionId,anonymous_id:e.anonymousId,user_id:e.userId,page:{url:e.context.page.url,path:e.context.page.path,title:e.context.page.title},referrer:e.context.page.referrer,user_agent:e.context.userAgent,utm_source:e.context.campaign?.source,utm_medium:e.context.campaign?.medium,utm_campaign:e.context.campaign?.name,utm_term:e.context.campaign?.term,utm_content:e.context.campaign?.content}}function x(e){let{event_id:t,team_id:n,promoter_id:r,...i}=e;return {eventId:t,teamId:n,promoterId:r,rest:i}}function S(e,t=false){let n=async(n,r,i)=>{let{eventId:a,teamId:o,promoterId:s,rest:c}=x(r.properties);if(!a||!o||!s){t&&console.warn(`[Sessions API] Missing required fields, skipping ${n}:`,{eventId:a,teamId:o,promoterId:s});return}let l={eventId:a,teamId:o,promoterId:s,eventType:r.name||i,properties:c,context:b(r)};t&&console.log(`[Sessions API] Sending ${n}:`,l),await e.analytics[n](l);};return {name:`Sessions API`,track:(e,r)=>{n(`track`,e,`Unknown Event`).catch(e=>{t&&console.error(`[Sessions API] track error:`,e);});},page:(e,r)=>{n(`page`,e,`Page Viewed`).catch(e=>{t&&console.error(`[Sessions API] page error:`,e);});},screen:(e,r)=>{n(`screen`,e,`Screen Viewed`).catch(e=>{t&&console.error(`[Sessions API] screen error:`,e);});},identify:(e,n)=>{t&&console.log(`[Sessions API] Identify received (logged only):`,{userId:e.userId,traits:e.traits});}}}const C={"Product Viewed":`ViewContent`,"Product Added":`AddToCart`,"Checkout Started":`InitiateCheckout`,"Payment Info Entered":`AddPaymentInfo`,"Order Completed":`CompletePayment`},w=new Set;function T(){if(typeof window>`u`)return false;let e=window;if(e.ttq)return true;e.TiktokAnalyticsObject=`ttq`;let t=((...e)=>{t._i=t._i||{},t._t=t._t||{},t._i[e[0]]=e;});t.methods=[`page`,`track`,`identify`,`instances`,`debug`,`on`,`off`,`once`,`ready`,`alias`,`group`,`enableCookie`,`disableCookie`],t.setAndDefer=(e,t)=>{e[t]=(...n)=>{e._t=e._t||{};let r=e._t;r[t]=r[t]||[],r[t]?.push(n);};};for(let e of t.methods)t.setAndDefer(t,e);t.instance=e=>{let n=t._i[e]||[];for(let e of t.methods)t.setAndDefer(n,e);return n},t._i={},t._t={},e.ttq=t;let n=document.createElement(`script`);n.async=true,n.src=`https://analytics.tiktok.com/i18n/pixel/events.js`;let r=document.getElementsByTagName(`script`)[0];return r?.parentNode?.insertBefore(n,r),true}function E(e){let t=window;typeof window>`u`||!t.ttq||t.ttq(`init`,e);}function D(e,t){let n=window;typeof window>`u`||!n.ttq||n.ttq.instance(e)(`identify`,{external_id:t});}function O(e,t,n){let r=window;typeof window>`u`||!r.ttq||r.ttq.instance(e)(`track`,t,n);}function k(e){let t=window;typeof window>`u`||!t.ttq||t.ttq.instance(e)(`page`);}function A(e,t){return T()?w.has(e)?true:(E(e),w.add(e),t&&console.log(`[TikTok Pixel] Initialized pixel ${e}`),true):false}function j(e,t){let n={};switch(t.currency&&(n.currency=t.currency),t.event_id&&(n.event_id=t.event_id),e){case `ViewContent`:t.product_id&&(n.content_id=t.product_id),t.name&&(n.content_name=t.name),t.category&&(n.content_category=t.category),(t.value||t.price)&&(n.value=t.value||t.price),n.content_type=`product`;break;case `AddToCart`:t.product_id&&(n.content_id=t.product_id),t.name&&(n.content_name=t.name),(t.value||t.price)&&(n.value=t.value||t.price),n.content_type=`product`,t.quantity&&(n.quantity=t.quantity);break;case `InitiateCheckout`:t.products&&Array.isArray(t.products)&&(n.contents=t.products.map(e=>({content_id:e.product_id,content_name:e.name,quantity:e.quantity||1,price:e.price}))),(t.value||t.total)&&(n.value=t.value||t.total);break;case `AddPaymentInfo`:(t.value||t.total)&&(n.value=t.value||t.total);break;case `CompletePayment`:t.products&&Array.isArray(t.products)&&(n.contents=t.products.map(e=>({content_id:e.product_id,content_name:e.name,quantity:e.quantity||1,price:e.price}))),(t.value||t.total||t.revenue)&&(n.value=t.value||t.total||t.revenue),t.order_id&&(n.order_id=t.order_id);break;default:t.value&&(n.value=t.value);break}return n}function M(e=false){let t=(t,n)=>{if(!n.tikTokId||!A(n.tikTokId,e))return;let r=t.name||`Unknown`,i=C[r]||r,a=j(i,t.properties);O(n.tikTokId,i,a),e&&console.log(`[TikTok Pixel] Sent ${i}:`,a);},n=(t,n)=>{n.tikTokId&&A(n.tikTokId,e)&&(k(n.tikTokId),e&&console.log(`[TikTok Pixel] Sent page view`));};return {name:`TikTok Pixel`,track:t,page:n,screen:n,identify:(t,n)=>{!n.tikTokId||!t.userId||A(n.tikTokId,e)&&(D(n.tikTokId,t.userId),e&&console.log(`[TikTok Pixel] Identity synced: ${t.userId}`));}}}function N(e,t=false){let n=new Map,r=new Map,i=S(e,t),a=[d(t),y(t),M(t)],o=async n=>{try{let r=(await e.promoter.get({key:n})).promoter?.tracking,i={fbId:r?.fbId||void 0,gtmId:r?.gtmId||void 0,tikTokId:r?.tikTokId||void 0};return t&&console.log(`[DestinationManager] Fetched config for promoter ${n}:`,i),i}catch(e){return t&&console.warn(`[DestinationManager] Failed to fetch promoter ${n} config:`,e),{}}},s=async e=>{let t=n.get(e);if(t)return t;let i=r.get(e);if(i)return i;i=o(e),r.set(e,i);try{let t=await i;return n.set(e,t),t}finally{r.delete(e);}},c=(e,t,n)=>{switch(t.type){case `track`:e.track(t,n);break;case `page`:e.page(t,n);break;case `screen`:e.screen(t,n);break;case `identify`:e.identify(t,n);break}};return {sendEvent:async(e,n)=>{let r=await s(n);if(c(i,e,r),r.fbId||r.gtmId||r.tikTokId)for(let n of a)try{c(n,e,r);}catch(e){t&&console.error(`[DestinationManager] ${n.name} error:`,e);}},clearCache:()=>{n.clear(),r.clear();}}}const P=`ses_sid`,F=`ses_aid`;function I(){return distExports.typeid(`ssn`).toString()}function L(){return distExports.typeid(`anon`).toString()}function R(e){if(typeof document>`u`)return null;let t=document.cookie.split(`;`);for(let n of t){let[t,r]=n.trim().split(`=`);if(t===e&&r)return decodeURIComponent(r)}return null}function z(e,t,n={}){if(typeof document>`u`)return;let r=`${e}=${encodeURIComponent(t)}; path=/`;n.maxAge!==void 0&&(r+=`; max-age=${n.maxAge}`),n.sameSite&&(r+=`; samesite=${n.sameSite}`),document.cookie=r;}function B(e){if(typeof localStorage>`u`)return null;try{return localStorage.getItem(e)}catch{return null}}function V(e,t){if(!(typeof localStorage>`u`))try{localStorage.setItem(e,t);}catch{}}function H(){let e=R(P);return e||(e=I(),z(P,e,{sameSite:`lax`})),e}function U(){let e=B(F);return e||(e=L(),V(F,e)),e}function W(){let e=I(),t=L();return z(P,e,{sameSite:`lax`}),V(F,t),{sessionId:e,anonymousId:t}}const G={AUD:{locale:`en-AU`},NZD:{locale:`en-NZ`},GBP:{locale:`en-GB`},USD:{locale:`en-US`},EUR:{locale:`de-DE`},CAD:{locale:`en-CA`},CHF:{locale:`de-CH`},JPY:{locale:`ja-JP`},CNY:{locale:`zh-CN`},HKD:{locale:`zh-HK`},SGD:{locale:`en-SG`},KRW:{locale:`ko-KR`},INR:{locale:`en-IN`},MXN:{locale:`es-MX`},BRL:{locale:`pt-BR`},ZAR:{locale:`en-ZA`},SEK:{locale:`sv-SE`},NOK:{locale:`nb-NO`},DKK:{locale:`da-DK`},PLN:{locale:`pl-PL`},CZK:{locale:`cs-CZ`},HUF:{locale:`hu-HU`},RON:{locale:`ro-RO`},THB:{locale:`th-TH`},ILS:{locale:`he-IL`}};function K(e,t){let n=G[t]?.locale??`en-US`;return new Intl.NumberFormat(n,{style:`currency`,currency:t}).format(e/100)}function q(e){let t=e.debug??false,r=N(e.client,t),i=H(),a=U(),o;t&&console.log(`[Analytics] Initialized:`,{sessionId:i,anonymousId:a});let s=(e,t,r)=>({type:e,name:t,properties:r,context:n(),timestamp:Date.now(),sessionId:i,anonymousId:a,userId:o}),c=(e,n)=>{r.sendEvent(e,n).catch(e=>{t&&console.error(`[Analytics] Failed to send event:`,e);});},l=(e,n)=>{let r=e.promoter_id;return !r&&t&&console.warn(`[Analytics] ${n}() called without promoter_id, skipping`),r};return {track:(e,t={})=>{let n=l(t,`track`);n&&c(s(`track`,e,t),n);},page:(e,t={})=>{let n=l(t,`page`);n&&c(s(`page`,e||`Page Viewed`,t),n);},screen:(e,t={})=>{let n=l(t,`screen`);n&&c(s(`screen`,e||`Screen Viewed`,t),n);},identify:(e,r={})=>{o=e;let s=r.promoter_id;s&&c({type:`identify`,properties:{},context:n(),timestamp:Date.now(),sessionId:i,anonymousId:a,userId:e,traits:r},s),t&&console.log(`[Analytics] User identified:`,e);},alias:(e,n)=>{t&&console.log(`[Analytics] Alias called:`,{userId:e,previousId:n});},group:(e,r={})=>{let s=r.promoter_id;s&&c({type:`group`,properties:{},context:n(),timestamp:Date.now(),sessionId:i,anonymousId:a,userId:o,groupId:e,traits:r},s),t&&console.log(`[Analytics] Group called:`,{groupId:e,traits:r});},reset:()=>{let e=W();i=e.sessionId,a=e.anonymousId,o=void 0,r.clearCache(),t&&console.log(`[Analytics] Session reset:`,{sessionId:i,anonymousId:a});}}}
1462
+ function t(){if(typeof window>`u`)return;let e=new URLSearchParams(window.location.search),t=e.get(`utm_source`),n=e.get(`utm_medium`),r=e.get(`utm_campaign`),i=e.get(`utm_term`),a=e.get(`utm_content`);if(!(!t&&!n&&!r&&!i&&!a))return {source:t||void 0,medium:n||void 0,name:r||void 0,term:i||void 0,content:a||void 0}}function n(){let e=typeof window<`u`;return {page:{url:e?window.location.href:``,path:e?window.location.pathname:``,title:e?document.title:``,referrer:e&&document.referrer||void 0},userAgent:e?navigator.userAgent:``,campaign:t()}}const r={"Product Viewed":`ViewContent`,"Product Added":`AddToCart`,"Checkout Started":`InitiateCheckout`,"Payment Info Entered":`AddPaymentInfo`,"Order Completed":`Purchase`},i=new Set,a=new Map;function o(){if(typeof window>`u`)return false;let e=window;if(e.fbq)return true;let t=((...e)=>{t.callMethod?t.callMethod(...e):t.queue.push(e);});t.push=t,t.loaded=true,t.version=`2.0`,t.queue=[],e.fbq=t,e._fbq||=t;let n=document.createElement(`script`);n.async=true,n.src=`https://connect.facebook.net/en_US/fbevents.js`;let r=document.getElementsByTagName(`script`)[0];return r?.parentNode?.insertBefore(n,r),true}function s(e,t){let n=window;typeof window>`u`||!n.fbq||(t?n.fbq(`init`,e,{external_id:t}):n.fbq(`init`,e));}function c(e,t){let n=window;typeof window>`u`||!n.fbq||n.fbq(`track`,e,t);}function l(e,t,n){if(!o())return false;let r=a.get(e);return t&&t!==r?(s(e,t),a.set(e,t),i.add(e),n&&console.log(`[Facebook Pixel] Re-initialized pixel ${e} with userId ${t}`),true):i.has(e)?true:(s(e,t),i.add(e),t&&a.set(e,t),n&&console.log(`[Facebook Pixel] Initialized pixel ${e}`),true)}function u(e,t){let n={};switch(t.currency&&(n.currency=t.currency),t.event_id&&(n.event_id=t.event_id),e){case `ViewContent`:t.product_id&&(n.content_ids=[t.product_id]),t.name&&(n.content_name=t.name),t.category&&(n.content_category=t.category),(t.value||t.price)&&(n.value=t.value||t.price),n.content_type=`product`;break;case `AddToCart`:t.product_id&&(n.content_ids=[t.product_id]),t.name&&(n.content_name=t.name),(t.value||t.price)&&(n.value=t.value||t.price),n.content_type=`product`,t.product_id&&(n.contents=[{id:t.product_id,quantity:t.quantity||1,item_price:t.price}]);break;case `InitiateCheckout`:t.products&&Array.isArray(t.products)&&(n.content_ids=t.products.map(e=>e.product_id).filter(Boolean),n.num_items=t.products.length,n.contents=t.products.map(e=>({id:e.product_id,quantity:e.quantity||1,item_price:e.price}))),(t.value||t.total)&&(n.value=t.value||t.total),n.content_type=`product`,t.order_id&&(n.order_id=t.order_id);break;case `AddPaymentInfo`:(t.value||t.total)&&(n.value=t.value||t.total),n.content_type=`product`,t.order_id&&(n.order_id=t.order_id);break;case `Purchase`:t.products&&Array.isArray(t.products)&&(n.content_ids=t.products.map(e=>e.product_id).filter(Boolean),n.num_items=t.products.length,n.contents=t.products.map(e=>({id:e.product_id,quantity:e.quantity||1,item_price:e.price}))),(t.value||t.total||t.revenue)&&(n.value=t.value||t.total||t.revenue),n.content_type=`product`,t.order_id&&(n.order_id=t.order_id);break;default:t.value&&(n.value=t.value),t.product_id&&(n.content_ids=[t.product_id]);break}return n}function d(e=false){let t=(t,n)=>{if(!n.fbId||!l(n.fbId,t.userId,e))return;let i=t.name||`Unknown`,a=r[i]||i,o=u(a,t.properties);c(a,o),e&&console.log(`[Facebook Pixel] Sent ${a}:`,o);},n=(t,n)=>{n.fbId&&l(n.fbId,t.userId,e)&&(c(`PageView`,{}),e&&console.log(`[Facebook Pixel] Sent PageView`));};return {name:`Facebook Pixel`,track:t,page:n,screen:n,identify:(t,n)=>{!n.fbId||!t.userId||(l(n.fbId,t.userId,e),e&&console.log(`[Facebook Pixel] Identity synced: ${t.userId}`));}}}const f={"Product Viewed":`view_item`,"Product Added":`add_to_cart`,"Product Removed":`remove_from_cart`,"Checkout Started":`begin_checkout`,"Payment Info Entered":`add_payment_info`,"Order Completed":`purchase`,"Product List Viewed":`view_item_list`,"Cart Viewed":`view_cart`},p=new Set;function m(e){if(typeof window>`u`)return false;let t=window;t.dataLayer=t.dataLayer||[];let n=`gtm-${e}`;if(document.getElementById(n))return true;let r=document.createElement(`script`);r.id=n,r.async=true,r.src=`https://www.googletagmanager.com/gtm.js?id=${e}`,t.dataLayer.push({"gtm.start":Date.now(),event:`gtm.js`});let i=document.getElementsByTagName(`script`)[0];return i?.parentNode?.insertBefore(r,i),true}function h(e){let t=window;typeof window>`u`||!t.dataLayer||t.dataLayer.push(e);}function g(e){let t=[];if(e.product_id&&!e.products&&t.push({item_id:e.product_id,item_name:e.name,item_category:e.category,price:e.price,quantity:e.quantity||1}),e.products&&Array.isArray(e.products))for(let n of e.products)t.push({item_id:n.product_id||n.sku,item_name:n.name,item_category:n.category,price:n.price,quantity:n.quantity||1});return t}function _(e,t){let n=g(t),r=t.value||t.total||t.revenue||t.price,i=t.currency,a={items:n};return i&&(a.currency=i),r&&(a.value=r),e===`purchase`&&t.order_id&&(a.transaction_id=t.order_id),{event:e,ecommerce:a}}function v(e,t){return p.has(e)?true:m(e)?(p.add(e),t&&console.log(`[GTM] Loaded container ${e}`),true):false}function y(e=false){return {name:`Google Tag Manager`,track:(t,n)=>{if(!n.gtmId||!v(n.gtmId,e))return;let r=t.name||`Unknown`,i=f[r]||r;h({ecommerce:null});let a=_(i,t.properties);t.userId&&(a.user_id=t.userId),h(a),e&&console.log(`[GTM] Pushed ${i}:`,a);},page:(t,n)=>{if(!n.gtmId||!v(n.gtmId,e))return;let r={event:`page_view`,page_location:t.context.page.url,page_path:t.context.page.path,page_title:t.context.page.title};t.context.page.referrer&&(r.page_referrer=t.context.page.referrer),t.userId&&(r.user_id=t.userId),h(r),e&&console.log(`[GTM] Pushed page_view:`,r);},screen:(t,n)=>{if(!n.gtmId||!v(n.gtmId,e))return;let r={event:`screen_view`,screen_name:t.name||`Unknown`};t.userId&&(r.user_id=t.userId),h(r),e&&console.log(`[GTM] Pushed screen_view:`,r);},identify:(t,n)=>{!n.gtmId||!t.userId||v(n.gtmId,e)&&(h({user_id:t.userId}),e&&console.log(`[GTM] Identity synced: ${t.userId}`));}}}function b(e){return {session_id:e.sessionId,anonymous_id:e.anonymousId,user_id:e.userId,page:{url:e.context.page.url,path:e.context.page.path,title:e.context.page.title},referrer:e.context.page.referrer,user_agent:e.context.userAgent,utm_source:e.context.campaign?.source,utm_medium:e.context.campaign?.medium,utm_campaign:e.context.campaign?.name,utm_term:e.context.campaign?.term,utm_content:e.context.campaign?.content}}function x(e){let{event_id:t,team_id:n,promoter_id:r,...i}=e;return {eventId:t,teamId:n,promoterId:r,rest:i}}function S(e,t=false){let n=async(n,r,i)=>{let{eventId:a,teamId:o,promoterId:s,rest:c}=x(r.properties);if(!a||!o||!s){t&&console.warn(`[Sessions API] Missing required fields, skipping ${n}:`,{eventId:a,teamId:o,promoterId:s});return}let l={eventId:a,teamId:o,promoterId:s,eventType:r.name||i,properties:c,context:b(r)};t&&console.log(`[Sessions API] Sending ${n}:`,l),await e.analytics[n](l);};return {name:`Sessions API`,track:(e,r)=>{n(`track`,e,`Unknown Event`).catch(e=>{t&&console.error(`[Sessions API] track error:`,e);});},page:(e,r)=>{n(`page`,e,`Page Viewed`).catch(e=>{t&&console.error(`[Sessions API] page error:`,e);});},screen:(e,r)=>{n(`screen`,e,`Screen Viewed`).catch(e=>{t&&console.error(`[Sessions API] screen error:`,e);});},identify:(e,n)=>{t&&console.log(`[Sessions API] Identify received (logged only):`,{userId:e.userId,traits:e.traits});}}}const C={"Product Viewed":`ViewContent`,"Product Added":`AddToCart`,"Checkout Started":`InitiateCheckout`,"Payment Info Entered":`AddPaymentInfo`,"Order Completed":`CompletePayment`},w=new Set;function T(){if(typeof window>`u`)return false;let e=window;if(e.ttq)return true;e.TiktokAnalyticsObject=`ttq`;let t=((...e)=>{t._i=t._i||{},t._t=t._t||{},t._i[e[0]]=e;});t.methods=[`page`,`track`,`identify`,`instances`,`debug`,`on`,`off`,`once`,`ready`,`alias`,`group`,`enableCookie`,`disableCookie`],t.setAndDefer=(e,t)=>{e[t]=(...n)=>{e._t=e._t||{};let r=e._t;r[t]=r[t]||[],r[t]?.push(n);};};for(let e of t.methods)t.setAndDefer(t,e);t.instance=e=>{let n=t._i[e]||[];for(let e of t.methods)t.setAndDefer(n,e);return n},t._i={},t._t={},e.ttq=t;let n=document.createElement(`script`);n.async=true,n.src=`https://analytics.tiktok.com/i18n/pixel/events.js`;let r=document.getElementsByTagName(`script`)[0];return r?.parentNode?.insertBefore(n,r),true}function E(e){let t=window;typeof window>`u`||!t.ttq||t.ttq(`init`,e);}function D(e,t){let n=window;typeof window>`u`||!n.ttq||n.ttq.instance(e)(`identify`,{external_id:t});}function O(e,t,n){let r=window;typeof window>`u`||!r.ttq||r.ttq.instance(e)(`track`,t,n);}function k(e){let t=window;typeof window>`u`||!t.ttq||t.ttq.instance(e)(`page`);}function A(e,t){return T()?w.has(e)?true:(E(e),w.add(e),t&&console.log(`[TikTok Pixel] Initialized pixel ${e}`),true):false}function j(e,t){let n={};switch(t.currency&&(n.currency=t.currency),t.event_id&&(n.event_id=t.event_id),e){case `ViewContent`:t.product_id&&(n.content_id=t.product_id),t.name&&(n.content_name=t.name),t.category&&(n.content_category=t.category),(t.value||t.price)&&(n.value=t.value||t.price),n.content_type=`product`;break;case `AddToCart`:t.product_id&&(n.content_id=t.product_id),t.name&&(n.content_name=t.name),(t.value||t.price)&&(n.value=t.value||t.price),n.content_type=`product`,t.quantity&&(n.quantity=t.quantity);break;case `InitiateCheckout`:t.products&&Array.isArray(t.products)&&(n.contents=t.products.map(e=>({content_id:e.product_id,content_name:e.name,quantity:e.quantity||1,price:e.price}))),(t.value||t.total)&&(n.value=t.value||t.total);break;case `AddPaymentInfo`:(t.value||t.total)&&(n.value=t.value||t.total);break;case `CompletePayment`:t.products&&Array.isArray(t.products)&&(n.contents=t.products.map(e=>({content_id:e.product_id,content_name:e.name,quantity:e.quantity||1,price:e.price}))),(t.value||t.total||t.revenue)&&(n.value=t.value||t.total||t.revenue),t.order_id&&(n.order_id=t.order_id);break;default:t.value&&(n.value=t.value);break}return n}function M(e=false){let t=(t,n)=>{if(!n.tikTokId||!A(n.tikTokId,e))return;let r=t.name||`Unknown`,i=C[r]||r,a=j(i,t.properties);O(n.tikTokId,i,a),e&&console.log(`[TikTok Pixel] Sent ${i}:`,a);},n=(t,n)=>{n.tikTokId&&A(n.tikTokId,e)&&(k(n.tikTokId),e&&console.log(`[TikTok Pixel] Sent page view`));};return {name:`TikTok Pixel`,track:t,page:n,screen:n,identify:(t,n)=>{!n.tikTokId||!t.userId||A(n.tikTokId,e)&&(D(n.tikTokId,t.userId),e&&console.log(`[TikTok Pixel] Identity synced: ${t.userId}`));}}}function N(e,t=false){let n=new Map,r=new Map,i=S(e,t),a=[d(t),y(t),M(t)],o=async n=>{try{let r=(await e.promoter.get({key:n})).promoter?.tracking,i={fbId:r?.fbId||void 0,gtmId:r?.gtmId||void 0,tikTokId:r?.tikTokId||void 0};return t&&console.log(`[DestinationManager] Fetched config for promoter ${n}:`,i),i}catch(e){return t&&console.warn(`[DestinationManager] Failed to fetch promoter ${n} config:`,e),{}}},s=async e=>{let t=n.get(e);if(t)return t;let i=r.get(e);if(i)return i;i=o(e),r.set(e,i);try{let t=await i;return n.set(e,t),t}finally{r.delete(e);}},c=(e,t,n)=>{switch(t.type){case `track`:e.track(t,n);break;case `page`:e.page(t,n);break;case `screen`:e.screen(t,n);break;case `identify`:e.identify(t,n);break}};return {sendEvent:async(e,n)=>{let r=await s(n);if(c(i,e,r),r.fbId||r.gtmId||r.tikTokId)for(let n of a)try{c(n,e,r);}catch(e){t&&console.error(`[DestinationManager] ${n.name} error:`,e);}},clearCache:()=>{n.clear(),r.clear();}}}const P=`ses_sid`,F=`ses_aid`;function I(){return distExports.typeid(`ssn`).toString()}function L(){return distExports.typeid(`anon`).toString()}function R(e){if(typeof document>`u`)return null;let t=document.cookie.split(`;`);for(let n of t){let[t,...r]=n.trim().split(`=`),i=r.join(`=`);if(t===e&&i)return decodeURIComponent(i)}return null}function z(e,t,n={}){if(typeof document>`u`)return;let r=`${e}=${encodeURIComponent(t)}; path=/`;n.maxAge!==void 0&&(r+=`; max-age=${n.maxAge}`),n.sameSite&&(r+=`; samesite=${n.sameSite}`),document.cookie=r;}function B(e){if(typeof localStorage>`u`)return null;try{return localStorage.getItem(e)}catch{return null}}function V(e,t){if(!(typeof localStorage>`u`))try{localStorage.setItem(e,t);}catch{}}function H(){let e=R(P);return e||(e=I(),z(P,e,{sameSite:`lax`})),e}function U(){let e=B(F);return e||(e=L(),V(F,e)),e}function W(){let e=I(),t=L();return z(P,e,{sameSite:`lax`}),V(F,t),{sessionId:e,anonymousId:t}}const G={AUD:{locale:`en-AU`},NZD:{locale:`en-NZ`},GBP:{locale:`en-GB`},USD:{locale:`en-US`},EUR:{locale:`de-DE`},CAD:{locale:`en-CA`},CHF:{locale:`de-CH`},JPY:{locale:`ja-JP`},CNY:{locale:`zh-CN`},HKD:{locale:`zh-HK`},SGD:{locale:`en-SG`},KRW:{locale:`ko-KR`},INR:{locale:`en-IN`},MXN:{locale:`es-MX`},BRL:{locale:`pt-BR`},ZAR:{locale:`en-ZA`},SEK:{locale:`sv-SE`},NOK:{locale:`nb-NO`},DKK:{locale:`da-DK`},PLN:{locale:`pl-PL`},CZK:{locale:`cs-CZ`},HUF:{locale:`hu-HU`},RON:{locale:`ro-RO`},THB:{locale:`th-TH`},ILS:{locale:`he-IL`}};function K(e,t){let n=G[t]?.locale??`en-US`;return new Intl.NumberFormat(n,{style:`currency`,currency:t}).format(e/100)}function q(e){let t=e.debug??false,r=N(e.client,t),i=H(),a=U(),o;t&&console.log(`[Analytics] Initialized:`,{sessionId:i,anonymousId:a});let s=(e,t,r)=>({type:e,name:t,properties:r,context:n(),timestamp:Date.now(),sessionId:i,anonymousId:a,userId:o}),c=(e,n)=>{r.sendEvent(e,n).catch(e=>{t&&console.error(`[Analytics] Failed to send event:`,e);});},l=(e,n)=>{let r=e.promoter_id;return !r&&t&&console.warn(`[Analytics] ${n}() called without promoter_id, skipping`),r};return {track:(e,t={})=>{let n=l(t,`track`);n&&c(s(`track`,e,t),n);},page:(e,t={})=>{let n=l(t,`page`);n&&c(s(`page`,e||`Page Viewed`,t),n);},screen:(e,t={})=>{let n=l(t,`screen`);n&&c(s(`screen`,e||`Screen Viewed`,t),n);},identify:(e,r={})=>{o=e;let s=r.promoter_id;s&&c({type:`identify`,properties:{},context:n(),timestamp:Date.now(),sessionId:i,anonymousId:a,userId:e,traits:r},s),t&&console.log(`[Analytics] User identified:`,e);},alias:(e,n)=>{t&&console.log(`[Analytics] Alias called:`,{userId:e,previousId:n});},group:(e,r={})=>{let s=r.promoter_id;s&&c({type:`group`,properties:{},context:n(),timestamp:Date.now(),sessionId:i,anonymousId:a,userId:o,groupId:e,traits:r},s),t&&console.log(`[Analytics] Group called:`,{groupId:e,traits:r});},reset:()=>{let e=W();i=e.sessionId,a=e.anonymousId,o=void 0,r.clearCache(),t&&console.log(`[Analytics] Session reset:`,{sessionId:i,anonymousId:a});}}}
1481
1463
 
1482
1464
  const sessionServicesTicketingCss = () => `:host{--background:transparent;--foreground:oklch(0.145 0 0);--card:oklch(1 0 0);--card-foreground:oklch(0.145 0 0);--popover:oklch(1 0 0);--popover-foreground:oklch(0.145 0 0);--primary:oklch(0.205 0 0);--primary-foreground:oklch(0.985 0 0);--secondary:oklch(0.97 0 0);--secondary-foreground:oklch(0.205 0 0);--muted:oklch(0.97 0 0);--muted-foreground:oklch(0.556 0 0);--accent:oklch(0.97 0 0);--accent-foreground:oklch(0.205 0 0);--destructive:oklch(0.577 0.245 27.325);--destructive-foreground:oklch(1 0 0);--border:oklch(0.922 0 0);--input:oklch(0.922 0 0);--ring:oklch(0.708 0 0);--success:oklch(0.66 0.154 149.48);--warning:oklch(0.72 0.153 66.34);--radius:0.625rem;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
1483
1465
  Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--shadow-sm:0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 1px 2px -1px hsl(0 0% 0% / 0.1);--shadow-base:0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 1px 2px -1px hsl(0 0% 0% / 0.1);--shadow-md:0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 2px 4px -1px hsl(0 0% 0% / 0.1);--shadow-lg:0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 4px 6px -1px hsl(0 0% 0% / 0.1);--shadow-xl:0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 8px 10px -1px hsl(0 0% 0% / 0.1);--transition-fast:150ms cubic-bezier(0.4, 0, 0.2, 1);--transition-base:200ms cubic-bezier(0.4, 0, 0.2, 1);--transition-slow:300ms cubic-bezier(0.4, 0, 0.2, 1);--internal-background:var(--background, transparent);--internal-foreground:var(--foreground, oklch(0.145 0 0));--internal-card:var(--card, oklch(1 0 0));--internal-card-foreground:var(--card-foreground, oklch(0.145 0 0));--internal-popover:var(--popover, oklch(1 0 0));--internal-popover-foreground:var(--popover-foreground, oklch(0.145 0 0));--internal-primary:var(--primary, oklch(0.205 0 0));--internal-primary-foreground:var(--primary-foreground, oklch(0.985 0 0));--internal-secondary:var(--secondary, oklch(0.97 0 0));--internal-secondary-foreground:var(--secondary-foreground, oklch(0.205 0 0));--internal-muted:var(--muted, oklch(0.97 0 0));--internal-muted-foreground:var(--muted-foreground, oklch(0.556 0 0));--internal-accent:var(--accent, oklch(0.97 0 0));--internal-accent-foreground:var(--accent-foreground, oklch(0.205 0 0));--internal-destructive:var(--destructive, oklch(0.577 0.245 27.325));--internal-destructive-foreground:var(--destructive-foreground, oklch(1 0 0));--internal-border:var(--border, oklch(0.922 0 0));--internal-input:var(--input, oklch(0.922 0 0));--internal-ring:var(--ring, oklch(0.708 0 0));--internal-success:var(--success, oklch(0.66 0.154 149.48));--internal-warning:var(--warning, oklch(0.72 0.153 66.34));--internal-radius:var(--radius, 0.625rem);--internal-spacing-xs:var(--spacing-xs, 0.25rem);--internal-spacing-sm:var(--spacing-sm, 0.5rem);--internal-spacing-md:var(--spacing-md, 1rem);--internal-spacing-lg:var(--spacing-lg, 1.5rem);--internal-spacing-xl:var(--spacing-xl, 2rem);--internal-font-family:var(--font-family, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif);--internal-font-size-xs:var(--font-size-xs, 0.75rem);--internal-font-size-sm:var(--font-size-sm, 0.875rem);--internal-font-size-base:var(--font-size-base, 1rem);--internal-font-size-lg:var(--font-size-lg, 1.125rem);--internal-font-size-xl:var(--font-size-xl, 1.25rem);--internal-font-size-2xl:var(--font-size-2xl, 1.5rem);--internal-font-weight-normal:var(--font-weight-normal, 400);--internal-font-weight-medium:var(--font-weight-medium, 500);--internal-font-weight-semibold:var(--font-weight-semibold, 600);--internal-font-weight-bold:var(--font-weight-bold, 700);--internal-shadow-sm:var(--shadow-sm, 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 1px 2px -1px hsl(0 0% 0% / 0.1));--internal-shadow-base:var(--shadow-base, 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 1px 2px -1px hsl(0 0% 0% / 0.1));--internal-shadow-md:var(--shadow-md, 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 2px 4px -1px hsl(0 0% 0% / 0.1));--internal-shadow-lg:var(--shadow-lg, 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 4px 6px -1px hsl(0 0% 0% / 0.1));--internal-shadow-xl:var(--shadow-xl, 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 8px 10px -1px hsl(0 0% 0% / 0.1));--internal-transition-fast:var(--transition-fast, 150ms cubic-bezier(0.4, 0, 0.2, 1));--internal-transition-base:var(--transition-base, 200ms cubic-bezier(0.4, 0, 0.2, 1));--internal-transition-slow:var(--transition-slow, 300ms cubic-bezier(0.4, 0, 0.2, 1));display:block;font-family:var(--internal-font-family);color:var(--internal-foreground);background:var(--internal-background)}*{box-sizing:border-box;margin:0;padding:0}*:focus{outline:none}*:focus-visible{outline:2px solid var(--internal-ring);outline-offset:2px;border-radius:calc(var(--internal-radius) - 4px)}.session-services-ticketing-container{width:100%;max-width:100%;margin:0}:host([data-theme="dark"]){--background:transparent;--foreground:oklch(0.96 0 0);--card:oklch(0.17 0 0);--card-foreground:oklch(0.96 0 0);--popover:oklch(0.17 0 0);--popover-foreground:oklch(0.96 0 0);--primary:oklch(0.78 0 0);--primary-foreground:oklch(0.14 0 0);--secondary:oklch(0.22 0 0);--secondary-foreground:oklch(0.96 0 0);--muted:oklch(0.22 0 0);--muted-foreground:oklch(0.78 0 0);--accent:oklch(0.22 0 0);--accent-foreground:oklch(0.96 0 0);--destructive:oklch(0.577 0.245 27.325);--destructive-foreground:oklch(1 0 0);--border:oklch(0.29 0 0);--input:oklch(0.29 0 0);--ring:oklch(0.60 0 0)}.tickets-wrapper{padding:0;width:100%}.unsectioned-admissions{width:100%}.unsectioned-admissions .ticket-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin:0 0 var(--spacing-lg) 0;overflow:hidden;width:100%;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base)}.unsectioned-admissions .ticket-section:hover{box-shadow:var(--shadow-sm)}.unsectioned-admissions .admission-card{border-radius:var(--radius);border:none}.unsectioned-admissions .admission-card:first-child{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.unsectioned-admissions .admission-card:last-child{border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius)}.ticket-section{background:var(--internal-card);border:1px solid var(--internal-border);border-radius:var(--internal-radius);margin:0 0 var(--internal-spacing-lg) 0;overflow:hidden;width:100%;box-shadow:var(--internal-shadow-sm);transition:all var(--internal-transition-base)}.ticket-section:focus-within{box-shadow:var(--internal-shadow-md)}.ticket-section:hover:not(.section-sold-out){box-shadow:var(--internal-shadow-md)}.ticket-section.section-sold-out{opacity:1;background:var(--card);box-shadow:none;position:relative;border-color:var(--border);overflow:hidden}.ticket-section.section-sold-out .section-header{background:transparent;padding-bottom:var(--spacing-md)}.ticket-section.section-sold-out .section-name,.ticket-section.section-sold-out .section-time,.ticket-section.section-sold-out .section-venue{opacity:0.8}.ticket-section.section-sold-out .admissions-list{opacity:0.6;pointer-events:none;filter:grayscale(0.3)}.ticket-section.section-sold-out .admission-card{background:var(--card)}.ticket-section.section-sold-out .quantity-controls,.ticket-section.section-sold-out .sold-out-controls{opacity:0.7}.section-header{padding:var(--internal-spacing-md) var(--internal-spacing-lg);border-bottom:1px solid var(--internal-border);background:var(--internal-card)}.section-name{color:var(--internal-foreground);font-size:var(--internal-font-size-lg);font-weight:var(--internal-font-weight-semibold);letter-spacing:-0.025em;margin:0 0 var(--internal-spacing-xs) 0;display:flex;align-items:center;gap:var(--internal-spacing-sm)}.section-time{color:var(--internal-muted-foreground);font-size:var(--internal-font-size-sm);margin-bottom:var(--internal-spacing-xs);display:flex;align-items:center;gap:var(--internal-spacing-xs)}.section-time svg{width:calc(var(--spacing-sm) + var(--spacing-xs));height:calc(var(--spacing-sm) + var(--spacing-xs));flex-shrink:0;opacity:0.8}.section-venue{color:var(--muted-foreground);font-size:var(--font-size-sm);display:flex;align-items:center;gap:var(--spacing-xs)}.section-venue svg{width:calc(var(--spacing-sm) + var(--spacing-xs));height:calc(var(--spacing-sm) + var(--spacing-xs));flex-shrink:0;opacity:0.8}.admissions-list{padding:0}.admission-card{border-bottom:1px solid var(--internal-border);padding:var(--internal-spacing-md) var(--internal-spacing-lg);position:relative;transition:background-color var(--internal-transition-base);cursor:default}.admission-card:focus-visible{outline:2px solid var(--internal-ring);outline-offset:-2px;z-index:1}.admission-card:hover:not(.sold-out){background:oklch(from var(--internal-card) calc(l - 0.02) c h)}.admission-card.sold-out{opacity:1;background:var(--card);position:relative}.admission-card.sold-out .admission-price,.admission-card.sold-out .admission-fee{opacity:0.5}.admission-card:last-child{border-bottom:none}.admission-content{display:flex;justify-content:space-between;align-items:center}.admission-details{flex:1}.admission-title{color:var(--internal-foreground);font-size:var(--internal-font-size-lg);font-weight:var(--internal-font-weight-semibold);margin-bottom:var(--internal-spacing-sm);display:flex;align-items:center;gap:var(--internal-spacing-sm)}.admission-time{color:var(--muted-foreground);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-xs)}.admission-time svg{width:calc(var(--spacing-sm) + var(--spacing-xs));height:calc(var(--spacing-sm) + var(--spacing-xs));flex-shrink:0;opacity:0.8}.admission-venue{color:var(--muted-foreground);font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm);display:flex;align-items:center;gap:var(--spacing-xs)}.admission-venue svg{width:calc(var(--spacing-sm) + var(--spacing-xs));height:calc(var(--spacing-sm) + var(--spacing-xs));flex-shrink:0;opacity:0.8}.solo-admission .admission-content{flex-direction:column;align-items:stretch}.solo-admission .admission-details{width:100%}.solo-admission .admission-price-info{margin-top:var(--spacing-md);display:flex;justify-content:space-between;align-items:flex-start;width:100%}.solo-admission .quantity-controls{margin-left:auto;flex-shrink:0}.sold-out-badge{display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;color:var(--muted-foreground);border:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:0.05em;margin-left:auto;opacity:0.7}.admission-price-info{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);width:100%}.admission-price-wrapper{display:flex;flex-direction:column}.admission-price{color:var(--internal-primary);font-size:var(--internal-font-size-xl);font-weight:var(--internal-font-weight-bold);letter-spacing:-0.025em;line-height:1.1}.admission-fee{color:var(--muted-foreground);font-size:var(--font-size-xs);background:transparent;padding:0;border-radius:0;font-weight:var(--font-weight-normal);display:block;margin-top:0.125rem;line-height:1.12;}.admission-savings{color:var(--success);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.admission-availability{color:var(--warning);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:oklch(from var(--warning) l c h / 0.1);padding:calc(var(--spacing-xs) / 2) calc(var(--spacing-xs) * 2);border-radius:calc(var(--radius) - 4px);display:inline-block;margin-top:var(--spacing-xs)}.quantity-controls{display:inline-flex;align-items:center;gap:0;background:var(--internal-secondary);border:1px solid var(--internal-border);border-radius:calc(var(--internal-radius) - 2px);overflow:hidden;box-shadow:none;transition:all var(--internal-transition-fast)}.quantity-btn{width:calc(var(--internal-spacing-lg) * 1.5);height:calc(var(--internal-spacing-lg) * 1.5);border:none;background:transparent;color:var(--internal-muted-foreground);font-size:var(--internal-font-size-base);font-weight:var(--internal-font-weight-medium);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--internal-transition-fast);position:relative}.quantity-btn:focus-visible{outline:2px solid var(--internal-ring);outline-offset:-2px;z-index:1}.quantity-btn:hover:not(:disabled){background:var(--internal-accent);color:var(--internal-accent-foreground)}.quantity-btn:active:not(:disabled){transform:scale(0.95)}.quantity-btn:disabled{opacity:0.6;cursor:not-allowed;background:var(--internal-secondary);color:var(--internal-muted-foreground);border-color:var(--internal-border);box-shadow:none}.quantity-btn.decrease{border-right:1px solid var(--internal-border)}.quantity-btn.increase{border-left:1px solid var(--internal-border)}.quantity-value{min-width:2.5rem;text-align:center;font-size:var(--internal-font-size-sm);font-weight:var(--internal-font-weight-semibold);color:var(--internal-foreground);padding:0 var(--internal-spacing-xs)}.sold-out-controls{display:inline-flex;align-items:center;justify-content:center;min-width:calc(var(--spacing-lg) * 1.5 * 2 + 2.5rem);height:calc(var(--spacing-lg) * 1.5);padding:0 var(--spacing-md);background:var(--muted);color:var(--muted-foreground);border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:0.025em;text-transform:uppercase}.sold-out-text{color:var(--muted-foreground);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:0.025em;text-transform:uppercase}.order-summary{background:var(--internal-card);border:1px solid var(--internal-border);border-radius:var(--internal-radius);padding:var(--internal-spacing-lg);margin:var(--internal-spacing-lg) 0 0 0;box-shadow:var(--internal-shadow-lg);width:100%}.summary-title{font-size:var(--internal-font-size-lg);font-weight:var(--internal-font-weight-semibold);margin-bottom:var(--internal-spacing-md);color:var(--internal-foreground);letter-spacing:-0.025em}.order-item{display:flex;justify-content:space-between;margin-bottom:var(--internal-spacing-sm);font-size:var(--internal-font-size-base);color:var(--internal-foreground)}.order-item-with-section{margin-bottom:var(--internal-spacing-sm)}.item-section-line{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--internal-font-size-base);color:var(--internal-foreground)}.item-section-name{flex:1;font-weight:var(--font-weight-medium)}.item-admission-name{font-size:var(--internal-font-size-sm);color:var(--internal-muted-foreground);margin-top:var(--internal-spacing-xs);padding-left:var(--internal-spacing-md);font-weight:var(--internal-font-weight-normal)}.item-description{flex:1;font-weight:var(--internal-font-weight-medium)}.item-price{font-weight:var(--internal-font-weight-bold);white-space:nowrap}.empty-cart-message{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--internal-spacing-sm);color:var(--internal-muted-foreground);font-size:var(--internal-font-size-base);font-style:normal}.empty-cart-text{flex:1}.empty-cart-price{font-weight:var(--font-weight-medium)}.order-fees{padding:var(--internal-spacing-sm) 0;border-top:1px solid var(--internal-border);border-bottom:1px solid var(--internal-border);margin-bottom:var(--internal-spacing-sm)}.fee-row{display:flex;justify-content:space-between;font-size:var(--internal-font-size-base);color:var(--internal-foreground);font-weight:var(--internal-font-weight-medium)}.order-total{display:flex;justify-content:space-between;font-size:var(--internal-font-size-base);font-weight:var(--internal-font-weight-bold);color:var(--internal-foreground);margin-bottom:var(--internal-spacing-md)}.checkout-btn{width:100%;padding:calc(var(--spacing-sm) + var(--spacing-xs)) var(--spacing-lg);background:var(--primary);color:var(--primary-foreground);border:none;border-radius:calc(var(--radius) - 2px);font-size:var(--internal-font-size-base);font-weight:var(--internal-font-weight-bold);cursor:pointer;transition:all var(--internal-transition-fast);box-shadow:var(--internal-shadow-sm);position:relative;overflow:hidden}.checkout-btn:focus-visible{outline:2px solid var(--internal-ring);outline-offset:2px}.checkout-btn:hover:not(:disabled){background:oklch(from var(--primary) calc(l - 0.08) c h);box-shadow:var(--shadow-md);transform:translateY(-1px)}.checkout-btn:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.checkout-btn:disabled{opacity:0.6;cursor:not-allowed;background:var(--internal-secondary);color:var(--internal-muted-foreground);box-shadow:none;border:1px solid var(--internal-border)}.loading-state,.error-state{display:flex;justify-content:center;align-items:center;padding:var(--spacing-xl);text-align:center;min-height:200px}.error-state{color:var(--primary)}.error-banner{background:oklch(