{"version":3,"mappings":"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AAO,EACP,SAAU,eACV,YAAa,gBACf,EACA,CACE,MAAO,EACP,SAAU,0BACV,YAAa,6BACf,EACA,CACE,MAAO,EACP,SAAU,uBACV,YAAa,0BACf,EACA,CACE,MAAO,IACP,SAAU,eACV,YAAa,cACf,EACA,CACE,MAAO,IACP,SAAU,eACV,YAAa,eAEd,EACH,EACaK,GAAcP,EAAO,MAAM,YAAc,CACpD,KAAM,cACN,YAAa,eACb,KAAM,OACN,GAAGE,GAA2C,CAC9C,CACE,MAAO,EACP,SAAU,UACV,YAAa,SACf,EACA,CACE,MAAO,EACP,SAAU,oBACV,YAAa,sBAEd,EACH,EACaM,GAAiBR,EAAO,MAAM,eAAiB,CAC1D,KAAM,iBACN,YAAa,kBACb,KAAM,OACN,GAAGE,GAAwD,CAC3D,CACE,MAAO,EACP,SAAU,UACV,YAAa,SACf,EACA,CACE,MAAO,EACP,SAAU,YACV,YAAa,WACf,EACA,CACE,MAAO,EACP,SAAU,WACV,YAAa,UACf,EACA,CACE,MAAO,EACP,SAAU,UACV,YAAa,UAEd,EACH,EACaO,GAAeT,EAAO,MAAM,aAAe,CACtD,KAAM,eACN,YAAa,gBACb,KAAM,OACN,GAAGE,GAA4C,CAC/C,CACE,MAAO,EACP,SAAU,WACV,YAAa,UACf,EACA,CACE,MAAO,EACP,SAAU,WACV,YAAa,UACf,EACA,CACE,MAAO,EACP,SAAU,SACV,YAAa,SAEd,EACH,EACaQ,GAAkBV,EAAO,MAAM,gBAAkB,CAC5D,KAAM,kBACN,YAAa,mBACb,KAAM,OACN,GAAGE,GAAiD,CACpD,CACE,MAAO,EACP,SAAU,aACV,YAAa,aACf,EACA,CACE,MAAO,EACP,SAAU,YACV,YAAa,WACf,EACA,CACE,MAAO,EACP,SAAU,WACV,YAAa,WAEd,EACH,EACaS,GAAyBX,EAAO,MAAM,uBAAyB,CAC1E,KAAM,yBACN,YAAa,4BACb,KAAM,OACN,GAAGE,GAA0D,CAC7D,CACE,MAAO,EACP,SAAU,YACV,YAAa,WACf,EACA,CACE,MAAO,EACP,SAAU,mBACV,YAAa,mBACf,EACA,CACE,MAAO,EACP,SAAU,OACV,YAAa,MACf,EACA,CACE,MAAO,EACP,SAAU,OACV,YAAa,OAEd,EACH,EACaU,GAAeZ,EAAO,MAAM,aAAe,CACtD,KAAM,eACN,YAAa,gBACb,KAAM,OACN,GAAGE,GAAiD,CACpD,CACE,MAAO,EACP,SAAU,iBACV,YAAa,iBACf,EACA,CACE,MAAO,EACP,SAAU,mBACV,YAAa,oBAEd,EACH,EACaW,GAAeb,EAAO,MAAM,aAAe,CACtD,KAAM,eACN,YAAa,gBACb,KAAM,OACN,GAAGE,GAAuD,CAC1D,CACE,MAAO,EACP,SAAU,YACV,YAAa,WACf,EACA,CACE,MAAO,EACP,SAAU,OACV,YAAa,MACf,EACA,CACE,MAAO,EACP,SAAU,YACV,YAAa,WACf,EACA,CACE,MAAO,EACP,SAAU,WACV,YAAa,WAEd,EACH,EACaY,GAAed,EAAO,MAAM,aAAe,CACtD,KAAM,eACN,YAAa,iBACb,IAAI,aAAc,CAAE,OAAO,KAAK,MAAM,EAAG,EACzC,KAAM,QACN,gBAAiB,eACjB,IAAI,SAAU,CAAE,OAAO,KAAK,MAAM,EAAG,EACrC,cAAe,EACf,MAAO,CACL,GAAI,CACF,KAAM,KACN,YAAa,KACb,KAAM,SACN,KAAM,aACN,OAAQ,CACV,EACA,mBAAoB,CAClB,KAAM,qBACN,YAAa,wBACb,KAAM,OACN,SAAU,WACV,KAAM,OACR,EACA,iBAAkB,CAChB,KAAM,mBACN,YAAa,sBACb,KAAM,OACN,SAAU,WACV,KAAM,OACR,EACA,4BAA6B,CAC3B,KAAM,8BACN,YAAa,iCACb,KAAM,OACN,SAAU,WACV,KAAM,OACR,EACA,wBAAyB,CACvB,KAAM,0BACN,YAAa,8BACb,KAAM,OACN,SAAU,WACV,SAAU,GACV,KAAM,QACN,cAAe,EACjB,EACA,sBAAuB,CACrB,KAAM,wBACN,YAAa,4BACb,KAAM,OACN,SAAU,WACV,SAAU,GACV,KAAM,QACN,cAAe,EACjB,EACA,cAAe,CACb,KAAM,gBACN,YAAa,iBACb,KAAM,SACN,KAAM,OACR,EACA,gBAAiB,CACf,KAAM,kBACN,YAAa,mBACb,KAAM,SACN,KAAM,OACR,EACA,cAAe,CACb,KAAM,gBACN,YAAa,iBACb,KAAM,SACN,KAAM,OACR,EACA,UAAW,CACT,KAAM,YACN,YAAa,YACb,KAAM,UACN,KAAM,OACR,EACA,QAAS,CACP,KAAM,UACN,YAAa,WACb,KAAM,SACN,KAAM,OACR,EACA,UAAW,CACT,KAAM,YACN,YAAa,aACb,KAAM,SACN,KAAM,OACR,EACA,sBAAuB,CACrB,KAAM,wBACN,YAAa,0BACb,KAAM,SACN,KAAM,OACR,EACA,qBAAsB,CACpB,KAAM,uBACN,YAAa,yBACb,KAAM,SACN,KAAM,OACR,EACA,cAAe,CACb,KAAM,gBACN,YAAa,iBACb,KAAM,SACN,KAAM,OACR,EACA,mBAAoB,CAClB,KAAM,qBACN,YAAa,uBACb,KAAM,SACN,KAAM,OACR,EACA,qBAAsB,CACpB,KAAM,uBACN,YAAa,yBACb,KAAM,SACN,KAAM,OACR,EACA,QAAS,CACP,KAAM,UACN,YAAa,WACb,KAAM,UACN,KAAM,QACN,cAAe,EACjB,EACA,eAAgB,CACd,KAAM,iBACN,YAAa,kBACb,KAAM,SACN,KAAM,OACR,EACA,4BAA6B,CAC3B,KAAM,8BACN,YAAa,kCACb,KAAM,SACN,KAAM,OACR,EACA,sBAAuB,CACrB,KAAM,wBACN,YAAa,2BACb,KAAM,SACN,KAAM,OACR,EACA,qBAAsB,CACpB,KAAM,uBACN,YAAa,0BACb,KAAM,SACN,KAAM,OACR,EACA,uBAAwB,CACtB,KAAM,yBACN,YAAa,4BACb,KAAM,SACN,KAAM,OACR,EACA,8BAA+B,CAC7B,KAAM,gCACN,YAAa,oCACb,KAAM,SACN,KAAM,OACR,EACA,wBAAyB,CACvB,KAAM,0BACN,YAAa,6BACb,KAAM,SACN,KAAM,OACR,EACA,SAAU,CACR,KAAM,WACN,YAAa,YACb,KAAM,UACN,KAAM,OACR,EACA,QAAS,CACP,KAAM,UACN,YAAa,WACb,KAAM,UACN,KAAM,OACR,EACA,uBAAwB,CACtB,KAAM,yBACN,YAAa,6BACb,KAAM,SACN,KAAM,OACR,EACA,cAAe,CACb,KAAM,gBACN,YAAa,kBACb,KAAM,UACN,KAAM,OACR,EACA,YAAa,CACX,KAAM,cACN,YAAa,gBACb,KAAM,UACN,KAAM,OACR,EACA,0BAA2B,CACzB,KAAM,4BACN,YAAa,+BACb,KAAM,UACN,KAAM,OACR,EACA,kBAAmB,CACjB,KAAM,oBACN,YAAa,qBACb,KAAM,SACN,KAAM,QACN,cAAe,EACjB,EACA,oBAAqB,CACnB,KAAM,sBACN,YAAa,uBACb,KAAM,SACN,KAAM,QACN,cAAe,EACjB,EACA,YAAa,CACX,KAAM,cACN,YAAa,eACb,KAAM,aACN,SAAU,CACR,KAAM,kBACN,YAAa,GACb,KAAM,QACN,KAAM,SACN,IAAI,SAAU,CAAE,OAAQA,EAAO,MAAM,cACvC,EACA,KAAM,QACN,cAAe,EACjB,EACA,iBAAkB,CAChB,KAAM,mBACN,YAAa,qBACb,KAAM,SACN,KAAM,QACN,cAAe,EACjB,EACA,YAAa,CACX,KAAM,cACN,YAAa,eACb,KAAM,aACN,SAAU,CACR,KAAM,kBACN,YAAa,GACb,KAAM,QACN,KAAM,SACN,IAAI,SAAU,CAAE,OAAQA,EAAO,MAAM,WACvC,EACA,KAAM,QACN,cAAe,GAEnB,EACA,QAAS,CACT,EACA,YAAa,CACX,eAAgB,CACd,KAAM,aACN,KAAM,iBACN,YAAa,kBACb,MAAO,CACL,KAAM,CACJ,KAAM,OACN,YAAa,OACb,KAAM,SACN,KAAM,OACR,EACA,MAAO,CACL,KAAM,QACN,YAAa,QACb,KAAM,SACN,KAAM,OACR,EACA,cAAe,CACb,KAAM,gBACN,YAAa,kBACb,KAAM,UACN,KAAM,OACR,EACA,mBAAoB,CAClB,KAAM,qBACN,YAAa,uBACb,KAAM,UACN,KAAM,OACR,EACA,cAAe,CACb,KAAM,gBACN,YAAa,kBACb,KAAM,UACN,KAAM,OACR,EACA,eAAgB,CACd,KAAM,iBACN,YAAa,mBACb,KAAM,UACN,KAAM,OACR,EACA,gBAAiB,CACf,KAAM,kBACN,YAAa,mBACb,KAAM,UACN,KAAM,OACR,EACA,iBAAkB,CAChB,KAAM,mBACN,YAAa,oBACb,KAAM,UACN,KAAM,OACR,EACA,QAAS,CACP,KAAM,UACN,YAAa,WACb,KAAM,OACN,SAAU,WACV,KAAM,OACR,EACA,SAAU,CACR,KAAM,WACN,YAAa,YACb,KAAM,UACN,KAAM,OACR,EACA,YAAa,CACX,KAAM,cACN,YAAa,gBACb,KAAM,SACN,KAAM,QACR,CAEJ,EACA,cAAe,CACb,KAAM,aACN,KAAM,gBACN,YAAa,iBACb,UAAW,GACX,MAAO,CACL,cAAe,CACb,KAAM,gBACN,YAAa,kBACb,KAAM,UACN,KAAM,OACR,EACA,mBAAoB,CAClB,KAAM,qBACN,YAAa,uBACb,KAAM,UACN,KAAM,OACR,EACA,cAAe,CACb,KAAM,gBACN,YAAa,kBACb,KAAM,UACN,KAAM,OACR,EACA,eAAgB,CACd,KAAM,iBACN,YAAa,mBACb,KAAM,UACN,KAAM,OACR,EACA,gBAAiB,CACf,KAAM,kBACN,YAAa,mBACb,KAAM,UACN,KAAM,OACR,EACA,iBAAkB,CAChB,KAAM,mBACN,YAAa,oBACb,KAAM,UACN,KAAM,OACR,EACA,QAAS,CACP,KAAM,UACN,YAAa,WACb,KAAM,OACN,SAAU,WACV,KAAM,OACR,EACA,SAAU,CACR,KAAM,WACN,YAAa,YACb,KAAM,UACN,KAAM,OACR,EACA,YAAa,CACX,KAAM,cACN,YAAa,gBACb,KAAM,SACN,KAAM,QACR,CACF,CACF,CAEJ,EACae,GAAWf,EAAO,MAAM,SAAW,CAC9C,KAAM,WACN,YAAa,YACb,IAAI,aAAc,CAAE,OAAO,KAAK,MAAM,WAAY,EAClD,KAAM,QACN,gBAAiB,WACjB,IAAI,SAAU,CAAE,OAAO,KAAK,MAAM,EAAG,EACrC,cAAe,EACf,MAAO,CACL,GAAI,CACF,KAAM,KACN,YAAa,KACb,KAAM,SACN,KAAM,aACN,OAAQ,CACV,EACA,YAAa,CACX,KAAM,cACN,YAAa,cACb,KAAM,SACN,KAAM,QAEV,EACA,QAAS,CACT,EACA,YAAa,CACX,cAAe,CACb,KAAM,aACN,KAAM,gBACN,YAAa,iBACb,UAAW,GACX,MAAO,EACP,CACF,CAEJ,EACagB,GAAehB,EAAO,MAAM,aAAe,CACtD,KAAM,eACN,YAAa,iBACb,IAAI,aAAc,CAAE,OAAO,KAAK,MAAM,WAAY,EAClD,KAAM,QACN,gBAAiB,eACjB,IAAI,SAAU,CAAE,OAAO,KAAK,MAAM,EAAG,EACrC,cAAe,EACf,MAAO,CACL,GAAI,CACF,KAAM,KACN,YAAa,KACb,KAAM,SACN,KAAM,aACN,OAAQ,CACV,EACA,YAAa,CACX,KAAM,cACN,YAAa,cACb,KAAM,SACN,KAAM,QAEV,EACA,QAAS,CACT,EACA,YAAa,CACX,cAAe,CACb,KAAM,aACN,KAAM,gBACN,YAAa,iBACb,UAAW,GACX,MAAO,EACP,CACF,CAEJ,EACaiB,GAAoBjB,EAAO,MAAM,kBAAoB,CAChE,KAAM,oBACN,YAAa,sBACb,IAAI,aAAc,CAAE,OAAO,KAAK,MAAM,QAAS,EAC/C,KAAM,QACN,gBAAiB,oBACjB,IAAI,SAAU,CAAE,OAAO,KAAK,MAAM,QAAS,EAC3C,cAAe,EACf,MAAO,CACL,SAAU,CACR,KAAM,WACN,YAAa,YACb,KAAM,SACN,KAAM,aACN,OAAQ,CACV,EACA,UAAW,CACT,KAAM,YACN,YAAa,aACb,KAAM,SACN,KAAM,OACR,EACA,SAAU,CACR,KAAM,WACN,YAAa,YACb,KAAM,SACN,KAAM,OACR,EACA,MAAO,CACL,KAAM,QACN,YAAa,QACb,KAAM,SACN,KAAM,OACR,EACA,MAAO,CACL,KAAM,QACN,YAAa,QACb,KAAM,SACN,KAAM,OACR,EACA,gBAAiB,CACf,KAAM,kBACN,YAAa,oBACb,KAAM,UACN,KAAM,OACR,EACA,WAAY,CACV,KAAM,aACN,YAAa,aACb,KAAM,OACN,IAAI,SAAU,CAAS,OAAAU,EAAgB,EACvC,KAAM,OACR,EACA,qBAAsB,CACpB,KAAM,uBACN,YAAa,0BACb,KAAM,UACN,KAAM,OACR,EACA,2BAA4B,CAC1B,KAAM,6BACN,YAAa,gCACb,KAAM,UACN,KAAM,OACR,EACA,cAAe,CACb,KAAM,gBACN,YAAa,iBACb,KAAM,SACN,KAAM,OACR,EACA,YAAa,CACX,KAAM,cACN,YAAa,eACb,KAAM,SACN,KAAM,OACR,EACA,aAAc,CACZ,KAAM,eACN,YAAa,gBACb,KAAM,SACN,KAAM,OACR,EACA,WAAY,CACV,KAAM,aACN,YAAa,cACb,KAAM,SACN,KAAM,OACR,EACA,eAAgB,CACd,KAAM,iBACN,YAAa,kBACb,KAAM,SACN,KAAM,OACR,EACA,WAAY,CACV,KAAM,aACN,YAAa,cACb,KAAM,SACN,KAAM,OACR,EACA,SAAU,CACR,KAAM,WACN,YAAa,YACb,KAAM,UACN,KAAM,OACR,EACA,gBAAiB,CACf,KAAM,kBACN,YAAa,oBACb,KAAM,UACN,KAAM,OACR,EACA,mBAAoB,CAClB,KAAM,qBACN,YAAa,wBACb,KAAM,UACN,KAAM,QACN,cAAe,EACjB,EACA,aAAc,CACZ,KAAM,eACN,YAAa,gBACb,KAAM,OACN,SAAU,WACV,KAAM,QACN,cAAe,EACjB,EACA,eAAgB,CACd,KAAM,iBACN,YAAa,kBACb,KAAM,OACN,SAAU,WACV,KAAM,QACN,cAAe,EACjB,EACA,SAAU,CACR,KAAM,WACN,YAAa,YACb,KAAM,UACN,KAAM,QACN,cAAe,EACjB,EACA,KAAM,CACJ,KAAM,OACN,YAAa,OACb,KAAM,OACN,IAAI,SAAU,CAAS,OAAAD,EAAa,EACpC,KAAM,QACN,cAAe,EACjB,EACA,OAAQ,CACN,KAAM,SACN,YAAa,SACb,KAAM,OACN,IAAI,SAAU,CAAS,OAAAD,EAAe,EACtC,KAAM,QACN,cAAe,EACjB,EACA,eAAgB,CACd,KAAM,iBACN,YAAa,kBACb,KAAM,SACN,KAAM,QACN,cAAe,EACjB,EACA,cAAe,CACb,KAAM,gBACN,YAAa,iBACb,KAAM,SACN,KAAM,QACN,cAAe,EACjB,EACA,iBAAkB,CAChB,KAAM,mBACN,YAAa,oBACb,KAAM,SACN,KAAM,QACN,cAAe,EACjB,EACA,aAAc,CACZ,KAAM,eACN,YAAa,gBACb,KAAM,SACN,KAAM,QACN,cAAe,EACjB,EACA,cAAe,CACb,KAAM,gBACN,YAAa,iBACb,KAAM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cACb,KAAM,SACN,KAAM,OACR,EACA,YAAa,CACX,KAAM,cACN,YAAa,cACb,KAAM,SACN,KAAM,OACR,EACA,OAAQ,CACN,KAAM,SACN,YAAa,SACb,KAAM,SACN,KAAM,QACN,cAAe,EACjB,EACA,MAAO,CACL,KAAM,QACN,YAAa,QACb,KAAM,SACN,KAAM,QACN,cAAe,GACjB,CAEJ,EACqCA,EAAO,MAAM,sBAAwB,CACxE,KAAM,wBACN,YAAa,0BACb,KAAM,SACN,MAAO,CACL,UAAW,CACT,KAAM,YACN,YAAa,aACb,KAAM,SACN,KAAM,OACR,EACA,gBAAiB,CACf,KAAM,kBACN,YAAa,oBACb,KAAM,SACN,KAAM,OACR,EACA,OAAQ,CACN,KAAM,SACN,YAAa,SACb,KAAM,SACN,KAAM,OACR,EACA,YAAa,CACX,KAAM,cACN,YAAa,cACb,KAAM,SACN,KAAM,QACN,cAAe,EACjB,EACA,YAAa,CACX,KAAM,cACN,YAAa,eACb,KAAM,OACN,IAAI,SAAU,CAAS,OAAAO,EAAY,EACnC,KAAM,QACN,cAAe,EACjB,EACA,gBAAiB,CACf,KAAM,kBACN,YAAa,oBACb,KAAM,UACN,KAAM,QACN,cAAe,EACjB,EACA,gBAAiB,CACf,KAAM,kBACN,YAAa,oBACb,KAAM,UACN,KAAM,QACN,cAAe,EACjB,EACA,UAAW,CACT,KAAM,YACN,YAAa,aACb,KAAM,UACN,KAAM,QACN,cAAe,EACjB,EACA,SAAU,CACR,KAAM,WACN,YAAa,YACb,KAAM,UACN,KAAM,QACN,cAAe,EACjB,EACA,kBAAmB,CACjB,KAAM,oBACN,YAAa,sBACb,KAAM,UACN,KAAM,QACN,cAAe,EACjB,EACA,kBAAmB,CACjB,KAAM,oBACN,YAAa,sBACb,KAAM,UACN,KAAM,QACN,cAAe,EACjB,EACA,oBAAqB,CACnB,KAAM,sBACN,YAAa,wBACb,KAAM,SACN,KAAM,QACN,cAAe,EACjB,EACA,iBAAkB,CAChB,KAAM,mBACN,YAAa,oBACb,KAAM,aACN,SAAU,CACR,KAAM,kBACN,YAAa,GACb,KAAM,QACN,KAAM,SACN,IAAI,SAAU,CAAE,OAAQP,EAAO,MAAM,8BACvC,EACA,KAAM,QACN,cAAe,GACjB,CAEJ,EAC6CA,EAAO,MAAM,8BAAgC,CACxF,KAAM,gCACN,YAAa,mCACb,IAAI,aAAc,CAAE,OAAO,KAAK,MAAM,WAAY,EAClD,KAAM,SACN,MAAO,CACL,SAAU,CACR,KAAM,WACN,YAAa,YACb,KAAM,SACN,KAAM,QACN,cAAe,EACjB,EACA,YAAa,CACX,KAAM,cACN,YAAa,cACb,KAAM,SACN,KAAM,QACN,cAAe,EACjB,EACA,UAAW,CACT,KAAM,YACN,YAAa,aACb,KAAM,aACN,SAAU,CACR,KAAM,kBACN,YAAa,GACb,KAAM,QACN,KAAM,QACR,EACA,KAAM,QACN,cAAe,EACjB,EACA,SAAU,CACR,KAAM,WACN,YAAa,YACb,KAAM,aACN,SAAU,CACR,KAAM,kBACN,YAAa,GACb,KAAM,QACN,KAAM,QACR,EACA,KAAM,QACN,cAAe,GACjB,CAEJ,EACoCA,EAAO,MAAM,qBAAuB,CACtE,KAAM,uBACN,YAAa,yBACb,KAAM,SACN,MAAO,CACL,SAAU,CACR,KAAM,WACN,YAAa,YACb,KAAM,SACN,KAAM,QACN,cAAe,EACjB,EACA,aAAc,CACZ,KAAM,eACN,YAAa,iBACb,KAAM,SACN,KAAM,QACN,cAAe,EACjB,EACA,WAAY,CACV,KAAM,aACN,YAAa,cACb,KAAM,SACN,KAAM,QACN,cAAe,EACjB,EACA,YAAa,CACX,KAAM,cACN,YAAa,cACb,KAAM,SACN,KAAM,QACN,cAAe,EACjB,EACA,MAAO,CACL,KAAM,QACN,YAAa,QACb,KAAM,SACN,KAAM,QACN,cAAe,EACjB,EACA,KAAM,CACJ,KAAM,OACN,YAAa,OACb,KAAM,SACN,KAAM,QACN,cAAe,EACjB,EACA,eAAgB,CACd,KAAM,iBACN,YAAa,kBACb,KAAM,SACN,KAAM,QACN,cAAe,EACjB,EACA,SAAU,CACR,KAAM,WACN,YAAa,YACb,KAAM,SACN,KAAM,QACN,cAAe,EACjB,EACA,cAAe,CACb,KAAM,gBACN,YAAa,iBACb,KAA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","names":["COMMON_ROUTE_NAMES","matchCommonLegacyRoutes","to","confirmationRoute","eventDateRoute","CommonRoutes","__vitePreload","resetPassword","accountSetup","confirmEmail","AppRoles","GeneralAdmissionSeatNumber","isInAnyRole","r","x","canAccessAdminArea","canAccessAgentArea","isConsignee","useStaticData","domain","AddonItemType","getEnumMeta","AddonStatus","BoardingLabel","DiscountType","EmailType","PaymentKind","PurchaseStatus","PurchaseType","RefundableState","SeatMapAnnotationShape","SectionTypes","TicketStatus","EventDateDto","EventDto","EventTypeDto","TicketPurchaseDto","val","CreditCardDetails","SeatMapAnnotationDto","SeatMapSeatDto","PublicPurchaseService","SignInService","solidify","data","convertToModel","metadata.EventDateDto","mapToModel","DataSources","CalendarSource","params","__publicField","reactiveDataSource","DefaultSource","metadata.EventDto","metadata.EventTypeDto","metadata.TicketPurchaseDto","metadata.CreditCardDetails","EventDateDtoApiClient","ModelApiClient","$metadata.EventDateDto","EventDtoApiClient","$metadata.EventDto","EventTypeDtoApiClient","$metadata.EventTypeDto","TicketPurchaseDtoApiClient","$metadata.TicketPurchaseDto","PublicPurchaseServiceApiClient","ServiceApiClient","$metadata.PublicPurchaseService","eventDateId","$config","$method","$params","publicId","eventPriceId","quantity","seat","tickets","ticketIdList","ticketId","addonConfigId","allergen","comment","discountId","discountCode","cardDetails","postalCode","SignInServiceApiClient","$metadata.SignInService","userName","password","rememberMe","code","newPassword","confirmNewPassword","userId","newEmail","EventDateDtoViewModel","ViewModel","initialData","$apiClients.EventDateDtoApiClient","$models.EventDateDto","defineProps","EventDateDtoListViewModel","ListViewModel","EventDtoViewModel","$apiClients.EventDtoApiClient","$models.EventDto","EventDtoListViewModel","EventTypeDtoViewModel","$apiClients.EventTypeDtoApiClient","$models.EventTypeDto","EventTypeDtoListViewModel","TicketPurchaseDtoViewModel","$apiClients.TicketPurchaseDtoApiClient","$models.TicketPurchaseDto","TicketPurchaseDtoListViewModel","PublicPurchaseServiceViewModel","ServiceViewModel","initiatePurchase","c","args","getSeating","setTicketQuantity","addTicket","addMultipleTickets","removeMultipleTickets","removeTicket","setAddonQuantity","setDietaryRestriction","removeDiscount","applyDiscountCode","completePublicCardPayment","getPostalCodeInfo","markTicketPurchaseHoneyPotSpam","$apiClients.PublicPurchaseServiceApiClient","SignInServiceViewModel","signIn","requestPasswordReset","setupAccount","$apiClients.SignInServiceApiClient","titlePostfix","titleSeparator","useTitle","title","nonFnTitle","watch","newTitle","t","props","__props","step","ref","signInService","currencyFormatter","formatCurrency","amount","isTouch","formatMinutes","totalMinutes","hours","minutes","result","reloadIfNoRequestsPending","target","responseSource","otherPendingLoaders","l","setupPurchaseReloadHandling","ticketPurchase","cb","scrollToTop","wait","behavior","getTicketGroupings","eventDate","groupings","ticket","groupingKey","_a","_b","groupingString","grouping","indexOf","s","p","a","b","getAddonGroupings","addons","addon","EventDatesParameters","parts","format","newDate","parse","isValid","boardingTimeFormatted","computed","subMinutes","dayFormat","dateFormat","selectedEvent","selectedElement","selectedOpen","dataSource","events","eventDateDto","generateEventColor","display","useDisplay","fullCalendar","calendarApi","nextTick","handleDatesSet","calendarOptions","dayGridPlugin","timeGridPlugin","interactionPlugin","showEvent","viewDay","type","_c","_d","info","startDate","rangeChange","previousMonthCalendarOffset","startMonth","arg","selectedDate","resolve","open","hexToRgba","hex","alpha","g","timeOfDay","hashInput","hash","i","char","colorMap","colors","colorIndex","colorName","hexColor","__expose","dir","expanded","vue","getCurrentInstance","stickyHeader","staticData","action_label","scrollParentRef","listener","scrollParent","appToolbar","toolbarHeight","dateHeadingHeight","useRow","row","rect","onMounted","newParent","onBeforeUnmount","eventDatesByDate","resultMap","bucket","startOfDay","parameters","reactive","listViewModel","calendarViewModel","eventType","loadFreshData","event","calendar","swipe","useBindToQueryString","listDataSource","v","calendarDataSource","now","bindCommon","purchaseStarted","purchase","useGtm","priceToItem","cartQuantityChanged","price","purchaseProtectionChanged","state","purchaseProtectionToItem","beginCheckout","purchaseToEvent","addonToItem","purchaseComplete","d","dateFormatted","purchaseDate","lightFormat","purchaseService","showCustomSoldOutMessage","renderSnackbar","hasError","error","moreOptionsIcon","buttonTextMoreOptions","selectTicketsIcon","buttonTextSelectTickets","moreOptionsUrl","selectTicketsUrl","router","useRouter","isStartPurchaseLoading","openExtWindow","url","startPurchase","newPurchase","closeCustomSoldOutMessage","propId","pageTitle","ret","ds","emit","__emit","setQuantity","input","num","isMobile","service","localQuantity","refreshLocalQuantity","subtotal","prev","cur","subtotalWithFees","oldLocalQuantity","err","isSeat","object","$seatMeta","isAnnotation","$annotationMeta","SeatMapContext","seatMap","mouseUp","mouseMove","keyDown","keyUp","value","item","scrollEl","deltaX","deltaY","origin","scrollLeft","scrollTop","section","e","scrollContainer","xMidpoint","yMidpoint","oldZoom","dist","base","xStepMult","pageX","pageY","newZoom","oldXCoord","oldYCoord","getRelativeCoordinates","newXCoord","newYCoord","oldLeft","oldTop","mult","scrollFrame","boundingRect","wasPanning","referenceElement","offset","reference","PurchaseSeatMapContext","setPriceSelect","pendingExchangeTickets","pendingExchangeTicket","seats","restriction","availableSeats","obj","asd","HubConnectionBuilder","HttpTransportType","LogLevel","modelValue","_useModel","generalAdmissionCart","generalAdmissionToBeRemovedList","generalAdmissionToBeAddedList","originalQuantities","bottomSheetOpen","totalCombined","totalAdded","sum","totalRemoved","newValue","oldValue","eventPrice","foundTicket","getCartItemQuantity","cartItem","updateCartQuantity","newQuantity","originalQuantity","updateList","removeFromList","list","existingItem","index","isPublicUser","vueProxy","width","annotation","height","adjustMinZoom","observer","printSeatMap","element","opt","html2pdf","context","priceSelect","onUpdateGACart","addGeneralAdmissionTicket","removeGeneralAdmissionTicket","getGeneralAdmissionPayload","eventPriceWithQuantity","generalAdmissionPayload","filteredEventPrice","endpoints","endpoint","res","priceSelectCallback","totalPrice","acc","ticketQuantity","serverQuantity","items","hasPickedRefundable","premiumRefundsOffered","priceDescription","setRefundable","hideEmptyTicketsSection","groupedTickets","groupedAddons","isRefundedOrExchanged","ticketIDsToShortString","ids","prefix","sorted","currentId","rangeLength","nextId","hasPickedMarketingPref","requiredRule","message","form","hasPickedMarketingPrefChanged","validate","intervalId","isFutureExpiration","isGettingClose","differenceInMinutes","shouldShow","onUnmounted","applyDiscount","validCountries","validStates","country","fallbackToAll","usaStates","canadaProvinces","allStates","emits","isInputFocused","debouncedParse","cardSwipeChanged","cardInput","swipeDataEntered","details","n","o","cardUpdateTimer","updateCard","debounce","numPart","namePart","expirationPart","firstAndLast","reset","noFocus","geographicStates","localComment","debouncedSave","throttle","save","enabled","toggleRestriction","refreshLocalFields","anySelected","form1","form2","hasVisitedStep2","acceptedAgreementPurchase","doNotFillSpot","fakeCheckbox","snackbarMsg","snackbar","showTGTermDialog","showVenueTermDialog","isValidStep1","validContactInfo","isValidStep2","contactInfo","validateForm1","validateForm2","currentEventDateDto","ccDetails","setCCDetails","nextStep","passEventPriceMinimum","ep","countMin","continueToPayment","complete","redirectUrl","filteredItems","printWindow","ticketUrl","ticketDownloadUrl","canaryCookieUid","ticketPrintUrl","ticketsDisabled","regenCanaryCookieUid","canaryCookieName","uid","ticketDownloadPending","ticketDownloadSuccess","downloadTickets","printErrored","deleteDownloadCanaryCookie","ticketPrintPending","printTickets","printJS","isCompleted","canRestart","mailtoLink","dateTimeFormatted","propDisplay","onBeforeRouteLeave","_","next","startTime","confirmationResult","wasConfirmationPrompted","differenceInMilliseconds","createRouter","createWebHistory","SignIn","route","Home","EventDateSingle","PurchaseSingle","PurchaseRedirecting","Error404","from","matchedLegacyRoute","appInsights","ApplicationInsights","useAppInsights","TicketingCommonPlugin","app","options","truncate","text","length","clamp","node","content","LabeledSection","QuantityInput","coalesceVuetify","createCoalesceVuetify","$metadata","inputDefaults","VuetifyOptions","aliases","fa","FullCalendar","EmailEditor","vuetify","createVuetify","createApp","App","createGtm","TicketingCommon","useRoute"],"ignoreList":[],"sources":["../../../app-common/routing.ts","../../../app-private/consts.ts","../../../app-common/composables/useStaticData.ts","../../../app-public/metadata.g.ts","../../../app-public/models.g.ts","../../../app-public/api-clients.g.ts","../../../app-public/viewmodels.g.ts","../../../app-common/composables/useTitle.ts","../../../app-public/views/sign-in.vue","../../../app-common/utils.ts","../../../app-common/event/event-summary-section-content.vue","../../../app-common/components/event-dates-calendar.vue","../../../app-common/components/show-more.vue","../../../app-common/components/event-dates-list.vue","../../../app-common/components/event-dates.vue","../../../app-common/analytics.ts","../../../app-common/event/event-date-start-purchase-btn.vue","../../../app-public/views/home.vue","../../../app-common/views/event-date-single.vue","../../../app-common/views/purchase-redirecting.vue","../../../app-common/components/quantity-input.vue","../../../app-common/purchase/purchase-quantity-selector-row.vue","../../../app-common/seat-map-context.ts","../../../app-common/purchase/purchase-seat-price-select.vue","../../../app-common/components/seat-map-render.vue","../../../app-common/purchase/purchase-seat-map.vue","../../../app-common/purchase/purchase-quantity-selector.vue","../../../app-common/purchase/purchase-addon-selector-row.vue","../../../app-common/purchase/purchase-protection-selector.vue","../../../app-common/purchase/purchase-price-summary.vue","../../../app-common/purchase/purchase-contact-input.vue","../../../app-common/purchase/purchase-discount-summary.vue","../../../app-common/purchase/purchase-expiration-notice.vue","../../../app-common/purchase/purchase-discount-code-input.vue","../../../app-common/geographic-data.ts","../../../app-common/purchase/raw-credit-card-input.vue","../../../app-common/purchase/purchase-dietary-input-row.vue","../../../app-common/purchase/purchase-dietary-input.vue","../../../app-public/components/purchase-create.vue","../../../app-common/purchase/purchase-dietary-summary-section.vue","../../../app-common/purchase/purchase-confirmation-section.vue","../../../app-common/purchase/purchase-print-buttons.vue","../../../app-common/purchase/purchase-status-alert.vue","../../../app-common/components/contact-us-card.vue","../../../app-public/components/purchase-details.vue","../../../app-common/purchase/purchase-receipt-print.vue","../../../app-public/views/purchase-single.vue","../../../app-public/router.ts","../../../app-public/App.vue","../../../app-common/composables/useAppInsights.ts","../../../app-common/setup.ts","../../../app-public/main.ts","../../../app-common/views/reset-password.vue","../../../app-common/views/account-setup.vue","../../../app-common/views/confirm-email.vue"],"sourcesContent":["import {\n RouteLocationNamedRaw,\n RouteLocationNormalizedGeneric,\n RouteRecordRaw,\n} from \"vue-router\";\n\n/** Route name constants where the route exists in both public and private apps. */\nexport namespace COMMON_ROUTE_NAMES {\n export const EventDateSingle = \"event-date-single\";\n export const TicketPurchaseRedirecting = \"ticket-purchase-redirecting\";\n export const TicketPurchaseSingle = \"ticket-purchase-single\";\n}\n\nexport function matchCommonLegacyRoutes(\n to: RouteLocationNormalizedGeneric,\n): RouteLocationNamedRaw | void {\n // Match legacy routes from the old application and redirect to new pages.\n // We have to do manual matching on these because they contain a hash that vue-router won't match on.\n const confirmationRoute = /\\/Tickets\\/#\\/confirmation\\/(\\d+)/.exec(\n to.fullPath,\n );\n if (confirmationRoute) {\n return {\n name: COMMON_ROUTE_NAMES.TicketPurchaseSingle,\n params: { publicId: confirmationRoute[1] },\n };\n }\n\n const eventDateRoute = /\\/Tickets\\/#\\/purchase\\/(\\d+)/.exec(to.fullPath);\n if (eventDateRoute) {\n return {\n name: COMMON_ROUTE_NAMES.EventDateSingle,\n params: { id: eventDateRoute[1] },\n };\n }\n}\n\n/** Routes which have identical configuration between public and private apps\n * (i.e. they use a shared view component) */\nexport const CommonRoutes = [\n {\n path: \"/reset-password\",\n name: \"reset-password\",\n component: () => import(\"@common/views/reset-password.vue\"),\n },\n {\n path: \"/account-setup\",\n name: \"account-setup\",\n component: () => import(\"@common/views/account-setup.vue\"),\n },\n {\n path: \"/confirm-email\",\n name: \"confirm-email\",\n component: () => import(\"@common/views/confirm-email.vue\"),\n },\n];\n","export enum AppRoles {\n Accounting = \"Accounting/financial user\",\n Admin = \"Admin\",\n Agent = \"Agent\",\n Consignee = \"Consignee\",\n Consumer = \"Consumer\",\n DashboardUser = \"Dashboard user\",\n EventManager = \"Event manager/Ticket manager\",\n Marketing = \"Marketing user\",\n TemplateEditor = \"TemplateEditor\",\n TenantAdmin = \"TenantAdmin\",\n CentralReportAccountant = \"Central Report Accountant\",\n Scanner = \"Scanner\",\n CampaignManager = \"Campaign Manager\",\n}\n\nexport enum CouponCodeStaticClass {\n Prefix = \"UC-\",\n}\nexport enum GeneralAdmissionSeatNumber {\n Prefix = \"GA-\",\n}\n","import { AppRoles } from \"../../app-private/consts\";\n\ndeclare const STATIC_DATA: {\n readonly APPINSIGHTS_INSTRUMENTATIONKEY: string;\n readonly RECAPTCHA_SITE_KEY: string | undefined;\n readonly APPINSIGHTS_CONNECTION: string;\n\n readonly USERNAME: string | null;\n readonly userId: string | null;\n readonly userRoles: AppRoles[];\n readonly isPublicUser: boolean;\n\n readonly APP_NAME: string;\n readonly APP_TID: number;\n readonly BANK_STATEMENT_NOTIFICATION_ENABLED: string;\n readonly APP_SUPPORT_EMAIL: string;\n readonly APP_SUPPORT_PHONE: string;\n readonly MARKETING_ENABLED: boolean;\n readonly TEXT_MESSAGING_ENABLED: boolean;\n readonly SHOW_REMAINING_SEATS: string;\n readonly HAS_CUSTOM_BUTTON_TEXT: boolean;\n readonly SHOW_STATUS_COLUMN_ON_LIST_VIEW: boolean;\n readonly SHOW_IMAGE_ON_LIST_VIEW: boolean;\n readonly META_PIXEL_ENABLED: boolean;\n\n readonly COLOR_PRIMARY: string;\n readonly COLOR_SECONDARY: string;\n readonly COLOR_ACCENT: string;\n};\n\nexport function isInAnyRole(r: AppRoles | AppRoles[]): boolean {\n return Array.isArray(r)\n ? STATIC_DATA.userRoles.some((x) => r.includes(x))\n : STATIC_DATA.userRoles.includes(r);\n}\n\nconst canAccessAdminArea = (() => {\n const roles = [AppRoles.Admin, AppRoles.EventManager];\n return roles.some((r) => isInAnyRole(r));\n})();\n\nconst canAccessAgentArea = (() => {\n const roles = [AppRoles.Agent, AppRoles.Admin, AppRoles.EventManager];\n return roles.some((r) => isInAnyRole(r));\n})();\n\nconst isConsignee = isInAnyRole(AppRoles.Consignee);\n\nexport default function useStaticData() {\n return {\n ...STATIC_DATA,\n isInAnyRole: isInAnyRole,\n canAccessAdminArea,\n canAccessAgentArea,\n isConsignee,\n\n // These asset URLs are to prevent Vue from seeing them and turning them into\n // JS `import` statements, which bricks the app when these assets 404.\n faviconSrc: \"/assets/favicon\",\n fullLogoSrc: \"/assets/fulllogo\",\n };\n}\n","import {\n Domain, getEnumMeta, solidify, ModelType, ObjectType,\n PrimitiveProperty, ForeignKeyProperty, PrimaryKeyProperty,\n ModelCollectionNavigationProperty, ModelReferenceNavigationProperty,\n HiddenAreas, BehaviorFlags\n} from 'coalesce-vue/lib/metadata'\n\n\nconst domain: Domain = { enums: {}, types: {}, services: {} }\nexport const AddonItemType = domain.enums.AddonItemType = {\n name: \"AddonItemType\" as const,\n displayName: \"Addon Item Type\",\n type: \"enum\",\n ...getEnumMeta<\"FixedPerAddon\"|\"FixedPerTicket\"|\"PercentPerTicket\">([\n {\n value: 0,\n strValue: \"FixedPerAddon\",\n displayName: \"Fixed price per Addon Item\",\n description: \"Items must be refunded/exchanged individually.\",\n },\n {\n value: 1,\n strValue: \"FixedPerTicket\",\n displayName: \"Fixed price per Admission Ticket\",\n description: \"When admission tickets are refunded/exchanged, items of this type are too.\",\n },\n {\n value: 2,\n strValue: \"PercentPerTicket\",\n displayName: \"Percentage of Admission Tickets Price\",\n description: \"When admission tickets are refunded/exchanged, items of this type are too.\",\n },\n ]),\n}\nexport const AddonStatus = domain.enums.AddonStatus = {\n name: \"AddonStatus\" as const,\n displayName: \"Addon Status\",\n type: \"enum\",\n ...getEnumMeta<\"Completed\"|\"Exchanged\"|\"Refunded\">([\n {\n value: 0,\n strValue: \"Completed\",\n displayName: \"Completed\",\n },\n {\n value: 2,\n strValue: \"Exchanged\",\n displayName: \"Exchanged\",\n },\n {\n value: 3,\n strValue: \"Refunded\",\n displayName: \"Refunded\",\n },\n ]),\n}\nexport const BoardingLabel = domain.enums.BoardingLabel = {\n name: \"BoardingLabel\" as const,\n displayName: \"Boarding Label\",\n type: \"enum\",\n ...getEnumMeta<\"Doors\"|\"Boarding\"|\"Arrive\">([\n {\n value: 0,\n strValue: \"Doors\",\n displayName: \"Doors open\",\n },\n {\n value: 1,\n strValue: \"Boarding\",\n displayName: \"Boarding begins\",\n },\n {\n value: 2,\n strValue: \"Arrive\",\n displayName: \"Arrive by\",\n },\n ]),\n}\nexport const DiscountType = domain.enums.DiscountType = {\n name: \"DiscountType\" as const,\n displayName: \"Discount Type\",\n type: \"enum\",\n ...getEnumMeta<\"PerPurchaseFlatRateDiscount\"|\"PerPurchasePercentageDiscount\"|\"PerTicketFlatRateDiscount\"|\"PerTicketPercentageDiscount\">([\n {\n value: 0,\n strValue: \"PerPurchaseFlatRateDiscount\",\n displayName: \"Per Purchase Flat Rate Discount\",\n },\n {\n value: 1,\n strValue: \"PerPurchasePercentageDiscount\",\n displayName: \"Per Purchase Percentage Discount\",\n },\n {\n value: 2,\n strValue: \"PerTicketFlatRateDiscount\",\n displayName: \"Per Ticket Flat Rate Discount\",\n },\n {\n value: 3,\n strValue: \"PerTicketPercentageDiscount\",\n displayName: \"Per Ticket Percentage Discount\",\n },\n ]),\n}\nexport const EmailType = domain.enums.EmailType = {\n name: \"EmailType\" as const,\n displayName: \"Email Type\",\n type: \"enum\",\n ...getEnumMeta<\"ImmediatelyAfterPurchase\"|\"WithinOneDay\"|\"ThreeHoursAfterTheEvent\"|\"OneHourAfterTheEvent\"|\"Confirmation\"|\"Cancellation\">([\n {\n value: 0,\n strValue: \"ImmediatelyAfterPurchase\",\n displayName: \"Immediately After Purchase\",\n },\n {\n value: 1,\n strValue: \"WithinOneDay\",\n displayName: \"Within One Day\",\n },\n {\n value: 2,\n strValue: \"ThreeHoursAfterTheEvent\",\n displayName: \"Three Hours After The Event\",\n },\n {\n value: 3,\n strValue: \"OneHourAfterTheEvent\",\n displayName: \"One Hour After The Event\",\n },\n {\n value: 100,\n strValue: \"Confirmation\",\n displayName: \"Confirmation\",\n },\n {\n value: 101,\n strValue: \"Cancellation\",\n displayName: \"Cancellation\",\n },\n ]),\n}\nexport const PaymentKind = domain.enums.PaymentKind = {\n name: \"PaymentKind\" as const,\n displayName: \"Payment Kind\",\n type: \"enum\",\n ...getEnumMeta<\"Payment\"|\"CreditCardPayment\">([\n {\n value: 0,\n strValue: \"Payment\",\n displayName: \"Payment\",\n },\n {\n value: 1,\n strValue: \"CreditCardPayment\",\n displayName: \"Credit Card Payment\",\n },\n ]),\n}\nexport const PurchaseStatus = domain.enums.PurchaseStatus = {\n name: \"PurchaseStatus\" as const,\n displayName: \"Purchase Status\",\n type: \"enum\",\n ...getEnumMeta<\"Started\"|\"Completed\"|\"Canceled\"|\"Expired\">([\n {\n value: 0,\n strValue: \"Started\",\n displayName: \"Started\",\n },\n {\n value: 1,\n strValue: \"Completed\",\n displayName: \"Completed\",\n },\n {\n value: 2,\n strValue: \"Canceled\",\n displayName: \"Canceled\",\n },\n {\n value: 3,\n strValue: \"Expired\",\n displayName: \"Expired\",\n },\n ]),\n}\nexport const PurchaseType = domain.enums.PurchaseType = {\n name: \"PurchaseType\" as const,\n displayName: \"Purchase Type\",\n type: \"enum\",\n ...getEnumMeta<\"Purchase\"|\"Exchange\"|\"Refund\">([\n {\n value: 0,\n strValue: \"Purchase\",\n displayName: \"Purchase\",\n },\n {\n value: 1,\n strValue: \"Exchange\",\n displayName: \"Exchange\",\n },\n {\n value: 2,\n strValue: \"Refund\",\n displayName: \"Refund\",\n },\n ]),\n}\nexport const RefundableState = domain.enums.RefundableState = {\n name: \"RefundableState\" as const,\n displayName: \"Refundable State\",\n type: \"enum\",\n ...getEnumMeta<\"NotOffered\"|\"Purchased\"|\"Declined\">([\n {\n value: 0,\n strValue: \"NotOffered\",\n displayName: \"Not Offered\",\n },\n {\n value: 1,\n strValue: \"Purchased\",\n displayName: \"Purchased\",\n },\n {\n value: 2,\n strValue: \"Declined\",\n displayName: \"Declined\",\n },\n ]),\n}\nexport const SeatMapAnnotationShape = domain.enums.SeatMapAnnotationShape = {\n name: \"SeatMapAnnotationShape\" as const,\n displayName: \"Seat Map Annotation Shape\",\n type: \"enum\",\n ...getEnumMeta<\"Rectangle\"|\"RoundedRectangle\"|\"Oval\"|\"None\">([\n {\n value: 0,\n strValue: \"Rectangle\",\n displayName: \"Rectangle\",\n },\n {\n value: 1,\n strValue: \"RoundedRectangle\",\n displayName: \"Rounded Rectangle\",\n },\n {\n value: 2,\n strValue: \"Oval\",\n displayName: \"Oval\",\n },\n {\n value: 3,\n strValue: \"None\",\n displayName: \"None\",\n },\n ]),\n}\nexport const SectionTypes = domain.enums.SectionTypes = {\n name: \"SectionTypes\" as const,\n displayName: \"Section Types\",\n type: \"enum\",\n ...getEnumMeta<\"IndividualSeat\"|\"GeneralAdmission\">([\n {\n value: 0,\n strValue: \"IndividualSeat\",\n displayName: \"Individual Seat\",\n },\n {\n value: 1,\n strValue: \"GeneralAdmission\",\n displayName: \"General Admission\",\n },\n ]),\n}\nexport const TicketStatus = domain.enums.TicketStatus = {\n name: \"TicketStatus\" as const,\n displayName: \"Ticket Status\",\n type: \"enum\",\n ...getEnumMeta<\"Completed\"|\"Hold\"|\"Exchanged\"|\"Refunded\">([\n {\n value: 0,\n strValue: \"Completed\",\n displayName: \"Completed\",\n },\n {\n value: 1,\n strValue: \"Hold\",\n displayName: \"Hold\",\n },\n {\n value: 2,\n strValue: \"Exchanged\",\n displayName: \"Exchanged\",\n },\n {\n value: 3,\n strValue: \"Refunded\",\n displayName: \"Refunded\",\n },\n ]),\n}\nexport const EventDateDto = domain.types.EventDateDto = {\n name: \"EventDateDto\" as const,\n displayName: \"Event Date Dto\",\n get displayProp() { return this.props.id }, \n type: \"model\",\n controllerRoute: \"EventDateDto\",\n get keyProp() { return this.props.id }, \n behaviorFlags: 0 as BehaviorFlags,\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"primaryKey\",\n hidden: 3 as HiddenAreas,\n },\n eventStartDateTime: {\n name: \"eventStartDateTime\",\n displayName: \"Event Start Date Time\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n },\n eventEndDateTime: {\n name: \"eventEndDateTime\",\n displayName: \"Event End Date Time\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n },\n eventPublicPurchaseDatetime: {\n name: \"eventPublicPurchaseDatetime\",\n displayName: \"Event Public Purchase Datetime\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n },\n eventStartDateTimeLocal: {\n name: \"eventStartDateTimeLocal\",\n displayName: \"Event Start Date Time Local\",\n type: \"date\",\n dateKind: \"datetime\",\n noOffset: true,\n role: \"value\",\n dontSerialize: true,\n },\n eventEndDateTimeLocal: {\n name: \"eventEndDateTimeLocal\",\n displayName: \"Event End Date Time Local\",\n type: \"date\",\n dateKind: \"datetime\",\n noOffset: true,\n role: \"value\",\n dontSerialize: true,\n },\n venueTimezone: {\n name: \"venueTimezone\",\n displayName: \"Venue Timezone\",\n type: \"string\",\n role: \"value\",\n },\n durationMinutes: {\n name: \"durationMinutes\",\n displayName: \"Duration Minutes\",\n type: \"number\",\n role: \"value\",\n },\n eventCapacity: {\n name: \"eventCapacity\",\n displayName: \"Event Capacity\",\n type: \"number\",\n role: \"value\",\n },\n cancelled: {\n name: \"cancelled\",\n displayName: \"Cancelled\",\n type: \"boolean\",\n role: \"value\",\n },\n eventId: {\n name: \"eventId\",\n displayName: \"Event Id\",\n type: \"number\",\n role: \"value\",\n },\n eventName: {\n name: \"eventName\",\n displayName: \"Event Name\",\n type: \"string\",\n role: \"value\",\n },\n eventShortDescription: {\n name: \"eventShortDescription\",\n displayName: \"Event Short Description\",\n type: \"string\",\n role: \"value\",\n },\n eventLongDescription: {\n name: \"eventLongDescription\",\n displayName: \"Event Long Description\",\n type: \"string\",\n role: \"value\",\n },\n eventLocation: {\n name: \"eventLocation\",\n displayName: \"Event Location\",\n type: \"string\",\n role: \"value\",\n },\n eventBoardingLabel: {\n name: \"eventBoardingLabel\",\n displayName: \"Event Boarding Label\",\n type: \"string\",\n role: \"value\",\n },\n eventBoardingMinutes: {\n name: \"eventBoardingMinutes\",\n displayName: \"Event Boarding Minutes\",\n type: \"number\",\n role: \"value\",\n },\n hasFood: {\n name: \"hasFood\",\n displayName: \"Has Food\",\n type: \"boolean\",\n role: \"value\",\n dontSerialize: true,\n },\n availableSeats: {\n name: \"availableSeats\",\n displayName: \"Available Seats\",\n type: \"number\",\n role: \"value\",\n },\n customMoreOptionsButtonText: {\n name: \"customMoreOptionsButtonText\",\n displayName: \"Custom More Options Button Text\",\n type: \"string\",\n role: \"value\",\n },\n customMoreOptionsIcon: {\n name: \"customMoreOptionsIcon\",\n displayName: \"Custom More Options Icon\",\n type: \"string\",\n role: \"value\",\n },\n customMoreOptionsUrl: {\n name: \"customMoreOptionsUrl\",\n displayName: \"Custom More Options Url\",\n type: \"string\",\n role: \"value\",\n },\n customSelectTicketsUrl: {\n name: \"customSelectTicketsUrl\",\n displayName: \"Custom Select Tickets Url\",\n type: \"string\",\n role: \"value\",\n },\n customSelectTicketsButtonText: {\n name: \"customSelectTicketsButtonText\",\n displayName: \"Custom Select Tickets Button Text\",\n type: \"string\",\n role: \"value\",\n },\n customSelectTicketsIcon: {\n name: \"customSelectTicketsIcon\",\n displayName: \"Custom Select Tickets Icon\",\n type: \"string\",\n role: \"value\",\n },\n isSeated: {\n name: \"isSeated\",\n displayName: \"Is Seated\",\n type: \"boolean\",\n role: \"value\",\n },\n soldOut: {\n name: \"soldOut\",\n displayName: \"Sold Out\",\n type: \"boolean\",\n role: \"value\",\n },\n eventCustomSoldOutText: {\n name: \"eventCustomSoldOutText\",\n displayName: \"Event Custom Sold Out Text\",\n type: \"string\",\n role: \"value\",\n },\n isEventActive: {\n name: \"isEventActive\",\n displayName: \"Is Event Active\",\n type: \"boolean\",\n role: \"value\",\n },\n isFreeEvent: {\n name: \"isFreeEvent\",\n displayName: \"Is Free Event\",\n type: \"boolean\",\n role: \"value\",\n },\n hiddenFromInitialPurchase: {\n name: \"hiddenFromInitialPurchase\",\n displayName: \"Hidden From Initial Purchase\",\n type: \"boolean\",\n role: \"value\",\n },\n statusDescription: {\n name: \"statusDescription\",\n displayName: \"Status Description\",\n type: \"string\",\n role: \"value\",\n dontSerialize: true,\n },\n unpurchasableReason: {\n name: \"unpurchasableReason\",\n displayName: \"Unpurchasable Reason\",\n type: \"string\",\n role: \"value\",\n dontSerialize: true,\n },\n eventPrices: {\n name: \"eventPrices\",\n displayName: \"Event Prices\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.EventPriceDto as ObjectType & { name: \"EventPriceDto\" }) },\n },\n role: \"value\",\n dontSerialize: true,\n },\n eventBannerImage: {\n name: \"eventBannerImage\",\n displayName: \"Event Banner Image\",\n type: \"string\",\n role: \"value\",\n dontSerialize: true,\n },\n eventImages: {\n name: \"eventImages\",\n displayName: \"Event Images\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.EventImage as ObjectType & { name: \"EventImage\" }) },\n },\n role: \"value\",\n dontSerialize: true,\n },\n },\n methods: {\n },\n dataSources: {\n calendarSource: {\n type: \"dataSource\",\n name: \"CalendarSource\" as const,\n displayName: \"Calendar Source\",\n props: {\n year: {\n name: \"year\",\n displayName: \"Year\",\n type: \"number\",\n role: \"value\",\n },\n month: {\n name: \"month\",\n displayName: \"Month\",\n type: \"number\",\n role: \"value\",\n },\n includeForWeb: {\n name: \"includeForWeb\",\n displayName: \"Include For Web\",\n type: \"boolean\",\n role: \"value\",\n },\n includeWebUnlisted: {\n name: \"includeWebUnlisted\",\n displayName: \"Include Web Unlisted\",\n type: \"boolean\",\n role: \"value\",\n },\n includeForPos: {\n name: \"includeForPos\",\n displayName: \"Include For Pos\",\n type: \"boolean\",\n role: \"value\",\n },\n includeSoldOut: {\n name: \"includeSoldOut\",\n displayName: \"Include Sold Out\",\n type: \"boolean\",\n role: \"value\",\n },\n includeInactive: {\n name: \"includeInactive\",\n displayName: \"Include Inactive\",\n type: \"boolean\",\n role: \"value\",\n },\n includeCancelled: {\n name: \"includeCancelled\",\n displayName: \"Include Cancelled\",\n type: \"boolean\",\n role: \"value\",\n },\n minDate: {\n name: \"minDate\",\n displayName: \"Min Date\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n },\n onlyPast: {\n name: \"onlyPast\",\n displayName: \"Only Past\",\n type: \"boolean\",\n role: \"value\",\n },\n eventTypeId: {\n name: \"eventTypeId\",\n displayName: \"Event Type Id\",\n type: \"number\",\n role: \"value\",\n },\n },\n },\n defaultSource: {\n type: \"dataSource\",\n name: \"DefaultSource\" as const,\n displayName: \"Default Source\",\n isDefault: true,\n props: {\n includeForWeb: {\n name: \"includeForWeb\",\n displayName: \"Include For Web\",\n type: \"boolean\",\n role: \"value\",\n },\n includeWebUnlisted: {\n name: \"includeWebUnlisted\",\n displayName: \"Include Web Unlisted\",\n type: \"boolean\",\n role: \"value\",\n },\n includeForPos: {\n name: \"includeForPos\",\n displayName: \"Include For Pos\",\n type: \"boolean\",\n role: \"value\",\n },\n includeSoldOut: {\n name: \"includeSoldOut\",\n displayName: \"Include Sold Out\",\n type: \"boolean\",\n role: \"value\",\n },\n includeInactive: {\n name: \"includeInactive\",\n displayName: \"Include Inactive\",\n type: \"boolean\",\n role: \"value\",\n },\n includeCancelled: {\n name: \"includeCancelled\",\n displayName: \"Include Cancelled\",\n type: \"boolean\",\n role: \"value\",\n },\n minDate: {\n name: \"minDate\",\n displayName: \"Min Date\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n },\n onlyPast: {\n name: \"onlyPast\",\n displayName: \"Only Past\",\n type: \"boolean\",\n role: \"value\",\n },\n eventTypeId: {\n name: \"eventTypeId\",\n displayName: \"Event Type Id\",\n type: \"number\",\n role: \"value\",\n },\n },\n },\n },\n}\nexport const EventDto = domain.types.EventDto = {\n name: \"EventDto\" as const,\n displayName: \"Event Dto\",\n get displayProp() { return this.props.description }, \n type: \"model\",\n controllerRoute: \"EventDto\",\n get keyProp() { return this.props.id }, \n behaviorFlags: 0 as BehaviorFlags,\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"primaryKey\",\n hidden: 3 as HiddenAreas,\n },\n description: {\n name: \"description\",\n displayName: \"Description\",\n type: \"string\",\n role: \"value\",\n },\n },\n methods: {\n },\n dataSources: {\n defaultSource: {\n type: \"dataSource\",\n name: \"DefaultSource\" as const,\n displayName: \"Default Source\",\n isDefault: true,\n props: {\n },\n },\n },\n}\nexport const EventTypeDto = domain.types.EventTypeDto = {\n name: \"EventTypeDto\" as const,\n displayName: \"Event Type Dto\",\n get displayProp() { return this.props.description }, \n type: \"model\",\n controllerRoute: \"EventTypeDto\",\n get keyProp() { return this.props.id }, \n behaviorFlags: 0 as BehaviorFlags,\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"primaryKey\",\n hidden: 3 as HiddenAreas,\n },\n description: {\n name: \"description\",\n displayName: \"Description\",\n type: \"string\",\n role: \"value\",\n },\n },\n methods: {\n },\n dataSources: {\n defaultSource: {\n type: \"dataSource\",\n name: \"DefaultSource\" as const,\n displayName: \"Default Source\",\n isDefault: true,\n props: {\n },\n },\n },\n}\nexport const TicketPurchaseDto = domain.types.TicketPurchaseDto = {\n name: \"TicketPurchaseDto\" as const,\n displayName: \"Ticket Purchase Dto\",\n get displayProp() { return this.props.publicId }, \n type: \"model\",\n controllerRoute: \"TicketPurchaseDto\",\n get keyProp() { return this.props.publicId }, \n behaviorFlags: 2 as BehaviorFlags,\n props: {\n publicId: {\n name: \"publicId\",\n displayName: \"Public Id\",\n type: \"string\",\n role: \"primaryKey\",\n hidden: 3 as HiddenAreas,\n },\n firstName: {\n name: \"firstName\",\n displayName: \"First Name\",\n type: \"string\",\n role: \"value\",\n },\n lastName: {\n name: \"lastName\",\n displayName: \"Last Name\",\n type: \"string\",\n role: \"value\",\n },\n email: {\n name: \"email\",\n displayName: \"Email\",\n type: \"string\",\n role: \"value\",\n },\n phone: {\n name: \"phone\",\n displayName: \"Phone\",\n type: \"string\",\n role: \"value\",\n },\n marketingOptOut: {\n name: \"marketingOptOut\",\n displayName: \"Marketing Opt Out\",\n type: \"boolean\",\n role: \"value\",\n },\n refundable: {\n name: \"refundable\",\n displayName: \"Refundable\",\n type: \"enum\",\n get typeDef() { return RefundableState },\n role: \"value\",\n },\n isAllowTextMessaging: {\n name: \"isAllowTextMessaging\",\n displayName: \"Is Allow Text Messaging\",\n type: \"boolean\",\n role: \"value\",\n },\n tenantTextMessagingEnabled: {\n name: \"tenantTextMessagingEnabled\",\n displayName: \"Tenant Text Messaging Enabled\",\n type: \"boolean\",\n role: \"value\",\n },\n addressStreet: {\n name: \"addressStreet\",\n displayName: \"Address Street\",\n type: \"string\",\n role: \"value\",\n },\n addressCity: {\n name: \"addressCity\",\n displayName: \"Address City\",\n type: \"string\",\n role: \"value\",\n },\n addressState: {\n name: \"addressState\",\n displayName: \"Address State\",\n type: \"string\",\n role: \"value\",\n },\n addressZip: {\n name: \"addressZip\",\n displayName: \"Address Zip\",\n type: \"string\",\n role: \"value\",\n },\n addressCountry: {\n name: \"addressCountry\",\n displayName: \"Address Country\",\n type: \"string\",\n role: \"value\",\n },\n roomNumber: {\n name: \"roomNumber\",\n displayName: \"Room Number\",\n type: \"string\",\n role: \"value\",\n },\n willCall: {\n name: \"willCall\",\n displayName: \"Will Call\",\n type: \"boolean\",\n role: \"value\",\n },\n waiveTicketFees: {\n name: \"waiveTicketFees\",\n displayName: \"Waive Ticket Fees\",\n type: \"boolean\",\n role: \"value\",\n },\n canWaiveTicketFees: {\n name: \"canWaiveTicketFees\",\n displayName: \"Can Waive Ticket Fees\",\n type: \"boolean\",\n role: \"value\",\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Creation Date\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n expirationDate: {\n name: \"expirationDate\",\n displayName: \"Expiration Date\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n isPublic: {\n name: \"isPublic\",\n displayName: \"Is Public\",\n type: \"boolean\",\n role: \"value\",\n dontSerialize: true,\n },\n type: {\n name: \"type\",\n displayName: \"Type\",\n type: \"enum\",\n get typeDef() { return PurchaseType },\n role: \"value\",\n dontSerialize: true,\n },\n status: {\n name: \"status\",\n displayName: \"Status\",\n type: \"enum\",\n get typeDef() { return PurchaseStatus },\n role: \"value\",\n dontSerialize: true,\n },\n failureMessage: {\n name: \"failureMessage\",\n displayName: \"Failure Message\",\n type: \"string\",\n role: \"value\",\n dontSerialize: true,\n },\n refundComment: {\n name: \"refundComment\",\n displayName: \"Refund Comment\",\n type: \"string\",\n role: \"value\",\n dontSerialize: true,\n },\n confirmationCode: {\n name: \"confirmationCode\",\n displayName: \"Confirmation Code\",\n type: \"string\",\n role: \"value\",\n dontSerialize: true,\n },\n refundPolicy: {\n name: \"refundPolicy\",\n displayName: \"Refund Policy\",\n type: \"string\",\n role: \"value\",\n dontSerialize: true,\n },\n refundableFee: {\n name: \"refundableFee\",\n displayName: \"Refundable Fee\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n refundedRefundableFee: {\n name: \"refundedRefundableFee\",\n displayName: \"Refunded Refundable Fee\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n refundableFeePercentage: {\n name: \"refundableFeePercentage\",\n displayName: \"Refundable Fee Percentage\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n convenienceFee: {\n name: \"convenienceFee\",\n displayName: \"Convenience Fee\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n refundedConvenienceFee: {\n name: \"refundedConvenienceFee\",\n displayName: \"Refunded Convenience Fee\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n salesTax: {\n name: \"salesTax\",\n displayName: \"Sales Tax\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n refundedSalesTax: {\n name: \"refundedSalesTax\",\n displayName: \"Refunded Sales Tax\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n balance: {\n name: \"balance\",\n displayName: \"Balance\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n grandTotal: {\n name: \"grandTotal\",\n displayName: \"Grand Total\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n eventDateId: {\n name: \"eventDateId\",\n displayName: \"Event Date Id\",\n type: \"number\",\n role: \"foreignKey\",\n get principalKey() { return (domain.types.EventDateDto as ModelType & { name: \"EventDateDto\" }).props.id as PrimaryKeyProperty },\n get principalType() { return (domain.types.EventDateDto as ModelType & { name: \"EventDateDto\" }) },\n get navigationProp() { return (domain.types.TicketPurchaseDto as ModelType & { name: \"TicketPurchaseDto\" }).props.eventDate as ModelReferenceNavigationProperty },\n hidden: 3 as HiddenAreas,\n dontSerialize: true,\n },\n eventDate: {\n name: \"eventDate\",\n displayName: \"Event Date\",\n type: \"model\",\n get typeDef() { return (domain.types.EventDateDto as ModelType & { name: \"EventDateDto\" }) },\n role: \"referenceNavigation\",\n get foreignKey() { return (domain.types.TicketPurchaseDto as ModelType & { name: \"TicketPurchaseDto\" }).props.eventDateId as ForeignKeyProperty },\n get principalKey() { return (domain.types.EventDateDto as ModelType & { name: \"EventDateDto\" }).props.id as PrimaryKeyProperty },\n dontSerialize: true,\n },\n venueDisclaimer: {\n name: \"venueDisclaimer\",\n displayName: \"Venue Disclaimer\",\n type: \"string\",\n role: \"value\",\n dontSerialize: true,\n },\n tickets: {\n name: \"tickets\",\n displayName: \"Tickets\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.TicketPurchaseTicket as ObjectType & { name: \"TicketPurchaseTicket\" }) },\n },\n role: \"value\",\n dontSerialize: true,\n },\n addons: {\n name: \"addons\",\n displayName: \"Addons\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.TicketPurchaseAddon as ObjectType & { name: \"TicketPurchaseAddon\" }) },\n },\n role: \"value\",\n dontSerialize: true,\n },\n discounts: {\n name: \"discounts\",\n displayName: \"Discounts\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.TicketPurchaseDiscount as ObjectType & { name: \"TicketPurchaseDiscount\" }) },\n },\n role: \"value\",\n dontSerialize: true,\n },\n payments: {\n name: \"payments\",\n displayName: \"Payments\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.TicketPurchasePayment as ObjectType & { name: \"TicketPurchasePayment\" }) },\n },\n role: \"value\",\n dontSerialize: true,\n },\n dietaryRestrictions: {\n name: \"dietaryRestrictions\",\n displayName: \"Dietary Restrictions\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.TicketPurchaseDietaryRestriction as ObjectType & { name: \"TicketPurchaseDietaryRestriction\" }) },\n },\n role: \"value\",\n dontSerialize: true,\n },\n availableAddons: {\n name: \"availableAddons\",\n displayName: \"Available Addons\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.EventAddonDto as ObjectType & { name: \"EventAddonDto\" }) },\n },\n role: \"value\",\n dontSerialize: true,\n },\n eventSuggestedEvents: {\n name: \"eventSuggestedEvents\",\n displayName: \"Event Suggested Events\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.EventSuggestedEvent as ObjectType & { name: \"EventSuggestedEvent\" }) },\n },\n role: \"value\",\n dontSerialize: true,\n },\n originalPurchase: {\n name: \"originalPurchase\",\n displayName: \"Original Purchase\",\n type: \"object\",\n get typeDef() { return (domain.types.TicketPurchaseRelatedPurchase as ObjectType & { name: \"TicketPurchaseRelatedPurchase\" }) },\n role: \"value\",\n dontSerialize: true,\n },\n },\n methods: {\n },\n dataSources: {\n defaultSource: {\n type: \"dataSource\",\n name: \"DefaultSource\" as const,\n displayName: \"Default Source\",\n isDefault: true,\n props: {\n },\n },\n },\n}\nexport const AddonItemConfiguration = domain.types.AddonItemConfiguration = {\n name: \"AddonItemConfiguration\" as const,\n displayName: \"Addon Item Configuration\",\n get displayProp() { return this.props.name }, \n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n addonItemDefinitionId: {\n name: \"addonItemDefinitionId\",\n displayName: \"Addon Item Definition Id\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n addonItemDefinition: {\n name: \"addonItemDefinition\",\n displayName: \"Addon Item Definition\",\n type: \"object\",\n get typeDef() { return (domain.types.AddonItemDefinition as ObjectType & { name: \"AddonItemDefinition\" }) },\n role: \"value\",\n },\n name: {\n name: \"name\",\n displayName: \"Name\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Name is required.\",\n }\n },\n marketingDescription: {\n name: \"marketingDescription\",\n displayName: \"Marketing Description\",\n type: \"string\",\n role: \"value\",\n },\n hasQuantity: {\n name: \"hasQuantity\",\n displayName: \"Has Quantity\",\n type: \"boolean\",\n role: \"value\",\n },\n type: {\n name: \"type\",\n displayName: \"Type\",\n type: \"enum\",\n get typeDef() { return AddonItemType },\n role: \"value\",\n },\n fixedAmount: {\n name: \"fixedAmount\",\n displayName: \"Fixed Amount\",\n type: \"number\",\n role: \"value\",\n },\n percentAmount: {\n name: \"percentAmount\",\n displayName: \"Percent Amount\",\n type: \"number\",\n role: \"value\",\n },\n ticketTemplateId: {\n name: \"ticketTemplateId\",\n displayName: \"Ticket Template Id\",\n type: \"number\",\n role: \"value\",\n },\n ticketTemplate: {\n name: \"ticketTemplate\",\n displayName: \"Ticket Template\",\n type: \"object\",\n get typeDef() { return (domain.types.TicketTemplate as ObjectType & { name: \"TicketTemplate\" }) },\n role: \"value\",\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const AddonItemDefinition = domain.types.AddonItemDefinition = {\n name: \"AddonItemDefinition\" as const,\n displayName: \"Add-on Item Definition\",\n get displayProp() { return this.props.name }, \n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n name: {\n name: \"name\",\n displayName: \"Name\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Name is required.\",\n }\n },\n adminNote: {\n name: \"adminNote\",\n displayName: \"Admin Note\",\n type: \"string\",\n role: \"value\",\n },\n currentConfigurationId: {\n name: \"currentConfigurationId\",\n displayName: \"Current Configuration Id\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n currentConfiguration: {\n name: \"currentConfiguration\",\n displayName: \"Current Configuration\",\n type: \"object\",\n get typeDef() { return (domain.types.AddonItemConfiguration as ObjectType & { name: \"AddonItemConfiguration\" }) },\n role: \"value\",\n hidden: 3 as HiddenAreas,\n },\n dailyMaximumQuantity: {\n name: \"dailyMaximumQuantity\",\n displayName: \"Daily Maximum Quantity\",\n type: \"number\",\n role: \"value\",\n },\n showOnPatronManifest: {\n name: \"showOnPatronManifest\",\n displayName: \"Show On Patron Manifest\",\n type: \"boolean\",\n role: \"value\",\n },\n isHidden: {\n name: \"isHidden\",\n displayName: \"Is Hidden\",\n type: \"boolean\",\n role: \"value\",\n hidden: 3 as HiddenAreas,\n defaultValue: false,\n },\n purchaseNotificationEmail: {\n name: \"purchaseNotificationEmail\",\n displayName: \"Purchase Notification Email\",\n type: \"string\",\n role: \"value\",\n },\n eventAddonItems: {\n name: \"eventAddonItems\",\n displayName: \"Event Addon Items\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.EventAddonItemDefinition as ObjectType & { name: \"EventAddonItemDefinition\" }) },\n },\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const AppRole = domain.types.AppRole = {\n name: \"AppRole\" as const,\n displayName: \"App Role\",\n get displayProp() { return this.props.name }, \n type: \"object\",\n props: {\n name: {\n name: \"name\",\n displayName: \"Name\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Name is required.\",\n }\n },\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Id is required.\",\n }\n },\n },\n}\nexport const AppUser = domain.types.AppUser = {\n name: \"AppUser\" as const,\n displayName: \"App User\",\n get displayProp() { return this.props.userName }, \n type: \"object\",\n props: {\n userName: {\n name: \"userName\",\n displayName: \"User Name\",\n type: \"string\",\n role: \"value\",\n },\n firstName: {\n name: \"firstName\",\n displayName: \"First Name\",\n type: \"string\",\n role: \"value\",\n },\n lastName: {\n name: \"lastName\",\n displayName: \"Last Name\",\n type: \"string\",\n role: \"value\",\n },\n receiveLowInventoryNotifications: {\n name: \"receiveLowInventoryNotifications\",\n displayName: \"Receive Low Inventory Notifications\",\n type: \"boolean\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n userRoles: {\n name: \"userRoles\",\n displayName: \"User Roles\",\n description: \"The user's roles within the current tenant.\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.AppUserRole as ObjectType & { name: \"AppUserRole\" }) },\n },\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n appUserAllTenantRoles: {\n name: \"appUserAllTenantRoles\",\n displayName: \"All-tenant Roles\",\n description: \"Roles assigned to the user when they log into any tenant. Implicitly grants membership to all tenants.\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.AppUserAllTenantRole as ObjectType & { name: \"AppUserAllTenantRole\" }) },\n },\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n roleNames: {\n name: \"roleNames\",\n displayName: \"Roles\",\n description: \"The user's roles within the current tenant.\",\n type: \"string\",\n subtype: \"multiline\",\n role: \"value\",\n dontSerialize: true,\n },\n tenantMemberships: {\n name: \"tenantMemberships\",\n displayName: \"Tenant Memberships\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.TenantMembership as ObjectType & { name: \"TenantMembership\" }) },\n },\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n isTenantAdmin: {\n name: \"isTenantAdmin\",\n displayName: \"Is Tenant Admin\",\n description: \"Tenant admins are able to create and edit tenants and tenant metadata, and assign all-tenant roles. This role transcends any particular tenant.\",\n type: \"boolean\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n email: {\n name: \"email\",\n displayName: \"Email\",\n type: \"string\",\n role: \"value\",\n dontSerialize: true,\n },\n emailConfirmed: {\n name: \"emailConfirmed\",\n displayName: \"Email Confirmed\",\n type: \"boolean\",\n role: \"value\",\n dontSerialize: true,\n },\n accessFailedCount: {\n name: \"accessFailedCount\",\n displayName: \"Access Failed Count\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n lockoutEnd: {\n name: \"lockoutEnd\",\n displayName: \"Lockout End\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n },\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Id is required.\",\n }\n },\n },\n}\nexport const AppUserAllTenantRole = domain.types.AppUserAllTenantRole = {\n name: \"AppUserAllTenantRole\" as const,\n displayName: \"App User All Tenant Role\",\n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n userId: {\n name: \"userId\",\n displayName: \"User Id\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"User Id is required.\",\n }\n },\n user: {\n name: \"user\",\n displayName: \"User\",\n type: \"object\",\n get typeDef() { return (domain.types.AppUser as ObjectType & { name: \"AppUser\" }) },\n role: \"value\",\n },\n roleId: {\n name: \"roleId\",\n displayName: \"Role Id\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Role Id is required.\",\n }\n },\n role: {\n name: \"role\",\n displayName: \"Role\",\n type: \"object\",\n get typeDef() { return (domain.types.AppRole as ObjectType & { name: \"AppRole\" }) },\n role: \"value\",\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const AppUserRole = domain.types.AppUserRole = {\n name: \"AppUserRole\" as const,\n displayName: \"App User Role\",\n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"string\",\n role: \"value\",\n },\n userId: {\n name: \"userId\",\n displayName: \"User Id\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"User Id is required.\",\n }\n },\n user: {\n name: \"user\",\n displayName: \"User\",\n type: \"object\",\n get typeDef() { return (domain.types.AppUser as ObjectType & { name: \"AppUser\" }) },\n role: \"value\",\n },\n roleId: {\n name: \"roleId\",\n displayName: \"Role Id\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Role Id is required.\",\n }\n },\n role: {\n name: \"role\",\n displayName: \"Role\",\n type: \"object\",\n get typeDef() { return (domain.types.AppRole as ObjectType & { name: \"AppRole\" }) },\n role: \"value\",\n },\n },\n}\nexport const AvailableSeatsDetails = domain.types.AvailableSeatsDetails = {\n name: \"AvailableSeatsDetails\" as const,\n displayName: \"Available Seats Details\",\n type: \"object\",\n props: {\n seatNumber: {\n name: \"seatNumber\",\n displayName: \"Seat Number\",\n type: \"string\",\n role: \"value\",\n },\n amountOfSeats: {\n name: \"amountOfSeats\",\n displayName: \"Amount Of Seats\",\n type: \"number\",\n role: \"value\",\n },\n },\n}\nexport const Consignee = domain.types.Consignee = {\n name: \"Consignee\" as const,\n displayName: \"Consignee\",\n get displayProp() { return this.props.name }, \n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n name: {\n name: \"name\",\n displayName: \"Name\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Name is required.\",\n }\n },\n address: {\n name: \"address\",\n displayName: \"Address\",\n type: \"string\",\n role: \"value\",\n },\n contactPhone: {\n name: \"contactPhone\",\n displayName: \"Contact Phone\",\n type: \"string\",\n role: \"value\",\n },\n taxId: {\n name: \"taxId\",\n displayName: \"Tax Id\",\n type: \"string\",\n role: \"value\",\n },\n consigneeDiscountDefinitions: {\n name: \"consigneeDiscountDefinitions\",\n displayName: \"Consignee Discount Definitions\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.ConsigneeDiscountDefinition as ObjectType & { name: \"ConsigneeDiscountDefinition\" }) },\n },\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n consigneeReps: {\n name: \"consigneeReps\",\n displayName: \"Consignee Reps\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.ConsigneeRep as ObjectType & { name: \"ConsigneeRep\" }) },\n },\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n consigneeCommissions: {\n name: \"consigneeCommissions\",\n displayName: \"Consignee Commissions\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.ConsigneeCommission as ObjectType & { name: \"ConsigneeCommission\" }) },\n },\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const ConsigneeCommission = domain.types.ConsigneeCommission = {\n name: \"ConsigneeCommission\" as const,\n displayName: \"Consignee Commission\",\n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n commissionPercent: {\n name: \"commissionPercent\",\n displayName: \"Commission Percent\",\n type: \"number\",\n role: \"value\",\n },\n commissionRate: {\n name: \"commissionRate\",\n displayName: \"Commission Rate\",\n type: \"number\",\n role: \"value\",\n },\n consigneeId: {\n name: \"consigneeId\",\n displayName: \"Consignee Id\",\n type: \"number\",\n role: \"value\",\n },\n consignee: {\n name: \"consignee\",\n displayName: \"Consignee\",\n type: \"object\",\n get typeDef() { return (domain.types.Consignee as ObjectType & { name: \"Consignee\" }) },\n role: \"value\",\n },\n isActive: {\n name: \"isActive\",\n displayName: \"Is Active\",\n type: \"boolean\",\n role: \"value\",\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const ConsigneeDiscountDefinition = domain.types.ConsigneeDiscountDefinition = {\n name: \"ConsigneeDiscountDefinition\" as const,\n displayName: \"Consignee Discount Definition\",\n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n consigneeId: {\n name: \"consigneeId\",\n displayName: \"Consignee Id\",\n type: \"number\",\n role: \"value\",\n },\n discountDefinitionId: {\n name: \"discountDefinitionId\",\n displayName: \"Discount Definition Id\",\n type: \"number\",\n role: \"value\",\n },\n consignee: {\n name: \"consignee\",\n displayName: \"Consignee\",\n type: \"object\",\n get typeDef() { return (domain.types.Consignee as ObjectType & { name: \"Consignee\" }) },\n role: \"value\",\n },\n discountDefinition: {\n name: \"discountDefinition\",\n displayName: \"Discount Definition\",\n type: \"object\",\n get typeDef() { return (domain.types.DiscountDefinition as ObjectType & { name: \"DiscountDefinition\" }) },\n role: \"value\",\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const ConsigneeRep = domain.types.ConsigneeRep = {\n name: \"ConsigneeRep\" as const,\n displayName: \"Consignee Rep\",\n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n consigneeId: {\n name: \"consigneeId\",\n displayName: \"Consignee Id\",\n type: \"number\",\n role: \"value\",\n },\n consignee: {\n name: \"consignee\",\n displayName: \"Consignee\",\n type: \"object\",\n get typeDef() { return (domain.types.Consignee as ObjectType & { name: \"Consignee\" }) },\n role: \"value\",\n },\n userId: {\n name: \"userId\",\n displayName: \"User Id\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"User Id is required.\",\n }\n },\n user: {\n name: \"user\",\n displayName: \"User\",\n type: \"object\",\n get typeDef() { return (domain.types.AppUser as ObjectType & { name: \"AppUser\" }) },\n role: \"value\",\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const CreditCardDetails = domain.types.CreditCardDetails = {\n name: \"CreditCardDetails\" as const,\n displayName: \"Credit Card Details\",\n type: \"object\",\n props: {\n paymentId: {\n name: \"paymentId\",\n displayName: \"Payment Id\",\n type: \"number\",\n role: \"value\",\n },\n cardNumber: {\n name: \"cardNumber\",\n displayName: \"Card Number\",\n type: \"string\",\n role: \"value\",\n },\n expirationMonth: {\n name: \"expirationMonth\",\n displayName: \"Expiration Month\",\n type: \"number\",\n role: \"value\",\n },\n expirationYear: {\n name: \"expirationYear\",\n displayName: \"Expiration Year\",\n type: \"number\",\n role: \"value\",\n },\n cvv: {\n name: \"cvv\",\n displayName: \"Cvv\",\n type: \"string\",\n role: \"value\",\n },\n billingAddress: {\n name: \"billingAddress\",\n displayName: \"Billing Address\",\n type: \"string\",\n role: \"value\",\n },\n billingZip: {\n name: \"billingZip\",\n displayName: \"Billing Zip\",\n type: \"string\",\n role: \"value\",\n },\n billingCountry: {\n name: \"billingCountry\",\n displayName: \"Billing Country\",\n type: \"string\",\n role: \"value\",\n },\n billingState: {\n name: \"billingState\",\n displayName: \"Billing State\",\n type: \"string\",\n role: \"value\",\n },\n },\n}\nexport const DiscountDefinition = domain.types.DiscountDefinition = {\n name: \"DiscountDefinition\" as const,\n displayName: \"Discount Definition\",\n get displayProp() { return this.props.displayName }, \n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n displayName: {\n name: \"displayName\",\n displayName: \"Name\",\n description: \"The name of the discount, shown to patrons.\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Name is required.\",\n maxLength: val => !val || val.length <= 100 || \"Name may not be more than 100 characters.\",\n }\n },\n details: {\n name: \"details\",\n displayName: \"Internal Description\",\n description: \"An internal description of the discount, shown to admins and event managers.\",\n type: \"string\",\n role: \"value\",\n },\n effectSummary: {\n name: \"effectSummary\",\n displayName: \"Effect Summary\",\n type: \"string\",\n role: \"value\",\n dontSerialize: true,\n },\n nonUniqueCode: {\n name: \"nonUniqueCode\",\n displayName: \"Non Unique Code\",\n type: \"string\",\n role: \"value\",\n rules: {\n maxLength: val => !val || val.length <= 20 || \"Non Unique Code may not be more than 20 characters.\",\n }\n },\n isActive: {\n name: \"isActive\",\n displayName: \"Is Active\",\n type: \"boolean\",\n role: \"value\",\n },\n availableOnWeb: {\n name: \"availableOnWeb\",\n displayName: \"Available On Web\",\n type: \"boolean\",\n role: \"value\",\n },\n availableOnPos: {\n name: \"availableOnPos\",\n displayName: \"Available On Pos\",\n type: \"boolean\",\n role: \"value\",\n },\n autoApply: {\n name: \"autoApply\",\n displayName: \"Auto Apply\",\n type: \"boolean\",\n role: \"value\",\n },\n isHidden: {\n name: \"isHidden\",\n displayName: \"Is Hidden\",\n type: \"boolean\",\n role: \"value\",\n hidden: 3 as HiddenAreas,\n defaultValue: false,\n },\n currentConfigurationId: {\n name: \"currentConfigurationId\",\n displayName: \"Current Configuration Id\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n currentConfiguration: {\n name: \"currentConfiguration\",\n displayName: \"Current Configuration\",\n type: \"object\",\n get typeDef() { return (domain.types.DiscountDefinitionConfiguration as ObjectType & { name: \"DiscountDefinitionConfiguration\" }) },\n role: \"value\",\n hidden: 3 as HiddenAreas,\n },\n consigneeDiscountDefinitions: {\n name: \"consigneeDiscountDefinitions\",\n displayName: \"Consignee Discount Definitions\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.ConsigneeDiscountDefinition as ObjectType & { name: \"ConsigneeDiscountDefinition\" }) },\n },\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n eventDiscountDefinitions: {\n name: \"eventDiscountDefinitions\",\n displayName: \"Event Discount Definitions\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.EventDiscountDefinition as ObjectType & { name: \"EventDiscountDefinition\" }) },\n },\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n eventDateDiscountDefinitions: {\n name: \"eventDateDiscountDefinitions\",\n displayName: \"Event Date Discount Definitions\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.EventDateDiscountDefinition as ObjectType & { name: \"EventDateDiscountDefinition\" }) },\n },\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n isPairedWithCouponCodeGroup: {\n name: \"isPairedWithCouponCodeGroup\",\n displayName: \"Is Paired With Coupon Code Group\",\n type: \"boolean\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n defaultValue: false,\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const DiscountDefinitionConfiguration = domain.types.DiscountDefinitionConfiguration = {\n name: \"DiscountDefinitionConfiguration\" as const,\n displayName: \"Discount Definition Configuration\",\n get displayProp() { return this.props.displayName }, \n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n discountDefinitionId: {\n name: \"discountDefinitionId\",\n displayName: \"Discount Definition Id\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n discountDefinition: {\n name: \"discountDefinition\",\n displayName: \"Discount Definition\",\n type: \"object\",\n get typeDef() { return (domain.types.DiscountDefinition as ObjectType & { name: \"DiscountDefinition\" }) },\n role: \"value\",\n },\n displayName: {\n name: \"displayName\",\n displayName: \"Name\",\n description: \"The name of the discount, shown to patrons.\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Name is required.\",\n maxLength: val => !val || val.length <= 100 || \"Name may not be more than 100 characters.\",\n }\n },\n discountType: {\n name: \"discountType\",\n displayName: \"Discount Type\",\n type: \"enum\",\n get typeDef() { return DiscountType },\n role: \"value\",\n rules: {\n required: val => val != null || \"Discount Type is required.\",\n }\n },\n amountOff: {\n name: \"amountOff\",\n displayName: \"Amount Off\",\n type: \"number\",\n role: \"value\",\n rules: {\n min: val => val == null || val >= 0 || \"Amount Off must be at least 0.\",\n max: val => val == null || val <= 2147483647 || \"Amount Off may not be more than 2147483647.\",\n }\n },\n percentageOff: {\n name: \"percentageOff\",\n displayName: \"Percentage Off\",\n type: \"number\",\n role: \"value\",\n rules: {\n min: val => val == null || val >= 0 || \"Percentage Off must be at least 0.\",\n max: val => val == null || val <= 100 || \"Percentage Off may not be more than 100.\",\n }\n },\n minimumTicketCount: {\n name: \"minimumTicketCount\",\n displayName: \"Amount of tickets sold for discount to apply\",\n description: \"The amount of tickets to be sold to apply discount.\",\n type: \"number\",\n role: \"value\",\n rules: {\n min: val => val == null || val >= 0 || \"Amount of tickets sold for discount to apply must be at least 0.\",\n max: val => val == null || val <= 2147483647 || \"Amount of tickets sold for discount to apply may not be more than 2147483647.\",\n }\n },\n minimumPurchaseValue: {\n name: \"minimumPurchaseValue\",\n displayName: \"Minimum price in one purchase to apply discount\",\n description: \"The minimum sum of Ticket Price (excluding all taxes and fees) required to use this discount.\",\n type: \"number\",\n role: \"value\",\n rules: {\n min: val => val == null || val >= 0 || \"Minimum price in one purchase to apply discount must be at least 0.\",\n max: val => val == null || val <= 2147483647 || \"Minimum price in one purchase to apply discount may not be more than 2147483647.\",\n }\n },\n expireDaysBefore: {\n name: \"expireDaysBefore\",\n displayName: \"Number of Days before the event discount expires\",\n description: \"The number of days before each event date when this discount becomes unavailable. A value of 0 disables date-based expiration.\",\n type: \"number\",\n role: \"value\",\n rules: {\n min: val => val == null || val >= 0 || \"Number of Days before the event discount expires must be at least 0.\",\n max: val => val == null || val <= 365 || \"Number of Days before the event discount expires may not be more than 365.\",\n }\n },\n effectSummary: {\n name: \"effectSummary\",\n displayName: \"Effect Summary\",\n type: \"string\",\n role: \"value\",\n dontSerialize: true,\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const EmailTemplate = domain.types.EmailTemplate = {\n name: \"EmailTemplate\" as const,\n displayName: \"Email Template\",\n get displayProp() { return this.props.description }, \n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n description: {\n name: \"description\",\n displayName: \"Description\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Description is required.\",\n }\n },\n subject: {\n name: \"subject\",\n displayName: \"Subject\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Subject is required.\",\n }\n },\n bodyText: {\n name: \"bodyText\",\n displayName: \"Body Text\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n bodyHtml: {\n name: \"bodyHtml\",\n displayName: \"Body Html\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n rules: {\n required: val => (val != null && val !== '') || \"Body Html is required.\",\n }\n },\n designJson: {\n name: \"designJson\",\n displayName: \"Design Json\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n type: {\n name: \"type\",\n displayName: \"Type\",\n type: \"enum\",\n get typeDef() { return EmailType },\n role: \"value\",\n },\n isActive: {\n name: \"isActive\",\n displayName: \"Is Active\",\n type: \"boolean\",\n role: \"value\",\n },\n eventEmailTemplates: {\n name: \"eventEmailTemplates\",\n displayName: \"Event Email Templates\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.EventEmailTemplate as ObjectType & { name: \"EventEmailTemplate\" }) },\n },\n role: \"value\",\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const Event = domain.types.Event = {\n name: \"Event\" as const,\n displayName: \"Event\",\n get displayProp() { return this.props.name }, \n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n name: {\n name: \"name\",\n displayName: \"Name\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Name is required.\",\n }\n },\n defaultCapacity: {\n name: \"defaultCapacity\",\n displayName: \"Default Capacity\",\n type: \"number\",\n role: \"value\",\n },\n boardingTime: {\n name: \"boardingTime\",\n displayName: \"Boarding Time\",\n type: \"number\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n location: {\n name: \"location\",\n displayName: \"Location\",\n type: \"string\",\n role: \"value\",\n },\n shortDescription: {\n name: \"shortDescription\",\n displayName: \"Short Description\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n longDescription: {\n name: \"longDescription\",\n displayName: \"Long Description\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n customSoldOutText: {\n name: \"customSoldOutText\",\n displayName: \"Custom Sold Out Text\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n isActive: {\n name: \"isActive\",\n displayName: \"Is Active\",\n type: \"boolean\",\n role: \"value\",\n },\n forSaleOnWeb: {\n name: \"forSaleOnWeb\",\n displayName: \"For Sale On Web\",\n type: \"boolean\",\n role: \"value\",\n },\n unlistedOnWeb: {\n name: \"unlistedOnWeb\",\n displayName: \"Unlisted On Web\",\n type: \"boolean\",\n role: \"value\",\n },\n forSaleOnPos: {\n name: \"forSaleOnPos\",\n displayName: \"For Sale On Pos\",\n type: \"boolean\",\n role: \"value\",\n },\n unlistedOnWebAfterFirstPurchase: {\n name: \"unlistedOnWebAfterFirstPurchase\",\n displayName: \"Unlisted On Web After First Purchase\",\n type: \"boolean\",\n role: \"value\",\n },\n updateCapacityToTicketCountAfterFirstPurchase: {\n name: \"updateCapacityToTicketCountAfterFirstPurchase\",\n displayName: \"Update Capacity After First Purchase\",\n type: \"boolean\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n customMoreOptionsButtonText: {\n name: \"customMoreOptionsButtonText\",\n displayName: \"Custom More Options Button Text\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n customSelectTicketsButtonText: {\n name: \"customSelectTicketsButtonText\",\n displayName: \"Custom More Options Button Text\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n customMoreOptionsIcon: {\n name: \"customMoreOptionsIcon\",\n displayName: \"Custom More Options Icon\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n customSelectTicketsIcon: {\n name: \"customSelectTicketsIcon\",\n displayName: \"Custom Select Tickets Icon\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n eventTypeId: {\n name: \"eventTypeId\",\n displayName: \"Event Type Id\",\n type: \"number\",\n role: \"value\",\n },\n eventType: {\n name: \"eventType\",\n displayName: \"Event Type\",\n type: \"object\",\n get typeDef() { return (domain.types.EventType as ObjectType & { name: \"EventType\" }) },\n role: \"value\",\n },\n ticketTemplateId: {\n name: \"ticketTemplateId\",\n displayName: \"Ticket Template Id\",\n type: \"number\",\n role: \"value\",\n },\n ticketTemplate: {\n name: \"ticketTemplate\",\n displayName: \"Ticket Template\",\n type: \"object\",\n get typeDef() { return (domain.types.TicketTemplate as ObjectType & { name: \"TicketTemplate\" }) },\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n confirmationEmailId: {\n name: \"confirmationEmailId\",\n displayName: \"Confirmation Email Id\",\n type: \"number\",\n role: \"value\",\n },\n confirmationEmail: {\n name: \"confirmationEmail\",\n displayName: \"Confirmation Email\",\n type: \"object\",\n get typeDef() { return (domain.types.EmailTemplate as ObjectType & { name: \"EmailTemplate\" }) },\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n cancellationEmailId: {\n name: \"cancellationEmailId\",\n displayName: \"Cancellation Email Id\",\n type: \"number\",\n role: \"value\",\n },\n cancellationEmail: {\n name: \"cancellationEmail\",\n displayName: \"Cancellation Email\",\n type: \"object\",\n get typeDef() { return (domain.types.EmailTemplate as ObjectType & { name: \"EmailTemplate\" }) },\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n venueId: {\n name: \"venueId\",\n displayName: \"Venue Id\",\n type: \"number\",\n role: \"value\",\n },\n venue: {\n name: \"venue\",\n displayName: \"Venue\",\n type: \"object\",\n get typeDef() { return (domain.types.Venue as ObjectType & { name: \"Venue\" }) },\n role: \"value\",\n },\n seatMapId: {\n name: \"seatMapId\",\n displayName: \"Seat Map Id\",\n type: \"number\",\n role: \"value\",\n },\n seatMap: {\n name: \"seatMap\",\n displayName: \"Seat Map\",\n type: \"object\",\n get typeDef() { return (domain.types.SeatMap as ObjectType & { name: \"SeatMap\" }) },\n role: \"value\",\n },\n eventSuggestedList: {\n name: \"eventSuggestedList\",\n displayName: \"Event Suggested List\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.EventSuggestedEvent as ObjectType & { name: \"EventSuggestedEvent\" }) },\n },\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n premiumRefundsEnabled: {\n name: \"premiumRefundsEnabled\",\n displayName: \"Premium Refunds Enabled\",\n type: \"boolean\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n refundableFeePercentage: {\n name: \"refundableFeePercentage\",\n displayName: \"Refundable Fee Percentage\",\n type: \"number\",\n role: \"value\",\n hidden: 3 as HiddenAreas,\n dontSerialize: true,\n },\n isTenantShowImageOnListView: {\n name: \"isTenantShowImageOnListView\",\n displayName: \"Is Tenant Show Image On List View\",\n type: \"boolean\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n isTenantAllowFreeEvent: {\n name: \"isTenantAllowFreeEvent\",\n displayName: \"Is Tenant Allow Free Event\",\n type: \"boolean\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n isTenantShowRemainingSeats: {\n name: \"isTenantShowRemainingSeats\",\n displayName: \"Is Tenant Show Remaining Seats\",\n type: \"boolean\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n hasFood: {\n name: \"hasFood\",\n displayName: \"Has Food\",\n type: \"boolean\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n seatSections: {\n name: \"seatSections\",\n displayName: \"Seat Sections\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.EventSection as ObjectType & { name: \"EventSection\" }) },\n },\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n eventDates: {\n name: \"eventDates\",\n displayName: \"Event Dates\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.EventDate as ObjectType & { name: \"EventDate\" }) },\n },\n role: \"value\",\n },\n eventImages: {\n name: \"eventImages\",\n displayName: \"Event Images\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.EventImage as ObjectType & { name: \"EventImage\" }) },\n },\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n bannerImageSrc: {\n name: \"bannerImageSrc\",\n displayName: \"Banner Image\",\n type: \"string\",\n subtype: \"url-image\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n eventDiscountDefinitions: {\n name: \"eventDiscountDefinitions\",\n displayName: \"Event Discount Definitions\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.EventDiscountDefinition as ObjectType & { name: \"EventDiscountDefinition\" }) },\n },\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n eventEmailTemplates: {\n name: \"eventEmailTemplates\",\n displayName: \"Event Email Templates\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.EventEmailTemplate as ObjectType & { name: \"EventEmailTemplate\" }) },\n },\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n eventAddonItems: {\n name: \"eventAddonItems\",\n displayName: \"Event Addon Items\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.EventAddonItemDefinition as ObjectType & { name: \"EventAddonItemDefinition\" }) },\n },\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n eventPrices: {\n name: \"eventPrices\",\n displayName: \"Event Prices\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.EventPrice as ObjectType & { name: \"EventPrice\" }) },\n },\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n activeEventPrices: {\n name: \"activeEventPrices\",\n displayName: \"Active Event Prices\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.EventPrice as ObjectType & { name: \"EventPrice\" }) },\n },\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n isFreeEvent: {\n name: \"isFreeEvent\",\n displayName: \"Is Free Event\",\n type: \"boolean\",\n role: \"value\",\n },\n notifyViaEmailWhenTicketPurchased: {\n name: \"notifyViaEmailWhenTicketPurchased\",\n displayName: \"Purchase Email Notification\",\n type: \"boolean\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const EventAddonDto = domain.types.EventAddonDto = {\n name: \"EventAddonDto\" as const,\n displayName: \"Event Addon Dto\",\n get displayProp() { return this.props.name }, \n type: \"object\",\n props: {\n definitionId: {\n name: \"definitionId\",\n displayName: \"Definition Id\",\n type: \"number\",\n role: \"value\",\n },\n configurationId: {\n name: \"configurationId\",\n displayName: \"Configuration Id\",\n type: \"number\",\n role: \"value\",\n },\n name: {\n name: \"name\",\n displayName: \"Name\",\n type: \"string\",\n role: \"value\",\n },\n description: {\n name: \"description\",\n displayName: \"Description\",\n type: \"string\",\n role: \"value\",\n },\n price: {\n name: \"price\",\n displayName: \"Price\",\n type: \"number\",\n role: \"value\",\n },\n priceDescription: {\n name: \"priceDescription\",\n displayName: \"Price Description\",\n type: \"string\",\n role: \"value\",\n },\n hasQuantity: {\n name: \"hasQuantity\",\n displayName: \"Has Quantity\",\n type: \"boolean\",\n role: \"value\",\n },\n },\n}\nexport const EventAddonItemDefinition = domain.types.EventAddonItemDefinition = {\n name: \"EventAddonItemDefinition\" as const,\n displayName: \"Event Addon Item Definition\",\n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n eventId: {\n name: \"eventId\",\n displayName: \"Event Id\",\n type: \"number\",\n role: \"value\",\n },\n addonItemDefinitionId: {\n name: \"addonItemDefinitionId\",\n displayName: \"Addon Item Definition Id\",\n type: \"number\",\n role: \"value\",\n },\n addonItemDefinition: {\n name: \"addonItemDefinition\",\n displayName: \"Addon Item Definition\",\n type: \"object\",\n get typeDef() { return (domain.types.AddonItemDefinition as ObjectType & { name: \"AddonItemDefinition\" }) },\n role: \"value\",\n },\n event: {\n name: \"event\",\n displayName: \"Event\",\n type: \"object\",\n get typeDef() { return (domain.types.Event as ObjectType & { name: \"Event\" }) },\n role: \"value\",\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const EventDate = domain.types.EventDate = {\n name: \"EventDate\" as const,\n displayName: \"Event Date\",\n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n eventStartDateTime: {\n name: \"eventStartDateTime\",\n displayName: \"Event Start Date Time\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n rules: {\n required: val => val != null || \"Event Start Date Time is required.\",\n }\n },\n eventEndDateTime: {\n name: \"eventEndDateTime\",\n displayName: \"Event End Date Time\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n durationMinutes: {\n name: \"durationMinutes\",\n displayName: \"Duration Minutes\",\n type: \"number\",\n role: \"value\",\n },\n eventPublicPurchaseDatetime: {\n name: \"eventPublicPurchaseDatetime\",\n displayName: \"Event Public Purchase Datetime\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n },\n eventCapacity: {\n name: \"eventCapacity\",\n displayName: \"Event Capacity\",\n type: \"number\",\n role: \"value\",\n },\n cancelled: {\n name: \"cancelled\",\n displayName: \"Cancelled\",\n type: \"boolean\",\n role: \"value\",\n dontSerialize: true,\n },\n hiddenFromInitialPurchase: {\n name: \"hiddenFromInitialPurchase\",\n displayName: \"Hidden From Initial Purchase\",\n type: \"boolean\",\n role: \"value\",\n dontSerialize: true,\n },\n eventId: {\n name: \"eventId\",\n displayName: \"Event Id\",\n type: \"number\",\n role: \"value\",\n },\n event: {\n name: \"event\",\n displayName: \"Event\",\n type: \"object\",\n get typeDef() { return (domain.types.Event as ObjectType & { name: \"Event\" }) },\n role: \"value\",\n },\n eventDateDiscountDefinitions: {\n name: \"eventDateDiscountDefinitions\",\n displayName: \"Event Date Discount Definitions\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.EventDateDiscountDefinition as ObjectType & { name: \"EventDateDiscountDefinition\" }) },\n },\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n seatRestrictions: {\n name: \"seatRestrictions\",\n displayName: \"Seat Restrictions\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.EventDateSeatRestriction as ObjectType & { name: \"EventDateSeatRestriction\" }) },\n },\n role: \"value\",\n },\n priceConfigurations: {\n name: \"priceConfigurations\",\n displayName: \"Price Configurations\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.EventDatePriceConfig as ObjectType & { name: \"EventDatePriceConfig\" }) },\n },\n role: \"value\",\n },\n customMoreOptionsUrl: {\n name: \"customMoreOptionsUrl\",\n displayName: \"Custom More Options Url\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n customSelectTicketsUrl: {\n name: \"customSelectTicketsUrl\",\n displayName: \"Custom Select Tickets Url\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n customMoreOptionsButtonText: {\n name: \"customMoreOptionsButtonText\",\n displayName: \"Custom More Options Button Text\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n customSelectTicketsButtonText: {\n name: \"customSelectTicketsButtonText\",\n displayName: \"Custom More Options Button Text\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n customMoreOptionsIcon: {\n name: \"customMoreOptionsIcon\",\n displayName: \"Custom More Options Icon\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n customSelectTicketsIcon: {\n name: \"customSelectTicketsIcon\",\n displayName: \"Custom Select Tickets Icon\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n availableSeats: {\n name: \"availableSeats\",\n displayName: \"Available Seats\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n availableSeatsCacheDate: {\n name: \"availableSeatsCacheDate\",\n displayName: \"Available Seats Cache Date\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const EventDateDiscountDefinition = domain.types.EventDateDiscountDefinition = {\n name: \"EventDateDiscountDefinition\" as const,\n displayName: \"Event Date Discount Definition\",\n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n eventDateId: {\n name: \"eventDateId\",\n displayName: \"Event Date Id\",\n type: \"number\",\n role: \"value\",\n },\n discountDefinitionId: {\n name: \"discountDefinitionId\",\n displayName: \"Discount Definition Id\",\n type: \"number\",\n role: \"value\",\n },\n discountDefinition: {\n name: \"discountDefinition\",\n displayName: \"Discount Definition\",\n type: \"object\",\n get typeDef() { return (domain.types.DiscountDefinition as ObjectType & { name: \"DiscountDefinition\" }) },\n role: \"value\",\n },\n eventDate: {\n name: \"eventDate\",\n displayName: \"Event Date\",\n type: \"object\",\n get typeDef() { return (domain.types.EventDate as ObjectType & { name: \"EventDate\" }) },\n role: \"value\",\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const EventDatePriceConfig = domain.types.EventDatePriceConfig = {\n name: \"EventDatePriceConfig\" as const,\n displayName: \"Event Date Price Config\",\n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n eventDateId: {\n name: \"eventDateId\",\n displayName: \"Event Date Id\",\n type: \"number\",\n role: \"value\",\n },\n eventDate: {\n name: \"eventDate\",\n displayName: \"Event Date\",\n type: \"object\",\n get typeDef() { return (domain.types.EventDate as ObjectType & { name: \"EventDate\" }) },\n role: \"value\",\n },\n eventPriceRootId: {\n name: \"eventPriceRootId\",\n displayName: \"Event Price Root Id\",\n type: \"number\",\n role: \"value\",\n },\n maxQuantity: {\n name: \"maxQuantity\",\n displayName: \"Max Quantity\",\n type: \"number\",\n role: \"value\",\n },\n availableTickets: {\n name: \"availableTickets\",\n displayName: \"Available Tickets\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const EventDateSeatingInfo = domain.types.EventDateSeatingInfo = {\n name: \"EventDateSeatingInfo\" as const,\n displayName: \"Event Date Seating Info\",\n type: \"object\",\n props: {\n eventDateId: {\n name: \"eventDateId\",\n displayName: \"Event Date Id\",\n type: \"number\",\n role: \"value\",\n },\n seatMap: {\n name: \"seatMap\",\n displayName: \"Seat Map\",\n type: \"object\",\n get typeDef() { return (domain.types.SeatMapDto as ObjectType & { name: \"SeatMapDto\" }) },\n role: \"value\",\n },\n availableSeats: {\n name: \"availableSeats\",\n displayName: \"Available Seats\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"string\",\n },\n role: \"value\",\n },\n availableSeatsDetails: {\n name: \"availableSeatsDetails\",\n displayName: \"Available Seats Details\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.AvailableSeatsDetails as ObjectType & { name: \"AvailableSeatsDetails\" }) },\n },\n role: \"value\",\n },\n totalAmountOfAvailableSeats: {\n name: \"totalAmountOfAvailableSeats\",\n displayName: \"Total Amount Of Available Seats\",\n type: \"number\",\n role: \"value\",\n },\n restrictions: {\n name: \"restrictions\",\n displayName: \"Restrictions\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.EventDateSeatingRestrictionInfo as ObjectType & { name: \"EventDateSeatingRestrictionInfo\" }) },\n },\n role: \"value\",\n },\n },\n}\nexport const EventDateSeatingRestrictionInfo = domain.types.EventDateSeatingRestrictionInfo = {\n name: \"EventDateSeatingRestrictionInfo\" as const,\n displayName: \"Event Date Seating Restriction Info\",\n type: \"object\",\n props: {\n seats: {\n name: \"seats\",\n displayName: \"Seats\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"string\",\n },\n role: \"value\",\n },\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n agentOnly: {\n name: \"agentOnly\",\n displayName: \"Agent Only\",\n type: \"boolean\",\n role: \"value\",\n },\n agentNote: {\n name: \"agentNote\",\n displayName: \"Agent Note\",\n type: \"string\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const EventDateSeatRestriction = domain.types.EventDateSeatRestriction = {\n name: \"EventDateSeatRestriction\" as const,\n displayName: \"Event Date Seat Restriction\",\n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n eventDateId: {\n name: \"eventDateId\",\n displayName: \"Event Date Id\",\n type: \"number\",\n role: \"value\",\n },\n eventDate: {\n name: \"eventDate\",\n displayName: \"Event Date\",\n type: \"object\",\n get typeDef() { return (domain.types.EventDate as ObjectType & { name: \"EventDate\" }) },\n role: \"value\",\n },\n agentOnly: {\n name: \"agentOnly\",\n displayName: \"Agent Only\",\n type: \"boolean\",\n role: \"value\",\n },\n agentNote: {\n name: \"agentNote\",\n displayName: \"Agent Note\",\n type: \"string\",\n role: \"value\",\n },\n seatNumbersJson: {\n name: \"seatNumbersJson\",\n displayName: \"Seat Numbers Json\",\n type: \"string\",\n role: \"value\",\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const EventDiscountDefinition = domain.types.EventDiscountDefinition = {\n name: \"EventDiscountDefinition\" as const,\n displayName: \"Event Discount Definition\",\n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n eventId: {\n name: \"eventId\",\n displayName: \"Event Id\",\n type: \"number\",\n role: \"value\",\n },\n discountDefinitionId: {\n name: \"discountDefinitionId\",\n displayName: \"Discount Definition Id\",\n type: \"number\",\n role: \"value\",\n },\n discountDefinition: {\n name: \"discountDefinition\",\n displayName: \"Discount Definition\",\n type: \"object\",\n get typeDef() { return (domain.types.DiscountDefinition as ObjectType & { name: \"DiscountDefinition\" }) },\n role: \"value\",\n },\n event: {\n name: \"event\",\n displayName: \"Event\",\n type: \"object\",\n get typeDef() { return (domain.types.Event as ObjectType & { name: \"Event\" }) },\n role: \"value\",\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const EventEmailTemplate = domain.types.EventEmailTemplate = {\n name: \"EventEmailTemplate\" as const,\n displayName: \"Event Email Template\",\n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n eventId: {\n name: \"eventId\",\n displayName: \"Event Id\",\n type: \"number\",\n role: \"value\",\n },\n emailTemplateId: {\n name: \"emailTemplateId\",\n displayName: \"Email Template Id\",\n type: \"number\",\n role: \"value\",\n },\n emailTemplate: {\n name: \"emailTemplate\",\n displayName: \"Email Template\",\n type: \"object\",\n get typeDef() { return (domain.types.EmailTemplate as ObjectType & { name: \"EmailTemplate\" }) },\n role: \"value\",\n },\n event: {\n name: \"event\",\n displayName: \"Event\",\n type: \"object\",\n get typeDef() { return (domain.types.Event as ObjectType & { name: \"Event\" }) },\n role: \"value\",\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const EventImage = domain.types.EventImage = {\n name: \"EventImage\" as const,\n displayName: \"Event Image\",\n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n eventId: {\n name: \"eventId\",\n displayName: \"Event Id\",\n type: \"number\",\n role: \"value\",\n rules: {\n required: val => val != null || \"Event Id is required.\",\n }\n },\n imageSrc: {\n name: \"imageSrc\",\n displayName: \"Image Src\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Image Src is required.\",\n }\n },\n altText: {\n name: \"altText\",\n displayName: \"Alt Text\",\n type: \"string\",\n role: \"value\",\n },\n order: {\n name: \"order\",\n displayName: \"Order\",\n type: \"number\",\n role: \"value\",\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const EventPrice = domain.types.EventPrice = {\n name: \"EventPrice\" as const,\n displayName: \"Event Price\",\n get displayProp() { return this.props.displayName }, \n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n rootId: {\n name: \"rootId\",\n displayName: \"Root Id\",\n type: \"number\",\n role: \"value\",\n },\n eventId: {\n name: \"eventId\",\n displayName: \"Event Id\",\n type: \"number\",\n role: \"value\",\n },\n event: {\n name: \"event\",\n displayName: \"Event\",\n type: \"object\",\n get typeDef() { return (domain.types.Event as ObjectType & { name: \"Event\" }) },\n role: \"value\",\n },\n activeEventId: {\n name: \"activeEventId\",\n displayName: \"Active Event Id\",\n type: \"number\",\n role: \"value\",\n },\n activeEvent: {\n name: \"activeEvent\",\n displayName: \"Active Event\",\n type: \"object\",\n get typeDef() { return (domain.types.Event as ObjectType & { name: \"Event\" }) },\n role: \"value\",\n },\n displayName: {\n name: \"displayName\",\n displayName: \"Display Name\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Display Name is required.\",\n maxLength: val => !val || val.length <= 100 || \"Display Name may not be more than 100 characters.\",\n }\n },\n details: {\n name: \"details\",\n displayName: \"Details\",\n type: \"string\",\n role: \"value\",\n rules: {\n maxLength: val => !val || val.length <= 100 || \"Details may not be more than 100 characters.\",\n }\n },\n price: {\n name: \"price\",\n displayName: \"Price\",\n type: \"number\",\n role: \"value\",\n rules: {\n required: val => val != null || \"Price is required.\",\n }\n },\n serviceFee: {\n name: \"serviceFee\",\n displayName: \"Service Fee\",\n type: \"number\",\n role: \"value\",\n },\n currentServiceFeeFromTenant: {\n name: \"currentServiceFeeFromTenant\",\n displayName: \"Current Service Fee From Tenant\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n revenueDistributions: {\n name: \"revenueDistributions\",\n displayName: \"Revenue Distributions\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.EventPriceRevenueDistribution as ObjectType & { name: \"EventPriceRevenueDistribution\" }) },\n },\n role: \"value\",\n },\n seats: {\n name: \"seats\",\n displayName: \"Seats\",\n type: \"number\",\n role: \"value\",\n rules: {\n min: val => val == null || val >= 0 || \"Seats must be at least 0.\",\n }\n },\n defaultMaxQuantity: {\n name: \"defaultMaxQuantity\",\n displayName: \"Default Max Quantity\",\n type: \"number\",\n role: \"value\",\n },\n minimumQuantity: {\n name: \"minimumQuantity\",\n displayName: \"Minimum Quantity\",\n type: \"number\",\n role: \"value\",\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const EventPriceDto = domain.types.EventPriceDto = {\n name: \"EventPriceDto\" as const,\n displayName: \"Event Price Dto\",\n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n rootId: {\n name: \"rootId\",\n displayName: \"Root Id\",\n type: \"number\",\n role: \"value\",\n },\n displayName: {\n name: \"displayName\",\n displayName: \"Display Name\",\n type: \"string\",\n role: \"value\",\n },\n description: {\n name: \"description\",\n displayName: \"Description\",\n type: \"string\",\n role: \"value\",\n },\n price: {\n name: \"price\",\n displayName: \"Price\",\n type: \"number\",\n role: \"value\",\n },\n serviceFee: {\n name: \"serviceFee\",\n displayName: \"Service Fee\",\n type: \"number\",\n role: \"value\",\n },\n seats: {\n name: \"seats\",\n displayName: \"Seats\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n minimumQuantity: {\n name: \"minimumQuantity\",\n displayName: \"Minimum Quantity\",\n type: \"number\",\n role: \"value\",\n },\n },\n}\nexport const EventPriceRevenueDistribution = domain.types.EventPriceRevenueDistribution = {\n name: \"EventPriceRevenueDistribution\" as const,\n displayName: \"Event Price Revenue Distribution\",\n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n eventPriceId: {\n name: \"eventPriceId\",\n displayName: \"Event Price Id\",\n type: \"number\",\n role: \"value\",\n },\n eventPrice: {\n name: \"eventPrice\",\n displayName: \"Event Price\",\n type: \"object\",\n get typeDef() { return (domain.types.EventPrice as ObjectType & { name: \"EventPrice\" }) },\n role: \"value\",\n },\n revenueCategoryId: {\n name: \"revenueCategoryId\",\n displayName: \"Revenue Category Id\",\n type: \"number\",\n role: \"value\",\n },\n revenueCategory: {\n name: \"revenueCategory\",\n displayName: \"Revenue Category\",\n type: \"object\",\n get typeDef() { return (domain.types.RevenueCategory as ObjectType & { name: \"RevenueCategory\" }) },\n role: \"value\",\n },\n revenue: {\n name: \"revenue\",\n displayName: \"Revenue\",\n type: \"number\",\n role: \"value\",\n rules: {\n required: val => val != null || \"Revenue is required.\",\n }\n },\n },\n}\nexport const EventSection = domain.types.EventSection = {\n name: \"EventSection\" as const,\n displayName: \"Event Section\",\n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n eventId: {\n name: \"eventId\",\n displayName: \"Event Id\",\n type: \"number\",\n role: \"value\",\n },\n event: {\n name: \"event\",\n displayName: \"Event\",\n type: \"object\",\n get typeDef() { return (domain.types.Event as ObjectType & { name: \"Event\" }) },\n role: \"value\",\n },\n seatMapSectionId: {\n name: \"seatMapSectionId\",\n displayName: \"Seat Map Section Id\",\n type: \"number\",\n role: \"value\",\n },\n seatMapSection: {\n name: \"seatMapSection\",\n displayName: \"Seat Map Section\",\n type: \"object\",\n get typeDef() { return (domain.types.SeatMapSection as ObjectType & { name: \"SeatMapSection\" }) },\n role: \"value\",\n },\n isEnabled: {\n name: \"isEnabled\",\n displayName: \"Is Enabled\",\n type: \"boolean\",\n role: \"value\",\n },\n prices: {\n name: \"prices\",\n displayName: \"Prices\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.EventSectionPrice as ObjectType & { name: \"EventSectionPrice\" }) },\n },\n role: \"value\",\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const EventSectionPrice = domain.types.EventSectionPrice = {\n name: \"EventSectionPrice\" as const,\n displayName: \"Event Section Price\",\n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n eventSectionId: {\n name: \"eventSectionId\",\n displayName: \"Event Section Id\",\n type: \"number\",\n role: \"value\",\n },\n eventSection: {\n name: \"eventSection\",\n displayName: \"Event Section\",\n type: \"object\",\n get typeDef() { return (domain.types.EventSection as ObjectType & { name: \"EventSection\" }) },\n role: \"value\",\n },\n eventPriceId: {\n name: \"eventPriceId\",\n displayName: \"Event Price Id\",\n type: \"number\",\n role: \"value\",\n },\n eventPrice: {\n name: \"eventPrice\",\n displayName: \"Event Price\",\n type: \"object\",\n get typeDef() { return (domain.types.EventPrice as ObjectType & { name: \"EventPrice\" }) },\n role: \"value\",\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const EventSuggestedEvent = domain.types.EventSuggestedEvent = {\n name: \"EventSuggestedEvent\" as const,\n displayName: \"Event Suggested Event\",\n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n eventId: {\n name: \"eventId\",\n displayName: \"Event Id\",\n type: \"number\",\n role: \"value\",\n },\n event: {\n name: \"event\",\n displayName: \"Event\",\n type: \"object\",\n get typeDef() { return (domain.types.Event as ObjectType & { name: \"Event\" }) },\n role: \"value\",\n },\n suggestedEventId: {\n name: \"suggestedEventId\",\n displayName: \"Suggested Event Id\",\n type: \"number\",\n role: \"value\",\n },\n suggestedEvent: {\n name: \"suggestedEvent\",\n displayName: \"Suggested Event\",\n type: \"object\",\n get typeDef() { return (domain.types.Event as ObjectType & { name: \"Event\" }) },\n role: \"value\",\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const EventType = domain.types.EventType = {\n name: \"EventType\" as const,\n displayName: \"Event Type\",\n get displayProp() { return this.props.shortDescription }, \n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n shortDescription: {\n name: \"shortDescription\",\n displayName: \"Short Description\",\n description: \"Shown to users in the Event Type filters on the calendar + list views.\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Short Description is required.\",\n }\n },\n longDescription: {\n name: \"longDescription\",\n displayName: \"Long Description\",\n description: \"This field is currently not shown anywhere in the app.\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Long Description is required.\",\n }\n },\n refundPolicy: {\n name: \"refundPolicy\",\n displayName: \"Refund Policy\",\n description: \"A description of the refund policy for Events of this type to be displayed to users alongside the refunds option (if enabled for the Event) during the checkout process.\",\n type: \"string\",\n subtype: \"multiline\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n events: {\n name: \"events\",\n displayName: \"Events\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.Event as ObjectType & { name: \"Event\" }) },\n },\n role: \"value\",\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const PaymentGateway = domain.types.PaymentGateway = {\n name: \"PaymentGateway\" as const,\n displayName: \"Payment Gateway\",\n get displayProp() { return this.props.displayName }, \n type: \"object\",\n props: {\n paymentGatewayId: {\n name: \"paymentGatewayId\",\n displayName: \"Payment Gateway Id\",\n type: \"number\",\n role: \"value\",\n },\n displayName: {\n name: \"displayName\",\n displayName: \"Display Name\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Display Name is required.\",\n }\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const PostalCodeInfo = domain.types.PostalCodeInfo = {\n name: \"PostalCodeInfo\" as const,\n displayName: \"Postal Code Info\",\n type: \"object\",\n props: {\n country: {\n name: \"country\",\n displayName: \"Country\",\n type: \"string\",\n role: \"value\",\n },\n zip: {\n name: \"zip\",\n displayName: \"Zip\",\n type: \"string\",\n role: \"value\",\n },\n city: {\n name: \"city\",\n displayName: \"City\",\n type: \"string\",\n role: \"value\",\n },\n state: {\n name: \"state\",\n displayName: \"State\",\n type: \"string\",\n role: \"value\",\n },\n stateAbbr: {\n name: \"stateAbbr\",\n displayName: \"State Abbr\",\n type: \"string\",\n role: \"value\",\n },\n },\n}\nexport const RevenueCategory = domain.types.RevenueCategory = {\n name: \"RevenueCategory\" as const,\n displayName: \"Revenue Category\",\n get displayProp() { return this.props.name }, \n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n name: {\n name: \"name\",\n displayName: \"Name\",\n description: \"Name used in report headings, recorded immutably in the app's transaction log.\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Name is required.\",\n maxLength: val => !val || val.length <= 50 || \"Name may not be more than 50 characters.\",\n }\n },\n description: {\n name: \"description\",\n displayName: \"Description\",\n description: \"Explanation of the purpose of this category.\",\n type: \"string\",\n role: \"value\",\n },\n order: {\n name: \"order\",\n displayName: \"Order\",\n description: \"The order of this category in reports.\",\n type: \"number\",\n role: \"value\",\n },\n isArchived: {\n name: \"isArchived\",\n displayName: \"Is Archived\",\n type: \"boolean\",\n role: \"value\",\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const SeatMap = domain.types.SeatMap = {\n name: \"SeatMap\" as const,\n displayName: \"Seat Map\",\n get displayProp() { return this.props.name }, \n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n venueId: {\n name: \"venueId\",\n displayName: \"Venue Id\",\n type: \"number\",\n role: \"value\",\n },\n venue: {\n name: \"venue\",\n displayName: \"Venue\",\n type: \"object\",\n get typeDef() { return (domain.types.Venue as ObjectType & { name: \"Venue\" }) },\n role: \"value\",\n },\n name: {\n name: \"name\",\n displayName: \"Name\",\n type: \"string\",\n role: \"value\",\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const SeatMapAnnotationDto = domain.types.SeatMapAnnotationDto = {\n name: \"SeatMapAnnotationDto\" as const,\n displayName: \"Seat Map Annotation Dto\",\n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n x: {\n name: \"x\",\n displayName: \"X\",\n type: \"number\",\n role: \"value\",\n },\n y: {\n name: \"y\",\n displayName: \"Y\",\n type: \"number\",\n role: \"value\",\n },\n width: {\n name: \"width\",\n displayName: \"Width\",\n type: \"number\",\n role: \"value\",\n },\n height: {\n name: \"height\",\n displayName: \"Height\",\n type: \"number\",\n role: \"value\",\n },\n label: {\n name: \"label\",\n displayName: \"Label\",\n type: \"string\",\n role: \"value\",\n },\n fontScale: {\n name: \"fontScale\",\n displayName: \"Font Scale\",\n type: \"number\",\n role: \"value\",\n },\n shape: {\n name: \"shape\",\n displayName: \"Shape\",\n type: \"enum\",\n get typeDef() { return SeatMapAnnotationShape },\n role: \"value\",\n },\n },\n}\nexport const SeatMapDto = domain.types.SeatMapDto = {\n name: \"SeatMapDto\" as const,\n displayName: \"Seat Map Dto\",\n get displayProp() { return this.props.name }, \n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n name: {\n name: \"name\",\n displayName: \"Name\",\n type: \"string\",\n role: \"value\",\n },\n venueId: {\n name: \"venueId\",\n displayName: \"Venue Id\",\n type: \"number\",\n role: \"value\",\n },\n venueName: {\n name: \"venueName\",\n displayName: \"Venue Name\",\n type: \"string\",\n role: \"value\",\n dontSerialize: true,\n },\n sections: {\n name: \"sections\",\n displayName: \"Sections\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.SeatMapSectionDto as ObjectType & { name: \"SeatMapSectionDto\" }) },\n },\n role: \"value\",\n },\n annotations: {\n name: \"annotations\",\n displayName: \"Annotations\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.SeatMapAnnotationDto as ObjectType & { name: \"SeatMapAnnotationDto\" }) },\n },\n role: \"value\",\n },\n },\n}\nexport const SeatMapSeatDto = domain.types.SeatMapSeatDto = {\n name: \"SeatMapSeatDto\" as const,\n displayName: \"Seat Map Seat Dto\",\n type: \"object\",\n props: {\n seatNumber: {\n name: \"seatNumber\",\n displayName: \"Seat Number\",\n type: \"string\",\n role: \"value\",\n },\n x: {\n name: \"x\",\n displayName: \"X\",\n type: \"number\",\n role: \"value\",\n },\n y: {\n name: \"y\",\n displayName: \"Y\",\n type: \"number\",\n role: \"value\",\n },\n amountOfSeats: {\n name: \"amountOfSeats\",\n displayName: \"Amount Of Seats\",\n type: \"number\",\n role: \"value\",\n },\n width: {\n name: \"width\",\n displayName: \"Width\",\n type: \"number\",\n role: \"value\",\n },\n height: {\n name: \"height\",\n displayName: \"Height\",\n type: \"number\",\n role: \"value\",\n },\n fontScale: {\n name: \"fontScale\",\n displayName: \"Font Scale\",\n type: \"number\",\n role: \"value\",\n },\n },\n}\nexport const SeatMapSection = domain.types.SeatMapSection = {\n name: \"SeatMapSection\" as const,\n displayName: \"Seat Map Section\",\n get displayProp() { return this.props.name }, \n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n seatMapId: {\n name: \"seatMapId\",\n displayName: \"Seat Map Id\",\n type: \"number\",\n role: \"value\",\n },\n seatMap: {\n name: \"seatMap\",\n displayName: \"Seat Map\",\n type: \"object\",\n get typeDef() { return (domain.types.SeatMap as ObjectType & { name: \"SeatMap\" }) },\n role: \"value\",\n },\n name: {\n name: \"name\",\n displayName: \"Name\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Name is required.\",\n }\n },\n color: {\n name: \"color\",\n displayName: \"Color\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Color is required.\",\n maxLength: val => !val || val.length <= 7 || \"Color may not be more than 7 characters.\",\n }\n },\n type: {\n name: \"type\",\n displayName: \"Type\",\n type: \"enum\",\n get typeDef() { return SectionTypes },\n role: \"value\",\n defaultValue: 0,\n },\n },\n}\nexport const SeatMapSectionDto = domain.types.SeatMapSectionDto = {\n name: \"SeatMapSectionDto\" as const,\n displayName: \"Seat Map Section Dto\",\n get displayProp() { return this.props.name }, \n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n name: {\n name: \"name\",\n displayName: \"Name\",\n type: \"string\",\n role: \"value\",\n },\n color: {\n name: \"color\",\n displayName: \"Color\",\n type: \"string\",\n role: \"value\",\n },\n type: {\n name: \"type\",\n displayName: \"Type\",\n type: \"enum\",\n get typeDef() { return SectionTypes },\n role: \"value\",\n },\n seats: {\n name: \"seats\",\n displayName: \"Seats\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.SeatMapSeatDto as ObjectType & { name: \"SeatMapSeatDto\" }) },\n },\n role: \"value\",\n },\n prices: {\n name: \"prices\",\n displayName: \"Prices\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.EventPriceDto as ObjectType & { name: \"EventPriceDto\" }) },\n },\n role: \"value\",\n },\n },\n}\nexport const Tenant = domain.types.Tenant = {\n name: \"Tenant\" as const,\n displayName: \"Tenant\",\n get displayProp() { return this.props.name }, \n type: \"object\",\n props: {\n tenantId: {\n name: \"tenantId\",\n displayName: \"Tenant Id\",\n type: \"number\",\n role: \"value\",\n },\n name: {\n name: \"name\",\n displayName: \"Name\",\n description: \"The name of the tenant, shown throughout the application to both patrons and logged-in users.\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Name is required.\",\n }\n },\n shortCode: {\n name: \"shortCode\",\n displayName: \"Short Code\",\n description: \"A short code that uniquely identifies the tenant. Depending on Payment Gateway settings, this may be prepended to invoice numbers.\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Short Code is required.\",\n minLength: val => !val || val.length >= 3 || \"Short Code must be at least 3 characters.\",\n maxLength: val => !val || val.length <= 3 || \"Short Code may not be more than 3 characters.\",\n }\n },\n supportEmail: {\n name: \"supportEmail\",\n displayName: \"Support Email\",\n description: \"An email address that patrons may message to receive customer support.\",\n type: \"string\",\n role: \"value\",\n rules: {\n email: val => !val || /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<> ()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+ \"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(val.trim()) || \"Support Email must be a valid email address.\",\n }\n },\n supportPhone: {\n name: \"supportPhone\",\n displayName: \"Support Phone\",\n description: \"A phone number that patrons may call to receive customer support.\",\n type: \"string\",\n role: \"value\",\n },\n emailSenderAddress: {\n name: \"emailSenderAddress\",\n displayName: \"Email Sender Address\",\n description: \"The 'From' address + domain when sending email with Mailgun. Required to send purchase confirmations and other essential communication.\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n rules: {\n email: val => !val || /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<> ()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+ \"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(val.trim()) || \"Email Sender Address must be a valid email address.\",\n }\n },\n mailgunApiKey: {\n name: \"mailgunApiKey\",\n displayName: \"Mailgun Api Key\",\n description: \"A Mailgun API key that corresponds to the domain used in Email Sender Address. Required to send purchase confirmations and other essential communication.\",\n type: \"string\",\n subtype: \"password\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n twilioMessageServiceSid: {\n name: \"twilioMessageServiceSid\",\n displayName: \"Twilio Message Service Sid\",\n type: \"string\",\n subtype: \"password\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n externalApiKey: {\n name: \"externalApiKey\",\n displayName: \"External Api Key\",\n description: \"External API Key used by Integrations to read/write on Ticket Goat\",\n type: \"string\",\n subtype: \"password\",\n role: \"value\",\n hidden: 3 as HiddenAreas,\n },\n allowedIpAddresses: {\n name: \"allowedIpAddresses\",\n displayName: \"Allowed Ip Addresses\",\n description: \"IP Addresses that are allowed to connect to the API.\",\n type: \"string\",\n role: \"value\",\n hidden: 3 as HiddenAreas,\n },\n marketingEnabled: {\n name: \"marketingEnabled\",\n displayName: \"Marketing Enabled\",\n description: \"If enabled, patrons will be asked during their purchase if they want to sign up for marketing communications. Note that the actual sending of marketing communications is an orthogonal process not handled by this application in any way.\",\n type: \"boolean\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n textMessagingEnabled: {\n name: \"textMessagingEnabled\",\n displayName: \"Text Messaging Enabled\",\n description: \"If enabled, tenant can send text messages to all customers who subscribed to the service\",\n type: \"boolean\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n metaPixelsEnabled: {\n name: \"metaPixelsEnabled\",\n displayName: \"Meta Pixels Enabled\",\n description: \"If enabled, Meta Pixels will be running in the front-end web pages\",\n type: \"boolean\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n bankStatementNotificationEnabled: {\n name: \"bankStatementNotificationEnabled\",\n displayName: \"Bank Statement Notification Enabled\",\n description: \"If enabled, tenant will see the Ticket Goat disclaimer message during checkout\",\n type: \"boolean\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n defaultValue: true,\n },\n metaPixelAppId: {\n name: \"metaPixelAppId\",\n displayName: \"Meta Pixel App Id\",\n description: \"A Meta Pixel Application ID is unique key for each tenant and can be managed over Meta Pixel admin console\",\n type: \"string\",\n subtype: \"password\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n paymentGatewayId: {\n name: \"paymentGatewayId\",\n displayName: \"Payment Gateway Id\",\n type: \"number\",\n role: \"value\",\n rules: {\n required: val => val != null || \"Payment Gateway Id is required.\",\n }\n },\n paymentGateway: {\n name: \"paymentGateway\",\n displayName: \"Payment Gateway\",\n type: \"object\",\n get typeDef() { return (domain.types.PaymentGateway as ObjectType & { name: \"PaymentGateway\" }) },\n role: \"value\",\n },\n refundableFeePercentage: {\n name: \"refundableFeePercentage\",\n displayName: \"Refundable Fee Percentage\",\n description: \"The cost of the purchase protection option, as a percentage of the total of the Ticket Prices for the purchase.\",\n type: \"number\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n rules: {\n min: val => val == null || val >= 0 || \"Refundable Fee Percentage must be at least 0.\",\n max: val => val == null || val <= 100 || \"Refundable Fee Percentage may not be more than 100.\",\n }\n },\n convenienceFeePercentage: {\n name: \"convenienceFeePercentage\",\n displayName: \"Convenience Fee Percentage\",\n description: \"A percent surcharge applied to the grand total (before taxes) of all purchases.\",\n type: \"number\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n defaultValue: 3,\n rules: {\n min: val => val == null || val >= 0 || \"Convenience Fee Percentage must be at least 0.\",\n max: val => val == null || val <= 100 || \"Convenience Fee Percentage may not be more than 100.\",\n }\n },\n serviceFeeAmount: {\n name: \"serviceFeeAmount\",\n displayName: \"Service Fee Amount\",\n description: \"A surcharge, in dollars, applied for each ticket in a purchase. If blank, Service Fee will be customizable per Ticket Type and agents will be able to waive this fee on a per-purchase basis.\",\n type: \"number\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n defaultValue: 1,\n rules: {\n min: val => val == null || val >= 0 || \"Service Fee Amount must be at least 0.\",\n }\n },\n showImageOnListView: {\n name: \"showImageOnListView\",\n displayName: \"Show Image On List View\",\n description: \"This will allow adding images to the event list view.\",\n type: \"boolean\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n defaultValue: true,\n },\n isIntegrationsEnabled: {\n name: \"isIntegrationsEnabled\",\n displayName: \"Is Integrations Enabled\",\n description: \"This flag indicates whether this Tenant is allowed to use thier API key to integrate with Ticket Goat.\",\n type: \"boolean\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n defaultValue: false,\n },\n isCustomMoreOptionsButtonEnabled: {\n name: \"isCustomMoreOptionsButtonEnabled\",\n displayName: \"Is Custom More Options Button Enabled\",\n description: \"Allows Tenant to alter the text on the Sell Tickets and More Options button label\",\n type: \"boolean\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n defaultValue: false,\n },\n showStatusColumnOnListView: {\n name: \"showStatusColumnOnListView\",\n displayName: \"Show Status Column On List View\",\n description: \"Shows the status column when on the list view.\",\n type: \"boolean\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n defaultValue: true,\n },\n isAllowFreeEvent: {\n name: \"isAllowFreeEvent\",\n displayName: \"Is Allow Free Event\",\n description: \"This will allow tenant to create non-paid events. Provide an extra step while creating an event.\",\n type: \"boolean\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n defaultValue: false,\n },\n showRemainingSeats: {\n name: \"showRemainingSeats\",\n displayName: \"Show Remaining Seats\",\n description: \"Enabling this will show remaining seats for all active events.\",\n type: \"boolean\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n defaultValue: true,\n },\n dietaryRestrictionNotificationEmailAddress: {\n name: \"dietaryRestrictionNotificationEmailAddress\",\n displayName: \"Dietary Restriction Notification Email Address\",\n description: \"The email to notify when a purchase with dietary restrictions is made.\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n rules: {\n email: val => !val || /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<> ()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+ \"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(val.trim()) || \"Dietary Restriction Notification Email Address must be a valid email address.\",\n }\n },\n colorPrimary: {\n name: \"colorPrimary\",\n displayName: \"Color Primary\",\n type: \"string\",\n subtype: \"color\",\n role: \"value\",\n rules: {\n pattern: val => !val || /^#(?:[0-9a-fA-F]{3}){1,2}$/.test(val) || \"Color Primary does not match expected format.\",\n }\n },\n colorSecondary: {\n name: \"colorSecondary\",\n displayName: \"Color Secondary\",\n type: \"string\",\n subtype: \"color\",\n role: \"value\",\n rules: {\n pattern: val => !val || /^#(?:[0-9a-fA-F]{3}){1,2}$/.test(val) || \"Color Secondary does not match expected format.\",\n }\n },\n colorAccent: {\n name: \"colorAccent\",\n displayName: \"Color Accent\",\n type: \"string\",\n subtype: \"color\",\n role: \"value\",\n rules: {\n pattern: val => !val || /^#(?:[0-9a-fA-F]{3}){1,2}$/.test(val) || \"Color Accent does not match expected format.\",\n }\n },\n hosts: {\n name: \"hosts\",\n displayName: \"Hosts\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.TenantHost as ObjectType & { name: \"TenantHost\" }) },\n },\n role: \"value\",\n },\n faviconUrl: {\n name: \"faviconUrl\",\n displayName: \"Favicon\",\n type: \"string\",\n subtype: \"url-image\",\n role: \"value\",\n dontSerialize: true,\n },\n fullLogoUrl: {\n name: \"fullLogoUrl\",\n displayName: \"Full Logo\",\n type: \"string\",\n subtype: \"url-image\",\n role: \"value\",\n dontSerialize: true,\n },\n squareLogoUrl: {\n name: \"squareLogoUrl\",\n displayName: \"Square Logo\",\n type: \"string\",\n subtype: \"url-image\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const TenantHost = domain.types.TenantHost = {\n name: \"TenantHost\" as const,\n displayName: \"Tenant Host\",\n type: \"object\",\n props: {\n tenantHostId: {\n name: \"tenantHostId\",\n displayName: \"Tenant Host Id\",\n type: \"number\",\n role: \"value\",\n },\n tenantId: {\n name: \"tenantId\",\n displayName: \"Tenant Id\",\n type: \"number\",\n role: \"value\",\n },\n tenant: {\n name: \"tenant\",\n displayName: \"Tenant\",\n type: \"object\",\n get typeDef() { return (domain.types.Tenant as ObjectType & { name: \"Tenant\" }) },\n role: \"value\",\n },\n host: {\n name: \"host\",\n displayName: \"Host\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Host is required.\",\n }\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const TenantMembership = domain.types.TenantMembership = {\n name: \"TenantMembership\" as const,\n displayName: \"Tenant Membership\",\n type: \"object\",\n props: {\n tenantMembershipId: {\n name: \"tenantMembershipId\",\n displayName: \"Tenant Membership Id\",\n type: \"number\",\n role: \"value\",\n },\n tenantId: {\n name: \"tenantId\",\n displayName: \"Tenant Id\",\n type: \"number\",\n role: \"value\",\n },\n tenant: {\n name: \"tenant\",\n displayName: \"Tenant\",\n type: \"object\",\n get typeDef() { return (domain.types.Tenant as ObjectType & { name: \"Tenant\" }) },\n role: \"value\",\n },\n userId: {\n name: \"userId\",\n displayName: \"User Id\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"User Id is required.\",\n }\n },\n user: {\n name: \"user\",\n displayName: \"User\",\n type: \"object\",\n get typeDef() { return (domain.types.AppUser as ObjectType & { name: \"AppUser\" }) },\n role: \"value\",\n },\n isEmailSubscribed: {\n name: \"isEmailSubscribed\",\n displayName: \"Is Email Subscribed\",\n type: \"boolean\",\n role: \"value\",\n defaultValue: true,\n },\n isPhoneSubscribed: {\n name: \"isPhoneSubscribed\",\n displayName: \"Is Phone Subscribed\",\n type: \"boolean\",\n role: \"value\",\n defaultValue: true,\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const TicketInput = domain.types.TicketInput = {\n name: \"TicketInput\" as const,\n displayName: \"Ticket Input\",\n type: \"object\",\n props: {\n eventPriceId: {\n name: \"eventPriceId\",\n displayName: \"Event Price Id\",\n type: \"number\",\n role: \"value\",\n },\n quantity: {\n name: \"quantity\",\n displayName: \"Quantity\",\n type: \"number\",\n role: \"value\",\n },\n },\n}\nexport const TicketPurchaseAddon = domain.types.TicketPurchaseAddon = {\n name: \"TicketPurchaseAddon\" as const,\n displayName: \"Ticket Purchase Addon\",\n get displayProp() { return this.props.name }, \n type: \"object\",\n props: {\n addonId: {\n name: \"addonId\",\n displayName: \"Addon Id\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n addonItemConfigurationId: {\n name: \"addonItemConfigurationId\",\n displayName: \"Addon Item Configuration Id\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n name: {\n name: \"name\",\n displayName: \"Name\",\n type: \"string\",\n role: \"value\",\n dontSerialize: true,\n },\n marketingDescription: {\n name: \"marketingDescription\",\n displayName: \"Marketing Description\",\n type: \"string\",\n role: \"value\",\n dontSerialize: true,\n },\n price: {\n name: \"price\",\n displayName: \"Price\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n convenienceFee: {\n name: \"convenienceFee\",\n displayName: \"Convenience Fee\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n refundedPrice: {\n name: \"refundedPrice\",\n displayName: \"Refunded Price\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n totalValue: {\n name: \"totalValue\",\n displayName: \"Total Value\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n salesTax: {\n name: \"salesTax\",\n displayName: \"Sales Tax\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n isPerTicket: {\n name: \"isPerTicket\",\n displayName: \"Is Per Ticket\",\n type: \"boolean\",\n role: \"value\",\n dontSerialize: true,\n },\n status: {\n name: \"status\",\n displayName: \"Status\",\n type: \"enum\",\n get typeDef() { return AddonStatus },\n role: \"value\",\n dontSerialize: true,\n },\n isPrintable: {\n name: \"isPrintable\",\n displayName: \"Is Printable\",\n type: \"boolean\",\n role: \"value\",\n dontSerialize: true,\n },\n relatedPurchase: {\n name: \"relatedPurchase\",\n displayName: \"Related Purchase\",\n type: \"object\",\n get typeDef() { return (domain.types.TicketPurchaseRelatedPurchase as ObjectType & { name: \"TicketPurchaseRelatedPurchase\" }) },\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const TicketPurchaseDietaryRestriction = domain.types.TicketPurchaseDietaryRestriction = {\n name: \"TicketPurchaseDietaryRestriction\" as const,\n displayName: \"Ticket Purchase Dietary Restriction\",\n type: \"object\",\n props: {\n allergen: {\n name: \"allergen\",\n displayName: \"Allergen\",\n type: \"string\",\n role: \"value\",\n },\n guestQuantity: {\n name: \"guestQuantity\",\n displayName: \"Guest Quantity\",\n type: \"number\",\n role: \"value\",\n },\n comment: {\n name: \"comment\",\n displayName: \"Comment\",\n type: \"string\",\n role: \"value\",\n },\n canComment: {\n name: \"canComment\",\n displayName: \"Can Comment\",\n type: \"boolean\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const TicketPurchaseDiscount = domain.types.TicketPurchaseDiscount = {\n name: \"TicketPurchaseDiscount\" as const,\n displayName: \"Ticket Purchase Discount\",\n type: \"object\",\n props: {\n discountId: {\n name: \"discountId\",\n displayName: \"Discount Id\",\n type: \"number\",\n role: \"value\",\n },\n description: {\n name: \"description\",\n displayName: \"Description\",\n type: \"string\",\n role: \"value\",\n },\n amount: {\n name: \"amount\",\n displayName: \"Amount\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n error: {\n name: \"error\",\n displayName: \"Error\",\n type: \"string\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const TicketPurchasePayment = domain.types.TicketPurchasePayment = {\n name: \"TicketPurchasePayment\" as const,\n displayName: \"Ticket Purchase Payment\",\n type: \"object\",\n props: {\n paymentId: {\n name: \"paymentId\",\n displayName: \"Payment Id\",\n type: \"number\",\n role: \"value\",\n },\n paymentTypeName: {\n name: \"paymentTypeName\",\n displayName: \"Payment Type Name\",\n type: \"string\",\n role: \"value\",\n },\n amount: {\n name: \"amount\",\n displayName: \"Amount\",\n type: \"number\",\n role: \"value\",\n },\n description: {\n name: \"description\",\n displayName: \"Description\",\n type: \"string\",\n role: \"value\",\n dontSerialize: true,\n },\n paymentKind: {\n name: \"paymentKind\",\n displayName: \"Payment Kind\",\n type: \"enum\",\n get typeDef() { return PaymentKind },\n role: \"value\",\n dontSerialize: true,\n },\n requiresCcInput: {\n name: \"requiresCcInput\",\n displayName: \"Requires Cc Input\",\n type: \"boolean\",\n role: \"value\",\n dontSerialize: true,\n },\n canChangeAmount: {\n name: \"canChangeAmount\",\n displayName: \"Can Change Amount\",\n type: \"boolean\",\n role: \"value\",\n dontSerialize: true,\n },\n canRemove: {\n name: \"canRemove\",\n displayName: \"Can Remove\",\n type: \"boolean\",\n role: \"value\",\n dontSerialize: true,\n },\n isRefund: {\n name: \"isRefund\",\n displayName: \"Is Refund\",\n type: \"boolean\",\n role: \"value\",\n dontSerialize: true,\n },\n allowsNegativeSum: {\n name: \"allowsNegativeSum\",\n displayName: \"Allows Negative Sum\",\n type: \"boolean\",\n role: \"value\",\n dontSerialize: true,\n },\n allowsPositiveSum: {\n name: \"allowsPositiveSum\",\n displayName: \"Allows Positive Sum\",\n type: \"boolean\",\n role: \"value\",\n dontSerialize: true,\n },\n maxRefundableAmount: {\n name: \"maxRefundableAmount\",\n displayName: \"Max Refundable Amount\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n relatedPurchases: {\n name: \"relatedPurchases\",\n displayName: \"Related Purchases\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.TicketPurchaseRelatedPurchase as ObjectType & { name: \"TicketPurchaseRelatedPurchase\" }) },\n },\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const TicketPurchaseRelatedPurchase = domain.types.TicketPurchaseRelatedPurchase = {\n name: \"TicketPurchaseRelatedPurchase\" as const,\n displayName: \"Ticket Purchase Related Purchase\",\n get displayProp() { return this.props.description }, \n type: \"object\",\n props: {\n publicId: {\n name: \"publicId\",\n displayName: \"Public Id\",\n type: \"string\",\n role: \"value\",\n dontSerialize: true,\n },\n description: {\n name: \"description\",\n displayName: \"Description\",\n type: \"string\",\n role: \"value\",\n dontSerialize: true,\n },\n ticketIds: {\n name: \"ticketIds\",\n displayName: \"Ticket Ids\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"number\",\n },\n role: \"value\",\n dontSerialize: true,\n },\n addonIds: {\n name: \"addonIds\",\n displayName: \"Addon Ids\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"number\",\n },\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const TicketPurchaseTicket = domain.types.TicketPurchaseTicket = {\n name: \"TicketPurchaseTicket\" as const,\n displayName: \"Ticket Purchase Ticket\",\n type: \"object\",\n props: {\n ticketId: {\n name: \"ticketId\",\n displayName: \"Ticket Id\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n eventPriceId: {\n name: \"eventPriceId\",\n displayName: \"Event Price Id\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n seatNumber: {\n name: \"seatNumber\",\n displayName: \"Seat Number\",\n type: \"string\",\n role: \"value\",\n dontSerialize: true,\n },\n description: {\n name: \"description\",\n displayName: \"Description\",\n type: \"string\",\n role: \"value\",\n dontSerialize: true,\n },\n price: {\n name: \"price\",\n displayName: \"Price\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n fees: {\n name: \"fees\",\n displayName: \"Fees\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n convenienceFee: {\n name: \"convenienceFee\",\n displayName: \"Convenience Fee\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n salesTax: {\n name: \"salesTax\",\n displayName: \"Sales Tax\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n refundableFee: {\n name: \"refundableFee\",\n displayName: \"Refundable Fee\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n discountTotal: {\n name: \"discountTotal\",\n displayName: \"Discount Total\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n subtotalWithFees: {\n name: \"subtotalWithFees\",\n displayName: \"Subtotal With Fees\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n addons: {\n name: \"addons\",\n displayName: \"Addons\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n totalValue: {\n name: \"totalValue\",\n displayName: \"Total Value\",\n type: \"number\",\n role: \"value\",\n dontSerialize: true,\n },\n status: {\n name: \"status\",\n displayName: \"Status\",\n type: \"enum\",\n get typeDef() { return TicketStatus },\n role: \"value\",\n dontSerialize: true,\n },\n relatedPurchase: {\n name: \"relatedPurchase\",\n displayName: \"Related Purchase\",\n type: \"object\",\n get typeDef() { return (domain.types.TicketPurchaseRelatedPurchase as ObjectType & { name: \"TicketPurchaseRelatedPurchase\" }) },\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const TicketTemplate = domain.types.TicketTemplate = {\n name: \"TicketTemplate\" as const,\n displayName: \"Ticket Template\",\n get displayProp() { return this.props.description }, \n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n description: {\n name: \"description\",\n displayName: \"Description\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Description is required.\",\n }\n },\n htmlContent: {\n name: \"htmlContent\",\n displayName: \"Html Content\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n pageHeightInches: {\n name: \"pageHeightInches\",\n displayName: \"Page Height (inches)\",\n type: \"number\",\n role: \"value\",\n },\n pageWidthInches: {\n name: \"pageWidthInches\",\n displayName: \"Page Width (inches)\",\n type: \"number\",\n role: \"value\",\n },\n companyName: {\n name: \"companyName\",\n displayName: \"Company Name\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Company Name is required.\",\n }\n },\n events: {\n name: \"events\",\n displayName: \"Events\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.Event as ObjectType & { name: \"Event\" }) },\n },\n role: \"value\",\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const Venue = domain.types.Venue = {\n name: \"Venue\" as const,\n displayName: \"Venue\",\n get displayProp() { return this.props.displayName }, \n type: \"object\",\n props: {\n id: {\n name: \"id\",\n displayName: \"Id\",\n type: \"number\",\n role: \"value\",\n },\n displayName: {\n name: \"displayName\",\n displayName: \"Display Name\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Display Name is required.\",\n }\n },\n boardingLabel: {\n name: \"boardingLabel\",\n displayName: \"Early arrival label\",\n description: \"The type of early arrival that can occur for events in this venue. This verbiage will be displayed next to event descriptions and is available in ticket/email templates.\",\n type: \"enum\",\n get typeDef() { return BoardingLabel },\n role: \"value\",\n },\n salesTaxPercentage: {\n name: \"salesTaxPercentage\",\n displayName: \"Sales Tax Percentage\",\n description: \"The tax percentage applied to the grand total of the purchase.\",\n type: \"number\",\n role: \"value\",\n rules: {\n required: val => val != null || \"Sales Tax Percentage is required.\",\n min: val => val == null || val >= 0 || \"Sales Tax Percentage must be at least 0.\",\n max: val => val == null || val <= 100 || \"Sales Tax Percentage may not be more than 100.\",\n }\n },\n disclaimer: {\n name: \"disclaimer\",\n displayName: \"Disclaimer\",\n type: \"string\",\n role: \"value\",\n },\n events: {\n name: \"events\",\n displayName: \"Events\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.Event as ObjectType & { name: \"Event\" }) },\n },\n role: \"value\",\n },\n seatMaps: {\n name: \"seatMaps\",\n displayName: \"Seat Maps\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.SeatMap as ObjectType & { name: \"SeatMap\" }) },\n },\n role: \"value\",\n hidden: 1 as HiddenAreas,\n },\n address: {\n name: \"address\",\n displayName: \"Address\",\n type: \"string\",\n role: \"value\",\n },\n state: {\n name: \"state\",\n displayName: \"State\",\n type: \"string\",\n role: \"value\",\n },\n zip: {\n name: \"zip\",\n displayName: \"Zip\",\n type: \"string\",\n role: \"value\",\n },\n country: {\n name: \"country\",\n displayName: \"Country\",\n type: \"string\",\n role: \"value\",\n },\n timeZone: {\n name: \"timeZone\",\n displayName: \"Time Zone\",\n description: \"The time zone of the venue. Choose from the available US time zones.\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Time Zone is required.\",\n }\n },\n creationUserName: {\n name: \"creationUserName\",\n displayName: \"Created By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n creationDate: {\n name: \"creationDate\",\n displayName: \"Created On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeUserName: {\n name: \"lastChangeUserName\",\n displayName: \"Modified By\",\n type: \"string\",\n role: \"value\",\n hidden: 1 as HiddenAreas,\n dontSerialize: true,\n },\n lastChangeDate: {\n name: \"lastChangeDate\",\n displayName: \"Modified On\",\n type: \"date\",\n dateKind: \"datetime\",\n role: \"value\",\n dontSerialize: true,\n },\n },\n}\nexport const PublicPurchaseService = domain.services.PublicPurchaseService = {\n name: \"PublicPurchaseService\",\n displayName: \"Public Purchase Service\",\n type: \"service\",\n controllerRoute: \"PublicPurchaseService\",\n methods: {\n initiatePurchase: {\n name: \"initiatePurchase\",\n displayName: \"Initiate Purchase\",\n transportType: \"item\",\n httpMethod: \"POST\",\n params: {\n eventDateId: {\n name: \"eventDateId\",\n displayName: \"Event Date Id\",\n type: \"number\",\n role: \"value\",\n },\n },\n return: {\n name: \"$return\",\n displayName: \"Result\",\n type: \"model\",\n get typeDef() { return (domain.types.TicketPurchaseDto as ModelType & { name: \"TicketPurchaseDto\" }) },\n role: \"value\",\n },\n },\n getSeating: {\n name: \"getSeating\",\n displayName: \"Get Seating\",\n transportType: \"item\",\n httpMethod: \"POST\",\n params: {\n publicId: {\n name: \"publicId\",\n displayName: \"Public Id\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Public Id is required.\",\n }\n },\n },\n return: {\n name: \"$return\",\n displayName: \"Result\",\n type: \"object\",\n get typeDef() { return (domain.types.EventDateSeatingInfo as ObjectType & { name: \"EventDateSeatingInfo\" }) },\n role: \"value\",\n },\n },\n setTicketQuantity: {\n name: \"setTicketQuantity\",\n displayName: \"Set Ticket Quantity\",\n transportType: \"item\",\n httpMethod: \"POST\",\n params: {\n publicId: {\n name: \"publicId\",\n displayName: \"Public Id\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Public Id is required.\",\n }\n },\n eventPriceId: {\n name: \"eventPriceId\",\n displayName: \"Event Price Id\",\n type: \"number\",\n role: \"value\",\n },\n quantity: {\n name: \"quantity\",\n displayName: \"Quantity\",\n type: \"number\",\n role: \"value\",\n },\n },\n return: {\n name: \"$return\",\n displayName: \"Result\",\n type: \"model\",\n get typeDef() { return (domain.types.TicketPurchaseDto as ModelType & { name: \"TicketPurchaseDto\" }) },\n role: \"value\",\n },\n },\n addTicket: {\n name: \"addTicket\",\n displayName: \"Add Ticket\",\n transportType: \"item\",\n httpMethod: \"POST\",\n params: {\n publicId: {\n name: \"publicId\",\n displayName: \"Public Id\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Public Id is required.\",\n }\n },\n eventPriceId: {\n name: \"eventPriceId\",\n displayName: \"Event Price Id\",\n type: \"number\",\n role: \"value\",\n },\n seat: {\n name: \"seat\",\n displayName: \"Seat\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Seat is required.\",\n }\n },\n },\n return: {\n name: \"$return\",\n displayName: \"Result\",\n type: \"model\",\n get typeDef() { return (domain.types.TicketPurchaseDto as ModelType & { name: \"TicketPurchaseDto\" }) },\n role: \"value\",\n },\n },\n addMultipleTickets: {\n name: \"addMultipleTickets\",\n displayName: \"Add Multiple Tickets\",\n transportType: \"item\",\n httpMethod: \"POST\",\n params: {\n publicId: {\n name: \"publicId\",\n displayName: \"Public Id\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Public Id is required.\",\n }\n },\n tickets: {\n name: \"tickets\",\n displayName: \"Tickets\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"object\",\n get typeDef() { return (domain.types.TicketInput as ObjectType & { name: \"TicketInput\" }) },\n },\n role: \"value\",\n rules: {\n required: val => val != null || \"Tickets is required.\",\n }\n },\n seat: {\n name: \"seat\",\n displayName: \"Seat\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Seat is required.\",\n }\n },\n },\n return: {\n name: \"$return\",\n displayName: \"Result\",\n type: \"model\",\n get typeDef() { return (domain.types.TicketPurchaseDto as ModelType & { name: \"TicketPurchaseDto\" }) },\n role: \"value\",\n },\n },\n removeMultipleTickets: {\n name: \"removeMultipleTickets\",\n displayName: \"Remove Multiple Tickets\",\n transportType: \"item\",\n httpMethod: \"POST\",\n params: {\n publicId: {\n name: \"publicId\",\n displayName: \"Public Id\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Public Id is required.\",\n }\n },\n ticketIdList: {\n name: \"ticketIdList\",\n displayName: \"Ticket Id List\",\n type: \"collection\",\n itemType: {\n name: \"$collectionItem\",\n displayName: \"\",\n role: \"value\",\n type: \"number\",\n },\n role: \"value\",\n rules: {\n required: val => val != null || \"Ticket Id List is required.\",\n }\n },\n },\n return: {\n name: \"$return\",\n displayName: \"Result\",\n type: \"model\",\n get typeDef() { return (domain.types.TicketPurchaseDto as ModelType & { name: \"TicketPurchaseDto\" }) },\n role: \"value\",\n },\n },\n removeTicket: {\n name: \"removeTicket\",\n displayName: \"Remove Ticket\",\n transportType: \"item\",\n httpMethod: \"POST\",\n params: {\n publicId: {\n name: \"publicId\",\n displayName: \"Public Id\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Public Id is required.\",\n }\n },\n ticketId: {\n name: \"ticketId\",\n displayName: \"Ticket Id\",\n type: \"number\",\n role: \"value\",\n },\n },\n return: {\n name: \"$return\",\n displayName: \"Result\",\n type: \"model\",\n get typeDef() { return (domain.types.TicketPurchaseDto as ModelType & { name: \"TicketPurchaseDto\" }) },\n role: \"value\",\n },\n },\n setAddonQuantity: {\n name: \"setAddonQuantity\",\n displayName: \"Set Addon Quantity\",\n transportType: \"item\",\n httpMethod: \"POST\",\n params: {\n publicId: {\n name: \"publicId\",\n displayName: \"Public Id\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Public Id is required.\",\n }\n },\n addonConfigId: {\n name: \"addonConfigId\",\n displayName: \"Addon Config Id\",\n type: \"number\",\n role: \"value\",\n },\n quantity: {\n name: \"quantity\",\n displayName: \"Quantity\",\n type: \"number\",\n role: \"value\",\n },\n },\n return: {\n name: \"$return\",\n displayName: \"Result\",\n type: \"model\",\n get typeDef() { return (domain.types.TicketPurchaseDto as ModelType & { name: \"TicketPurchaseDto\" }) },\n role: \"value\",\n },\n },\n setDietaryRestriction: {\n name: \"setDietaryRestriction\",\n displayName: \"Set Dietary Restriction\",\n transportType: \"item\",\n httpMethod: \"POST\",\n params: {\n publicId: {\n name: \"publicId\",\n displayName: \"Public Id\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Public Id is required.\",\n }\n },\n allergen: {\n name: \"allergen\",\n displayName: \"Allergen\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Allergen is required.\",\n }\n },\n quantity: {\n name: \"quantity\",\n displayName: \"Quantity\",\n type: \"number\",\n role: \"value\",\n },\n comment: {\n name: \"comment\",\n displayName: \"Comment\",\n type: \"string\",\n role: \"value\",\n },\n },\n return: {\n name: \"$return\",\n displayName: \"Result\",\n type: \"model\",\n get typeDef() { return (domain.types.TicketPurchaseDto as ModelType & { name: \"TicketPurchaseDto\" }) },\n role: \"value\",\n },\n },\n removeDiscount: {\n name: \"removeDiscount\",\n displayName: \"Remove Discount\",\n transportType: \"item\",\n httpMethod: \"POST\",\n params: {\n publicId: {\n name: \"publicId\",\n displayName: \"Public Id\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Public Id is required.\",\n }\n },\n discountId: {\n name: \"discountId\",\n displayName: \"Discount Id\",\n type: \"number\",\n role: \"value\",\n },\n },\n return: {\n name: \"$return\",\n displayName: \"Result\",\n type: \"model\",\n get typeDef() { return (domain.types.TicketPurchaseDto as ModelType & { name: \"TicketPurchaseDto\" }) },\n role: \"value\",\n },\n },\n applyDiscountCode: {\n name: \"applyDiscountCode\",\n displayName: \"Apply Discount Code\",\n transportType: \"item\",\n httpMethod: \"POST\",\n params: {\n publicId: {\n name: \"publicId\",\n displayName: \"Public Id\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Public Id is required.\",\n }\n },\n discountCode: {\n name: \"discountCode\",\n displayName: \"Discount Code\",\n type: \"string\",\n role: \"value\",\n },\n },\n return: {\n name: \"$return\",\n displayName: \"Result\",\n type: \"model\",\n get typeDef() { return (domain.types.TicketPurchaseDto as ModelType & { name: \"TicketPurchaseDto\" }) },\n role: \"value\",\n },\n },\n completePublicCardPayment: {\n name: \"completePublicCardPayment\",\n displayName: \"Complete Public Card Payment\",\n transportType: \"item\",\n httpMethod: \"POST\",\n params: {\n publicId: {\n name: \"publicId\",\n displayName: \"Public Id\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Public Id is required.\",\n }\n },\n cardDetails: {\n name: \"cardDetails\",\n displayName: \"Card Details\",\n type: \"object\",\n get typeDef() { return (domain.types.CreditCardDetails as ObjectType & { name: \"CreditCardDetails\" }) },\n role: \"value\",\n rules: {\n required: val => val != null || \"Card Details is required.\",\n }\n },\n },\n return: {\n name: \"$return\",\n displayName: \"Result\",\n type: \"string\",\n role: \"value\",\n },\n },\n getPostalCodeInfo: {\n name: \"getPostalCodeInfo\",\n displayName: \"Get Postal Code Info\",\n transportType: \"item\",\n httpMethod: \"POST\",\n params: {\n postalCode: {\n name: \"postalCode\",\n displayName: \"Postal Code\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Postal Code is required.\",\n }\n },\n },\n return: {\n name: \"$return\",\n displayName: \"Result\",\n type: \"object\",\n get typeDef() { return (domain.types.PostalCodeInfo as ObjectType & { name: \"PostalCodeInfo\" }) },\n role: \"value\",\n },\n },\n markTicketPurchaseHoneyPotSpam: {\n name: \"markTicketPurchaseHoneyPotSpam\",\n displayName: \"Mark Ticket Purchase Honey Pot Spam\",\n transportType: \"item\",\n httpMethod: \"POST\",\n params: {\n publicId: {\n name: \"publicId\",\n displayName: \"Public Id\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Public Id is required.\",\n }\n },\n },\n return: {\n name: \"$return\",\n displayName: \"Result\",\n type: \"void\",\n role: \"value\",\n },\n },\n },\n}\nexport const SignInService = domain.services.SignInService = {\n name: \"SignInService\",\n displayName: \"Sign In Service\",\n type: \"service\",\n controllerRoute: \"SignInService\",\n methods: {\n signIn: {\n name: \"signIn\",\n displayName: \"Sign In\",\n transportType: \"item\",\n httpMethod: \"POST\",\n params: {\n userName: {\n name: \"userName\",\n displayName: \"User Name\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"User Name is required.\",\n }\n },\n password: {\n name: \"password\",\n displayName: \"Password\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Password is required.\",\n }\n },\n rememberMe: {\n name: \"rememberMe\",\n displayName: \"Remember Me\",\n type: \"boolean\",\n role: \"value\",\n },\n },\n return: {\n name: \"$return\",\n displayName: \"Result\",\n type: \"void\",\n role: \"value\",\n },\n },\n requestPasswordReset: {\n name: \"requestPasswordReset\",\n displayName: \"Request Password Reset\",\n transportType: \"item\",\n httpMethod: \"POST\",\n params: {\n userName: {\n name: \"userName\",\n displayName: \"User Name\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"User Name is required.\",\n }\n },\n },\n return: {\n name: \"$return\",\n displayName: \"Result\",\n type: \"void\",\n role: \"value\",\n },\n },\n resetPassword: {\n name: \"resetPassword\",\n displayName: \"Reset Password\",\n transportType: \"item\",\n httpMethod: \"POST\",\n params: {\n userName: {\n name: \"userName\",\n displayName: \"User Name\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"User Name is required.\",\n }\n },\n code: {\n name: \"code\",\n displayName: \"Code\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Code is required.\",\n }\n },\n newPassword: {\n name: \"newPassword\",\n displayName: \"New Password\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"New Password is required.\",\n }\n },\n confirmNewPassword: {\n name: \"confirmNewPassword\",\n displayName: \"Confirm New Password\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Confirm New Password is required.\",\n }\n },\n },\n return: {\n name: \"$return\",\n displayName: \"Result\",\n type: \"void\",\n role: \"value\",\n },\n },\n setupAccount: {\n name: \"setupAccount\",\n displayName: \"Setup Account\",\n transportType: \"item\",\n httpMethod: \"POST\",\n params: {\n userName: {\n name: \"userName\",\n displayName: \"User Name\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"User Name is required.\",\n }\n },\n code: {\n name: \"code\",\n displayName: \"Code\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Code is required.\",\n }\n },\n newPassword: {\n name: \"newPassword\",\n displayName: \"New Password\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"New Password is required.\",\n }\n },\n confirmNewPassword: {\n name: \"confirmNewPassword\",\n displayName: \"Confirm New Password\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Confirm New Password is required.\",\n }\n },\n },\n return: {\n name: \"$return\",\n displayName: \"Result\",\n type: \"void\",\n role: \"value\",\n },\n },\n confirmEmail: {\n name: \"confirmEmail\",\n displayName: \"Confirm Email\",\n transportType: \"item\",\n httpMethod: \"POST\",\n params: {\n userId: {\n name: \"userId\",\n displayName: \"User Id\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"User Id is required.\",\n }\n },\n code: {\n name: \"code\",\n displayName: \"Code\",\n type: \"string\",\n role: \"value\",\n rules: {\n required: val => (val != null && val !== '') || \"Code is required.\",\n }\n },\n newEmail: {\n name: \"newEmail\",\n displayName: \"New Email\",\n type: \"string\",\n role: \"value\",\n },\n },\n return: {\n name: \"$return\",\n displayName: \"Result\",\n type: \"void\",\n role: \"value\",\n },\n },\n },\n}\n\ninterface AppDomain extends Domain {\n enums: {\n AddonItemType: typeof AddonItemType\n AddonStatus: typeof AddonStatus\n BoardingLabel: typeof BoardingLabel\n DiscountType: typeof DiscountType\n EmailType: typeof EmailType\n PaymentKind: typeof PaymentKind\n PurchaseStatus: typeof PurchaseStatus\n PurchaseType: typeof PurchaseType\n RefundableState: typeof RefundableState\n SeatMapAnnotationShape: typeof SeatMapAnnotationShape\n SectionTypes: typeof SectionTypes\n TicketStatus: typeof TicketStatus\n }\n types: {\n AddonItemConfiguration: typeof AddonItemConfiguration\n AddonItemDefinition: typeof AddonItemDefinition\n AppRole: typeof AppRole\n AppUser: typeof AppUser\n AppUserAllTenantRole: typeof AppUserAllTenantRole\n AppUserRole: typeof AppUserRole\n AvailableSeatsDetails: typeof AvailableSeatsDetails\n Consignee: typeof Consignee\n ConsigneeCommission: typeof ConsigneeCommission\n ConsigneeDiscountDefinition: typeof ConsigneeDiscountDefinition\n ConsigneeRep: typeof ConsigneeRep\n CreditCardDetails: typeof CreditCardDetails\n DiscountDefinition: typeof DiscountDefinition\n DiscountDefinitionConfiguration: typeof DiscountDefinitionConfiguration\n EmailTemplate: typeof EmailTemplate\n Event: typeof Event\n EventAddonDto: typeof EventAddonDto\n EventAddonItemDefinition: typeof EventAddonItemDefinition\n EventDate: typeof EventDate\n EventDateDiscountDefinition: typeof EventDateDiscountDefinition\n EventDateDto: typeof EventDateDto\n EventDatePriceConfig: typeof EventDatePriceConfig\n EventDateSeatingInfo: typeof EventDateSeatingInfo\n EventDateSeatingRestrictionInfo: typeof EventDateSeatingRestrictionInfo\n EventDateSeatRestriction: typeof EventDateSeatRestriction\n EventDiscountDefinition: typeof EventDiscountDefinition\n EventDto: typeof EventDto\n EventEmailTemplate: typeof EventEmailTemplate\n EventImage: typeof EventImage\n EventPrice: typeof EventPrice\n EventPriceDto: typeof EventPriceDto\n EventPriceRevenueDistribution: typeof EventPriceRevenueDistribution\n EventSection: typeof EventSection\n EventSectionPrice: typeof EventSectionPrice\n EventSuggestedEvent: typeof EventSuggestedEvent\n EventType: typeof EventType\n EventTypeDto: typeof EventTypeDto\n PaymentGateway: typeof PaymentGateway\n PostalCodeInfo: typeof PostalCodeInfo\n RevenueCategory: typeof RevenueCategory\n SeatMap: typeof SeatMap\n SeatMapAnnotationDto: typeof SeatMapAnnotationDto\n SeatMapDto: typeof SeatMapDto\n SeatMapSeatDto: typeof SeatMapSeatDto\n SeatMapSection: typeof SeatMapSection\n SeatMapSectionDto: typeof SeatMapSectionDto\n Tenant: typeof Tenant\n TenantHost: typeof TenantHost\n TenantMembership: typeof TenantMembership\n TicketInput: typeof TicketInput\n TicketPurchaseAddon: typeof TicketPurchaseAddon\n TicketPurchaseDietaryRestriction: typeof TicketPurchaseDietaryRestriction\n TicketPurchaseDiscount: typeof TicketPurchaseDiscount\n TicketPurchaseDto: typeof TicketPurchaseDto\n TicketPurchasePayment: typeof TicketPurchasePayment\n TicketPurchaseRelatedPurchase: typeof TicketPurchaseRelatedPurchase\n TicketPurchaseTicket: typeof TicketPurchaseTicket\n TicketTemplate: typeof TicketTemplate\n Venue: typeof Venue\n }\n services: {\n PublicPurchaseService: typeof PublicPurchaseService\n SignInService: typeof SignInService\n }\n}\n\nsolidify(domain)\n\nexport default domain as unknown as AppDomain\n","import * as metadata from './metadata.g'\nimport { Model, DataSource, convertToModel, mapToModel, reactiveDataSource } from 'coalesce-vue/lib/model'\n\nexport enum AddonItemType {\n \n /** Items must be refunded/exchanged individually. */\n FixedPerAddon = 0,\n \n /** When admission tickets are refunded/exchanged, items of this type are too. */\n FixedPerTicket = 1,\n \n /** When admission tickets are refunded/exchanged, items of this type are too. */\n PercentPerTicket = 2,\n}\n\n\nexport enum AddonStatus {\n Completed = 0,\n Exchanged = 2,\n Refunded = 3,\n}\n\n\nexport enum BoardingLabel {\n Doors = 0,\n Boarding = 1,\n Arrive = 2,\n}\n\n\nexport enum DiscountType {\n PerPurchaseFlatRateDiscount = 0,\n PerPurchasePercentageDiscount = 1,\n PerTicketFlatRateDiscount = 2,\n PerTicketPercentageDiscount = 3,\n}\n\n\nexport enum EmailType {\n ImmediatelyAfterPurchase = 0,\n WithinOneDay = 1,\n ThreeHoursAfterTheEvent = 2,\n OneHourAfterTheEvent = 3,\n Confirmation = 100,\n Cancellation = 101,\n}\n\n\nexport enum PaymentKind {\n \n /** \n Maps to existing TPH discriminator column from old database. \n Do not change without adding a migration to change the column value.\n */\n Payment = 0,\n \n /** \n Maps to existing TPH discriminator column from old database. \n Do not change without adding a migration to change the column value.\n */\n CreditCardPayment = 1,\n}\n\n\nexport enum PurchaseStatus {\n Started = 0,\n Completed = 1,\n Canceled = 2,\n Expired = 3,\n}\n\n\nexport enum PurchaseType {\n Purchase = 0,\n Exchange = 1,\n Refund = 2,\n}\n\n\nexport enum RefundableState {\n \n /** Premium refunds option was not available as a choice for this purchase. */\n NotOffered = 0,\n \n /** Premium refund option was purchased. */\n Purchased = 1,\n \n /** Premium refund option was offered, but declined. */\n Declined = 2,\n}\n\n\nexport enum SeatMapAnnotationShape {\n Rectangle = 0,\n RoundedRectangle = 1,\n Oval = 2,\n \n /** No border */\n None = 3,\n}\n\n\nexport enum SectionTypes {\n IndividualSeat = 0,\n GeneralAdmission = 1,\n}\n\n\nexport enum TicketStatus {\n Completed = 0,\n Hold = 1,\n Exchanged = 2,\n Refunded = 3,\n}\n\n\nexport interface EventDateDto extends Model {\n id: number | null\n eventStartDateTime: Date | null\n eventEndDateTime: Date | null\n eventPublicPurchaseDatetime: Date | null\n \n /** The start of the event, represented in the local time of the event. */\n eventStartDateTimeLocal: Date | null\n \n /** The end of the event, represented in the local time of the event. */\n eventEndDateTimeLocal: Date | null\n venueTimezone: string | null\n durationMinutes: number | null\n eventCapacity: number | null\n cancelled: boolean | null\n eventId: number | null\n eventName: string | null\n eventShortDescription: string | null\n eventLongDescription: string | null\n eventLocation: string | null\n eventBoardingLabel: string | null\n eventBoardingMinutes: number | null\n hasFood: boolean | null\n availableSeats: number | null\n customMoreOptionsButtonText: string | null\n customMoreOptionsIcon: string | null\n customMoreOptionsUrl: string | null\n customSelectTicketsUrl: string | null\n customSelectTicketsButtonText: string | null\n customSelectTicketsIcon: string | null\n \n /** Indicates if the event date has a seat map. */\n isSeated: boolean | null\n soldOut: boolean | null\n eventCustomSoldOutText: string | null\n isEventActive: boolean | null\n isFreeEvent: boolean | null\n hiddenFromInitialPurchase: boolean | null\n \n /** \n A rollup of the various status flags of the event.\n Does not specifically indicate sellability.\n */\n statusDescription: string | null\n \n /** \n If non-null, contains the reason that a purchase of the\n event cannot be initiated by the current user.\n */\n unpurchasableReason: string | null\n eventPrices: EventPriceDto[] | null\n eventBannerImage: string | null\n eventImages: EventImage[] | null\n}\nexport class EventDateDto {\n \n /** Mutates the input object and its descendents into a valid EventDateDto implementation. */\n static convert(data?: Partial): EventDateDto {\n return convertToModel(data || {}, metadata.EventDateDto) \n }\n \n /** Maps the input object and its descendents to a new, valid EventDateDto implementation. */\n static map(data?: Partial): EventDateDto {\n return mapToModel(data || {}, metadata.EventDateDto) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.EventDateDto; }\n \n /** Instantiate a new EventDateDto, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, EventDateDto.map(data || {}));\n }\n}\nexport namespace EventDateDto {\n export namespace DataSources {\n \n export class CalendarSource implements DataSource {\n readonly $metadata = metadata.EventDateDto.dataSources.calendarSource\n year: number | null = null\n month: number | null = null\n includeForWeb: boolean | null = null\n includeWebUnlisted: boolean | null = null\n includeForPos: boolean | null = null\n includeSoldOut: boolean | null = null\n includeInactive: boolean | null = null\n includeCancelled: boolean | null = null\n minDate: Date | null = null\n onlyPast: boolean | null = null\n eventTypeId: number | null = null\n \n constructor(params?: Omit, '$metadata'>) {\n if (params) Object.assign(this, params);\n return reactiveDataSource(this);\n }\n }\n \n export class DefaultSource implements DataSource {\n readonly $metadata = metadata.EventDateDto.dataSources.defaultSource\n includeForWeb: boolean | null = null\n includeWebUnlisted: boolean | null = null\n includeForPos: boolean | null = null\n includeSoldOut: boolean | null = null\n includeInactive: boolean | null = null\n includeCancelled: boolean | null = null\n minDate: Date | null = null\n onlyPast: boolean | null = null\n eventTypeId: number | null = null\n \n constructor(params?: Omit, '$metadata'>) {\n if (params) Object.assign(this, params);\n return reactiveDataSource(this);\n }\n }\n }\n}\n\n\nexport interface EventDto extends Model {\n id: number | null\n description: string | null\n}\nexport class EventDto {\n \n /** Mutates the input object and its descendents into a valid EventDto implementation. */\n static convert(data?: Partial): EventDto {\n return convertToModel(data || {}, metadata.EventDto) \n }\n \n /** Maps the input object and its descendents to a new, valid EventDto implementation. */\n static map(data?: Partial): EventDto {\n return mapToModel(data || {}, metadata.EventDto) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.EventDto; }\n \n /** Instantiate a new EventDto, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, EventDto.map(data || {}));\n }\n}\nexport namespace EventDto {\n export namespace DataSources {\n \n export class DefaultSource implements DataSource {\n readonly $metadata = metadata.EventDto.dataSources.defaultSource\n }\n }\n}\n\n\nexport interface EventTypeDto extends Model {\n id: number | null\n description: string | null\n}\nexport class EventTypeDto {\n \n /** Mutates the input object and its descendents into a valid EventTypeDto implementation. */\n static convert(data?: Partial): EventTypeDto {\n return convertToModel(data || {}, metadata.EventTypeDto) \n }\n \n /** Maps the input object and its descendents to a new, valid EventTypeDto implementation. */\n static map(data?: Partial): EventTypeDto {\n return mapToModel(data || {}, metadata.EventTypeDto) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.EventTypeDto; }\n \n /** Instantiate a new EventTypeDto, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, EventTypeDto.map(data || {}));\n }\n}\nexport namespace EventTypeDto {\n export namespace DataSources {\n \n export class DefaultSource implements DataSource {\n readonly $metadata = metadata.EventTypeDto.dataSources.defaultSource\n }\n }\n}\n\n\nexport interface TicketPurchaseDto extends Model {\n \n /** \n A non-sequential identifier for the purchase.\n NOT the TicketPurchase.Id.\n */\n publicId: string | null\n firstName: string | null\n lastName: string | null\n email: string | null\n phone: string | null\n marketingOptOut: boolean | null\n refundable: RefundableState | null\n isAllowTextMessaging: boolean | null\n tenantTextMessagingEnabled: boolean | null\n addressStreet: string | null\n addressCity: string | null\n addressState: string | null\n addressZip: string | null\n addressCountry: string | null\n roomNumber: string | null\n willCall: boolean | null\n \n /** \n Whether the Service Fee is waived for this purchase. Does not affect the Convenience Fee.\n \n Related work:\n https://hagadone.visualstudio.com/Ticketing/_workitems/edit/1186\n https://hagadone.visualstudio.com/Ticketing/_workitems/edit/1193\n */\n waiveTicketFees: boolean | null\n canWaiveTicketFees: boolean | null\n creationDate: Date | null\n expirationDate: Date | null\n isPublic: boolean | null\n type: PurchaseType | null\n status: PurchaseStatus | null\n failureMessage: string | null\n refundComment: string | null\n confirmationCode: string | null\n refundPolicy: string | null\n \n /** \n The actual amount that was charged for the premium refund option,\n or the amount that would/will be charged if the purchase is not yet complete.\n */\n refundableFee: number | null\n refundedRefundableFee: number | null\n refundableFeePercentage: number | null\n convenienceFee: number | null\n refundedConvenienceFee: number | null\n salesTax: number | null\n refundedSalesTax: number | null\n balance: number | null\n grandTotal: number | null\n eventDateId: number | null\n eventDate: EventDateDto | null\n venueDisclaimer: string | null\n tickets: TicketPurchaseTicket[] | null\n addons: TicketPurchaseAddon[] | null\n discounts: TicketPurchaseDiscount[] | null\n payments: TicketPurchasePayment[] | null\n dietaryRestrictions: TicketPurchaseDietaryRestriction[] | null\n availableAddons: EventAddonDto[] | null\n eventSuggestedEvents: EventSuggestedEvent[] | null\n originalPurchase: TicketPurchaseRelatedPurchase | null\n}\nexport class TicketPurchaseDto {\n \n /** Mutates the input object and its descendents into a valid TicketPurchaseDto implementation. */\n static convert(data?: Partial): TicketPurchaseDto {\n return convertToModel(data || {}, metadata.TicketPurchaseDto) \n }\n \n /** Maps the input object and its descendents to a new, valid TicketPurchaseDto implementation. */\n static map(data?: Partial): TicketPurchaseDto {\n return mapToModel(data || {}, metadata.TicketPurchaseDto) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.TicketPurchaseDto; }\n \n /** Instantiate a new TicketPurchaseDto, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, TicketPurchaseDto.map(data || {}));\n }\n}\nexport namespace TicketPurchaseDto {\n export namespace DataSources {\n \n export class DefaultSource implements DataSource {\n readonly $metadata = metadata.TicketPurchaseDto.dataSources.defaultSource\n }\n }\n}\n\n\nexport interface AddonItemConfiguration extends Model {\n id: number | null\n addonItemDefinitionId: number | null\n addonItemDefinition: AddonItemDefinition | null\n name: string | null\n marketingDescription: string | null\n \n /** \n Items with quantities can have any number of that item per purchase.\n Items without a quantity can have zero or one item per purchase.\n */\n hasQuantity: boolean | null\n type: AddonItemType | null\n fixedAmount: number | null\n percentAmount: number | null\n \n /** \n An optional ticket template for this item that will generate \n additional printable tickets for each addon purchased.\n */\n ticketTemplateId: number | null\n ticketTemplate: TicketTemplate | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class AddonItemConfiguration {\n \n /** Mutates the input object and its descendents into a valid AddonItemConfiguration implementation. */\n static convert(data?: Partial): AddonItemConfiguration {\n return convertToModel(data || {}, metadata.AddonItemConfiguration) \n }\n \n /** Maps the input object and its descendents to a new, valid AddonItemConfiguration implementation. */\n static map(data?: Partial): AddonItemConfiguration {\n return mapToModel(data || {}, metadata.AddonItemConfiguration) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.AddonItemConfiguration; }\n \n /** Instantiate a new AddonItemConfiguration, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, AddonItemConfiguration.map(data || {}));\n }\n}\n\n\nexport interface AddonItemDefinition extends Model {\n id: number | null\n \n /** An admin-facing name of the item. Customer-facing name is in Name. */\n name: string | null\n \n /** Any notes about this item for admins/event managers. E.g. info on when to use or not use this item. */\n adminNote: string | null\n \n /** The ID of the currently active configuration for this item. */\n currentConfigurationId: number | null\n currentConfiguration: AddonItemConfiguration | null\n \n /** The maximum number of these addons that can be sold for each day. */\n dailyMaximumQuantity: number | null\n showOnPatronManifest: boolean | null\n \n /** Github #112: the goal is to permanently hiding the unwanted data by default */\n isHidden: boolean | null\n \n /** An email to notify when an item of this type is purchased. */\n purchaseNotificationEmail: string | null\n eventAddonItems: EventAddonItemDefinition[] | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class AddonItemDefinition {\n \n /** Mutates the input object and its descendents into a valid AddonItemDefinition implementation. */\n static convert(data?: Partial): AddonItemDefinition {\n return convertToModel(data || {}, metadata.AddonItemDefinition) \n }\n \n /** Maps the input object and its descendents to a new, valid AddonItemDefinition implementation. */\n static map(data?: Partial): AddonItemDefinition {\n return mapToModel(data || {}, metadata.AddonItemDefinition) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.AddonItemDefinition; }\n \n /** Instantiate a new AddonItemDefinition, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, AddonItemDefinition.map(data || {}));\n }\n}\n\n\nexport interface AppRole extends Model {\n name: string | null\n id: string | null\n}\nexport class AppRole {\n \n /** Mutates the input object and its descendents into a valid AppRole implementation. */\n static convert(data?: Partial): AppRole {\n return convertToModel(data || {}, metadata.AppRole) \n }\n \n /** Maps the input object and its descendents to a new, valid AppRole implementation. */\n static map(data?: Partial): AppRole {\n return mapToModel(data || {}, metadata.AppRole) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.AppRole; }\n \n /** Instantiate a new AppRole, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, AppRole.map(data || {}));\n }\n}\n\n\nexport interface AppUser extends Model {\n \n /** Gets or sets the user name for this user. */\n userName: string | null\n firstName: string | null\n lastName: string | null\n receiveLowInventoryNotifications: boolean | null\n \n /** \n Navigation property for the roles this user belongs to.\n USE WITH CAUTION - Bridges between tenant-specific (roles) and tenant-independent (users) data.\n */\n userRoles: AppUserRole[] | null\n \n /** Roles assigned to the user when they log into any tenant. Implicitly grants membership to all tenants. */\n appUserAllTenantRoles: AppUserAllTenantRole[] | null\n \n /** The names of the user's roles, for purposes of display on the user list admin page. */\n roleNames: string | null\n tenantMemberships: TenantMembership[] | null\n \n /** \n Whether the user can administrate tenants (create/edit tenants).\n This is not handled as an AppUserRole because AppUserRoles are per-tenant,\n while this role transcends all tenants.\n */\n isTenantAdmin: boolean | null\n \n /** Gets or sets the email address for the user. */\n email: string | null\n \n /** Gets or sets a flag indicating if a user has confirmed their email address. */\n emailConfirmed: boolean | null\n \n /** Gets or sets the number of failed login attempts for the current user. */\n accessFailedCount: number | null\n \n /** \n Gets or sets the date and time, in UTC, when any user lockout ends.\n A date in the past means the user is not locked out.\n */\n lockoutEnd: Date | null\n id: string | null\n}\nexport class AppUser {\n \n /** Mutates the input object and its descendents into a valid AppUser implementation. */\n static convert(data?: Partial): AppUser {\n return convertToModel(data || {}, metadata.AppUser) \n }\n \n /** Maps the input object and its descendents to a new, valid AppUser implementation. */\n static map(data?: Partial): AppUser {\n return mapToModel(data || {}, metadata.AppUser) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.AppUser; }\n \n /** Instantiate a new AppUser, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, AppUser.map(data || {}));\n }\n}\n\n\nexport interface AppUserAllTenantRole extends Model {\n id: number | null\n userId: string | null\n user: AppUser | null\n roleId: string | null\n role: AppRole | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class AppUserAllTenantRole {\n \n /** Mutates the input object and its descendents into a valid AppUserAllTenantRole implementation. */\n static convert(data?: Partial): AppUserAllTenantRole {\n return convertToModel(data || {}, metadata.AppUserAllTenantRole) \n }\n \n /** Maps the input object and its descendents to a new, valid AppUserAllTenantRole implementation. */\n static map(data?: Partial): AppUserAllTenantRole {\n return mapToModel(data || {}, metadata.AppUserAllTenantRole) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.AppUserAllTenantRole; }\n \n /** Instantiate a new AppUserAllTenantRole, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, AppUserAllTenantRole.map(data || {}));\n }\n}\n\n\nexport interface AppUserRole extends Model {\n id: string | null\n userId: string | null\n user: AppUser | null\n roleId: string | null\n role: AppRole | null\n}\nexport class AppUserRole {\n \n /** Mutates the input object and its descendents into a valid AppUserRole implementation. */\n static convert(data?: Partial): AppUserRole {\n return convertToModel(data || {}, metadata.AppUserRole) \n }\n \n /** Maps the input object and its descendents to a new, valid AppUserRole implementation. */\n static map(data?: Partial): AppUserRole {\n return mapToModel(data || {}, metadata.AppUserRole) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.AppUserRole; }\n \n /** Instantiate a new AppUserRole, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, AppUserRole.map(data || {}));\n }\n}\n\n\nexport interface AvailableSeatsDetails extends Model {\n seatNumber: string | null\n amountOfSeats: number | null\n}\nexport class AvailableSeatsDetails {\n \n /** Mutates the input object and its descendents into a valid AvailableSeatsDetails implementation. */\n static convert(data?: Partial): AvailableSeatsDetails {\n return convertToModel(data || {}, metadata.AvailableSeatsDetails) \n }\n \n /** Maps the input object and its descendents to a new, valid AvailableSeatsDetails implementation. */\n static map(data?: Partial): AvailableSeatsDetails {\n return mapToModel(data || {}, metadata.AvailableSeatsDetails) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.AvailableSeatsDetails; }\n \n /** Instantiate a new AvailableSeatsDetails, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, AvailableSeatsDetails.map(data || {}));\n }\n}\n\n\nexport interface Consignee extends Model {\n id: number | null\n name: string | null\n address: string | null\n contactPhone: string | null\n taxId: string | null\n consigneeDiscountDefinitions: ConsigneeDiscountDefinition[] | null\n consigneeReps: ConsigneeRep[] | null\n consigneeCommissions: ConsigneeCommission[] | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class Consignee {\n \n /** Mutates the input object and its descendents into a valid Consignee implementation. */\n static convert(data?: Partial): Consignee {\n return convertToModel(data || {}, metadata.Consignee) \n }\n \n /** Maps the input object and its descendents to a new, valid Consignee implementation. */\n static map(data?: Partial): Consignee {\n return mapToModel(data || {}, metadata.Consignee) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.Consignee; }\n \n /** Instantiate a new Consignee, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, Consignee.map(data || {}));\n }\n}\n\n\nexport interface ConsigneeCommission extends Model {\n id: number | null\n commissionPercent: number | null\n commissionRate: number | null\n consigneeId: number | null\n consignee: Consignee | null\n \n /** Whether this is the singular active commission on the linked consignee. */\n isActive: boolean | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class ConsigneeCommission {\n \n /** Mutates the input object and its descendents into a valid ConsigneeCommission implementation. */\n static convert(data?: Partial): ConsigneeCommission {\n return convertToModel(data || {}, metadata.ConsigneeCommission) \n }\n \n /** Maps the input object and its descendents to a new, valid ConsigneeCommission implementation. */\n static map(data?: Partial): ConsigneeCommission {\n return mapToModel(data || {}, metadata.ConsigneeCommission) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.ConsigneeCommission; }\n \n /** Instantiate a new ConsigneeCommission, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, ConsigneeCommission.map(data || {}));\n }\n}\n\n\nexport interface ConsigneeDiscountDefinition extends Model {\n id: number | null\n consigneeId: number | null\n discountDefinitionId: number | null\n consignee: Consignee | null\n discountDefinition: DiscountDefinition | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class ConsigneeDiscountDefinition {\n \n /** Mutates the input object and its descendents into a valid ConsigneeDiscountDefinition implementation. */\n static convert(data?: Partial): ConsigneeDiscountDefinition {\n return convertToModel(data || {}, metadata.ConsigneeDiscountDefinition) \n }\n \n /** Maps the input object and its descendents to a new, valid ConsigneeDiscountDefinition implementation. */\n static map(data?: Partial): ConsigneeDiscountDefinition {\n return mapToModel(data || {}, metadata.ConsigneeDiscountDefinition) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.ConsigneeDiscountDefinition; }\n \n /** Instantiate a new ConsigneeDiscountDefinition, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, ConsigneeDiscountDefinition.map(data || {}));\n }\n}\n\n\nexport interface ConsigneeRep extends Model {\n id: number | null\n consigneeId: number | null\n consignee: Consignee | null\n userId: string | null\n user: AppUser | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class ConsigneeRep {\n \n /** Mutates the input object and its descendents into a valid ConsigneeRep implementation. */\n static convert(data?: Partial): ConsigneeRep {\n return convertToModel(data || {}, metadata.ConsigneeRep) \n }\n \n /** Maps the input object and its descendents to a new, valid ConsigneeRep implementation. */\n static map(data?: Partial): ConsigneeRep {\n return mapToModel(data || {}, metadata.ConsigneeRep) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.ConsigneeRep; }\n \n /** Instantiate a new ConsigneeRep, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, ConsigneeRep.map(data || {}));\n }\n}\n\n\nexport interface CreditCardDetails extends Model {\n paymentId: number | null\n cardNumber: string | null\n expirationMonth: number | null\n expirationYear: number | null\n cvv: string | null\n billingAddress: string | null\n billingZip: string | null\n billingCountry: string | null\n billingState: string | null\n}\nexport class CreditCardDetails {\n \n /** Mutates the input object and its descendents into a valid CreditCardDetails implementation. */\n static convert(data?: Partial): CreditCardDetails {\n return convertToModel(data || {}, metadata.CreditCardDetails) \n }\n \n /** Maps the input object and its descendents to a new, valid CreditCardDetails implementation. */\n static map(data?: Partial): CreditCardDetails {\n return mapToModel(data || {}, metadata.CreditCardDetails) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.CreditCardDetails; }\n \n /** Instantiate a new CreditCardDetails, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, CreditCardDetails.map(data || {}));\n }\n}\n\n\nexport interface DiscountDefinition extends Model {\n id: number | null\n \n /** The name of the discount, shown to patrons. */\n displayName: string | null\n \n /** An internal description of the discount, shown to admins and event managers. */\n details: string | null\n effectSummary: string | null\n nonUniqueCode: string | null\n isActive: boolean | null\n availableOnWeb: boolean | null\n availableOnPos: boolean | null\n \n /** \n Applies automatically when the minimums established by MinimumTicketCount,\n MinimumPurchaseValue, and ExpireDaysBefore are met.\n */\n autoApply: boolean | null\n \n /** Github #112: the goal is to permanently hiding the unwanted data by default */\n isHidden: boolean | null\n \n /** The ID of the currently active configuration for this item. */\n currentConfigurationId: number | null\n currentConfiguration: DiscountDefinitionConfiguration | null\n consigneeDiscountDefinitions: ConsigneeDiscountDefinition[] | null\n eventDiscountDefinitions: EventDiscountDefinition[] | null\n eventDateDiscountDefinitions: EventDateDiscountDefinition[] | null\n isPairedWithCouponCodeGroup: boolean | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class DiscountDefinition {\n \n /** Mutates the input object and its descendents into a valid DiscountDefinition implementation. */\n static convert(data?: Partial): DiscountDefinition {\n return convertToModel(data || {}, metadata.DiscountDefinition) \n }\n \n /** Maps the input object and its descendents to a new, valid DiscountDefinition implementation. */\n static map(data?: Partial): DiscountDefinition {\n return mapToModel(data || {}, metadata.DiscountDefinition) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.DiscountDefinition; }\n \n /** Instantiate a new DiscountDefinition, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, DiscountDefinition.map(data || {}));\n }\n}\n\n\nexport interface DiscountDefinitionConfiguration extends Model {\n id: number | null\n discountDefinitionId: number | null\n discountDefinition: DiscountDefinition | null\n \n /** The name of the discount, shown to patrons. */\n displayName: string | null\n discountType: DiscountType | null\n amountOff: number | null\n percentageOff: number | null\n \n /** Discount only applies to purchases with at least this many tickets. */\n minimumTicketCount: number | null\n \n /** Discount only applies to purchases with at least this subtotal. */\n minimumPurchaseValue: number | null\n \n /** \n The number of days before an event date when this discount becomes unavailable.\n e.g. a value of 7 means \"discount is only available more than a week before the event\".\n Use case is \"early bird special\" kinds of discounts.\n */\n expireDaysBefore: number | null\n effectSummary: string | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class DiscountDefinitionConfiguration {\n \n /** Mutates the input object and its descendents into a valid DiscountDefinitionConfiguration implementation. */\n static convert(data?: Partial): DiscountDefinitionConfiguration {\n return convertToModel(data || {}, metadata.DiscountDefinitionConfiguration) \n }\n \n /** Maps the input object and its descendents to a new, valid DiscountDefinitionConfiguration implementation. */\n static map(data?: Partial): DiscountDefinitionConfiguration {\n return mapToModel(data || {}, metadata.DiscountDefinitionConfiguration) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.DiscountDefinitionConfiguration; }\n \n /** Instantiate a new DiscountDefinitionConfiguration, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, DiscountDefinitionConfiguration.map(data || {}));\n }\n}\n\n\nexport interface EmailTemplate extends Model {\n id: number | null\n description: string | null\n subject: string | null\n bodyText: string | null\n bodyHtml: string | null\n designJson: string | null\n type: EmailType | null\n isActive: boolean | null\n eventEmailTemplates: EventEmailTemplate[] | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class EmailTemplate {\n \n /** Mutates the input object and its descendents into a valid EmailTemplate implementation. */\n static convert(data?: Partial): EmailTemplate {\n return convertToModel(data || {}, metadata.EmailTemplate) \n }\n \n /** Maps the input object and its descendents to a new, valid EmailTemplate implementation. */\n static map(data?: Partial): EmailTemplate {\n return mapToModel(data || {}, metadata.EmailTemplate) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.EmailTemplate; }\n \n /** Instantiate a new EmailTemplate, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, EmailTemplate.map(data || {}));\n }\n}\n\n\nexport interface Event extends Model {\n id: number | null\n name: string | null\n defaultCapacity: number | null\n boardingTime: number | null\n location: string | null\n shortDescription: string | null\n longDescription: string | null\n \n /** This text will be displayed once tickets were sold out. And only visible in the public purchase */\n customSoldOutText: string | null\n isActive: boolean | null\n \n /** \n If true, EventDates for this Event are purchasable by\n public users. Such EventDates can be browsed freely on list and calendar views\n unless UnlistedOnWeb is true.\n */\n forSaleOnWeb: boolean | null\n \n /** \n If true, EventDates for this Event are not browsable by public users,\n but can still be queried directly by ID and are still available\n for purchase by users who have obtained a direct link to an event date.\n */\n unlistedOnWeb: boolean | null\n forSaleOnPos: boolean | null\n unlistedOnWebAfterFirstPurchase: boolean | null\n updateCapacityToTicketCountAfterFirstPurchase: boolean | null\n \n /** \n The Custom Button Text sections below are the defaults for the Event when custom button text is enabled.\n You can override these using the same names on the Event Date\n */\n customMoreOptionsButtonText: string | null\n customSelectTicketsButtonText: string | null\n customMoreOptionsIcon: string | null\n customSelectTicketsIcon: string | null\n eventTypeId: number | null\n eventType: EventType | null\n ticketTemplateId: number | null\n ticketTemplate: TicketTemplate | null\n confirmationEmailId: number | null\n confirmationEmail: EmailTemplate | null\n cancellationEmailId: number | null\n cancellationEmail: EmailTemplate | null\n venueId: number | null\n venue: Venue | null\n seatMapId: number | null\n seatMap: SeatMap | null\n eventSuggestedList: EventSuggestedEvent[] | null\n \n /** Whether the premium refunds option (PBI #1127) is offered for sales of this event. */\n premiumRefundsEnabled: boolean | null\n refundableFeePercentage: number | null\n isTenantShowImageOnListView: boolean | null\n isTenantAllowFreeEvent: boolean | null\n isTenantShowRemainingSeats: boolean | null\n \n /** \n Whether the event serves food or not.\n Used to determine if customers are prompted for dietary restrictions.\n */\n hasFood: boolean | null\n \n /** Configuration of the sections of the selected seat map */\n seatSections: EventSection[] | null\n eventDates: EventDate[] | null\n \n /** Images for each event that will be stored in Azure storage blob and populated into a carousel */\n eventImages: EventImage[] | null\n \n /** \n A banner image for each event. Being stored as a string url.\n This will be store explicitly in Azure File Upload Service\n */\n bannerImageSrc: string | null\n eventDiscountDefinitions: EventDiscountDefinition[] | null\n eventEmailTemplates: EventEmailTemplate[] | null\n eventAddonItems: EventAddonItemDefinition[] | null\n eventPrices: EventPrice[] | null\n activeEventPrices: EventPrice[] | null\n \n /** Used to determine if the event is a free or paid ticket. */\n isFreeEvent: boolean | null\n \n /** \n This is a toggle to trigger email notification to all users who has EventManager role\n when a ticket was purchased.\n */\n notifyViaEmailWhenTicketPurchased: boolean | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class Event {\n \n /** Mutates the input object and its descendents into a valid Event implementation. */\n static convert(data?: Partial): Event {\n return convertToModel(data || {}, metadata.Event) \n }\n \n /** Maps the input object and its descendents to a new, valid Event implementation. */\n static map(data?: Partial): Event {\n return mapToModel(data || {}, metadata.Event) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.Event; }\n \n /** Instantiate a new Event, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, Event.map(data || {}));\n }\n}\n\n\nexport interface EventAddonDto extends Model {\n definitionId: number | null\n configurationId: number | null\n name: string | null\n description: string | null\n \n /** The price per item of this addon, given the current state of the purchase. */\n price: number | null\n \n /** A description of the pricing of this addon. */\n priceDescription: string | null\n hasQuantity: boolean | null\n}\nexport class EventAddonDto {\n \n /** Mutates the input object and its descendents into a valid EventAddonDto implementation. */\n static convert(data?: Partial): EventAddonDto {\n return convertToModel(data || {}, metadata.EventAddonDto) \n }\n \n /** Maps the input object and its descendents to a new, valid EventAddonDto implementation. */\n static map(data?: Partial): EventAddonDto {\n return mapToModel(data || {}, metadata.EventAddonDto) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.EventAddonDto; }\n \n /** Instantiate a new EventAddonDto, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, EventAddonDto.map(data || {}));\n }\n}\n\n\nexport interface EventAddonItemDefinition extends Model {\n id: number | null\n eventId: number | null\n addonItemDefinitionId: number | null\n addonItemDefinition: AddonItemDefinition | null\n event: Event | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class EventAddonItemDefinition {\n \n /** Mutates the input object and its descendents into a valid EventAddonItemDefinition implementation. */\n static convert(data?: Partial): EventAddonItemDefinition {\n return convertToModel(data || {}, metadata.EventAddonItemDefinition) \n }\n \n /** Maps the input object and its descendents to a new, valid EventAddonItemDefinition implementation. */\n static map(data?: Partial): EventAddonItemDefinition {\n return mapToModel(data || {}, metadata.EventAddonItemDefinition) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.EventAddonItemDefinition; }\n \n /** Instantiate a new EventAddonItemDefinition, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, EventAddonItemDefinition.map(data || {}));\n }\n}\n\n\nexport interface EventDate extends Model {\n id: number | null\n eventStartDateTime: Date | null\n eventEndDateTime: Date | null\n \n /** The duration of the event date, in minutes. */\n durationMinutes: number | null\n \n /** \n The duration of the public selling ticket, in minutes.\n If nothing set, this will be 0 as you can making purchases til the event starts\n */\n eventPublicPurchaseDatetime: Date | null\n eventCapacity: number | null\n cancelled: boolean | null\n hiddenFromInitialPurchase: boolean | null\n eventId: number | null\n event: Event | null\n eventDateDiscountDefinitions: EventDateDiscountDefinition[] | null\n seatRestrictions: EventDateSeatRestriction[] | null\n priceConfigurations: EventDatePriceConfig[] | null\n \n /** The Custom Button Text sections below will override those set in the Event if custom button text is enabled for the tenant. */\n customMoreOptionsUrl: string | null\n customSelectTicketsUrl: string | null\n customMoreOptionsButtonText: string | null\n customSelectTicketsButtonText: string | null\n customMoreOptionsIcon: string | null\n customSelectTicketsIcon: string | null\n \n /** This is kept up to date by methods in EventDateService. */\n availableSeats: number | null\n availableSeatsCacheDate: Date | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class EventDate {\n \n /** Mutates the input object and its descendents into a valid EventDate implementation. */\n static convert(data?: Partial): EventDate {\n return convertToModel(data || {}, metadata.EventDate) \n }\n \n /** Maps the input object and its descendents to a new, valid EventDate implementation. */\n static map(data?: Partial): EventDate {\n return mapToModel(data || {}, metadata.EventDate) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.EventDate; }\n \n /** Instantiate a new EventDate, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, EventDate.map(data || {}));\n }\n}\n\n\nexport interface EventDateDiscountDefinition extends Model {\n id: number | null\n eventDateId: number | null\n discountDefinitionId: number | null\n discountDefinition: DiscountDefinition | null\n eventDate: EventDate | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class EventDateDiscountDefinition {\n \n /** Mutates the input object and its descendents into a valid EventDateDiscountDefinition implementation. */\n static convert(data?: Partial): EventDateDiscountDefinition {\n return convertToModel(data || {}, metadata.EventDateDiscountDefinition) \n }\n \n /** Maps the input object and its descendents to a new, valid EventDateDiscountDefinition implementation. */\n static map(data?: Partial): EventDateDiscountDefinition {\n return mapToModel(data || {}, metadata.EventDateDiscountDefinition) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.EventDateDiscountDefinition; }\n \n /** Instantiate a new EventDateDiscountDefinition, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, EventDateDiscountDefinition.map(data || {}));\n }\n}\n\n\nexport interface EventDatePriceConfig extends Model {\n id: number | null\n eventDateId: number | null\n eventDate: EventDate | null\n \n /** \n The family of EventPrice records with a matching RootId \n are what this configuration governs.\n */\n eventPriceRootId: number | null\n \n /** \n The maximum number of Ticket records that can be sold for the EventDate\n for the given EventPriceRootId.\n Only applicable for events without a SeatMap configured.\n */\n maxQuantity: number | null\n \n /** \n The current computed number of remaining available tickets of this price.\n Only applicable if MaxQuantity is set.\n Updated by EventDateService.\n */\n availableTickets: number | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class EventDatePriceConfig {\n \n /** Mutates the input object and its descendents into a valid EventDatePriceConfig implementation. */\n static convert(data?: Partial): EventDatePriceConfig {\n return convertToModel(data || {}, metadata.EventDatePriceConfig) \n }\n \n /** Maps the input object and its descendents to a new, valid EventDatePriceConfig implementation. */\n static map(data?: Partial): EventDatePriceConfig {\n return mapToModel(data || {}, metadata.EventDatePriceConfig) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.EventDatePriceConfig; }\n \n /** Instantiate a new EventDatePriceConfig, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, EventDatePriceConfig.map(data || {}));\n }\n}\n\n\nexport interface EventDateSeatingInfo extends Model {\n eventDateId: number | null\n seatMap: SeatMapDto | null\n availableSeats: string[] | null\n availableSeatsDetails: AvailableSeatsDetails[] | null\n totalAmountOfAvailableSeats: number | null\n restrictions: EventDateSeatingRestrictionInfo[] | null\n}\nexport class EventDateSeatingInfo {\n \n /** Mutates the input object and its descendents into a valid EventDateSeatingInfo implementation. */\n static convert(data?: Partial): EventDateSeatingInfo {\n return convertToModel(data || {}, metadata.EventDateSeatingInfo) \n }\n \n /** Maps the input object and its descendents to a new, valid EventDateSeatingInfo implementation. */\n static map(data?: Partial): EventDateSeatingInfo {\n return mapToModel(data || {}, metadata.EventDateSeatingInfo) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.EventDateSeatingInfo; }\n \n /** Instantiate a new EventDateSeatingInfo, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, EventDateSeatingInfo.map(data || {}));\n }\n}\n\n\nexport interface EventDateSeatingRestrictionInfo extends Model {\n seats: string[] | null\n id: number | null\n agentOnly: boolean | null\n agentNote: string | null\n}\nexport class EventDateSeatingRestrictionInfo {\n \n /** Mutates the input object and its descendents into a valid EventDateSeatingRestrictionInfo implementation. */\n static convert(data?: Partial): EventDateSeatingRestrictionInfo {\n return convertToModel(data || {}, metadata.EventDateSeatingRestrictionInfo) \n }\n \n /** Maps the input object and its descendents to a new, valid EventDateSeatingRestrictionInfo implementation. */\n static map(data?: Partial): EventDateSeatingRestrictionInfo {\n return mapToModel(data || {}, metadata.EventDateSeatingRestrictionInfo) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.EventDateSeatingRestrictionInfo; }\n \n /** Instantiate a new EventDateSeatingRestrictionInfo, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, EventDateSeatingRestrictionInfo.map(data || {}));\n }\n}\n\n\nexport interface EventDateSeatRestriction extends Model {\n id: number | null\n eventDateId: number | null\n eventDate: EventDate | null\n agentOnly: boolean | null\n \n /** A note about the restriction that will be visible to agents. */\n agentNote: string | null\n seatNumbersJson: string | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class EventDateSeatRestriction {\n \n /** Mutates the input object and its descendents into a valid EventDateSeatRestriction implementation. */\n static convert(data?: Partial): EventDateSeatRestriction {\n return convertToModel(data || {}, metadata.EventDateSeatRestriction) \n }\n \n /** Maps the input object and its descendents to a new, valid EventDateSeatRestriction implementation. */\n static map(data?: Partial): EventDateSeatRestriction {\n return mapToModel(data || {}, metadata.EventDateSeatRestriction) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.EventDateSeatRestriction; }\n \n /** Instantiate a new EventDateSeatRestriction, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, EventDateSeatRestriction.map(data || {}));\n }\n}\n\n\nexport interface EventDiscountDefinition extends Model {\n id: number | null\n eventId: number | null\n discountDefinitionId: number | null\n discountDefinition: DiscountDefinition | null\n event: Event | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class EventDiscountDefinition {\n \n /** Mutates the input object and its descendents into a valid EventDiscountDefinition implementation. */\n static convert(data?: Partial): EventDiscountDefinition {\n return convertToModel(data || {}, metadata.EventDiscountDefinition) \n }\n \n /** Maps the input object and its descendents to a new, valid EventDiscountDefinition implementation. */\n static map(data?: Partial): EventDiscountDefinition {\n return mapToModel(data || {}, metadata.EventDiscountDefinition) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.EventDiscountDefinition; }\n \n /** Instantiate a new EventDiscountDefinition, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, EventDiscountDefinition.map(data || {}));\n }\n}\n\n\nexport interface EventEmailTemplate extends Model {\n id: number | null\n eventId: number | null\n emailTemplateId: number | null\n emailTemplate: EmailTemplate | null\n event: Event | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class EventEmailTemplate {\n \n /** Mutates the input object and its descendents into a valid EventEmailTemplate implementation. */\n static convert(data?: Partial): EventEmailTemplate {\n return convertToModel(data || {}, metadata.EventEmailTemplate) \n }\n \n /** Maps the input object and its descendents to a new, valid EventEmailTemplate implementation. */\n static map(data?: Partial): EventEmailTemplate {\n return mapToModel(data || {}, metadata.EventEmailTemplate) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.EventEmailTemplate; }\n \n /** Instantiate a new EventEmailTemplate, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, EventEmailTemplate.map(data || {}));\n }\n}\n\n\nexport interface EventImage extends Model {\n id: number | null\n eventId: number | null\n imageSrc: string | null\n altText: string | null\n order: number | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class EventImage {\n \n /** Mutates the input object and its descendents into a valid EventImage implementation. */\n static convert(data?: Partial): EventImage {\n return convertToModel(data || {}, metadata.EventImage) \n }\n \n /** Maps the input object and its descendents to a new, valid EventImage implementation. */\n static map(data?: Partial): EventImage {\n return mapToModel(data || {}, metadata.EventImage) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.EventImage; }\n \n /** Instantiate a new EventImage, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, EventImage.map(data || {}));\n }\n}\n\n\nexport interface EventPrice extends Model {\n id: number | null\n \n /** \n The original EventPrice record that this EventPrice is a revision of.\n We use this to correlate purchases of different versions of an EventPrice\n together for purpose of per-ticket-type maximums.\n */\n rootId: number | null\n eventId: number | null\n event: Event | null\n \n /** \n If non-null, this EventPrice is available for selection when creating a ticket purchase.\n Otherwise, this record represents a previous historical price for the event that is no longer active.\n */\n activeEventId: number | null\n activeEvent: Event | null\n displayName: string | null\n details: string | null\n price: number | null\n \n /** \n The service fee if CurrentServiceFeeFromTenant is null.\n https://hagadone.visualstudio.com/Ticketing/_workitems/edit/1186\n */\n serviceFee: number | null\n \n /** \n The current configured value of the tenant-level service fee amount.\n This is NOT a point-in-time snapshot. This exists to show the tenant's\n value in the UI when configuring an EventPrice.\n See https://hagadone.visualstudio.com/Ticketing/_workitems/edit/1186\n */\n currentServiceFeeFromTenant: number | null\n revenueDistributions: EventPriceRevenueDistribution[] | null\n \n /** \n The number of seats that this ticket counts as.\n This is the number that will be counted against the EventDate's Capacity.\n For events that have a SeatMap, this setting has no effect.\n This allows a \"table for two\" to be sold as a single atomic unit. PBI 1004.\n We also allow zero because there's no reason not to.\n */\n seats: number | null\n \n /** \n The default maximum quantity of this ticket type.\n Read from and overridden by MaxQuantity.\n */\n defaultMaxQuantity: number | null\n \n /** \n An optional field that forces users to buy tickets with the minimum amount per ticket type.\n See github issue #169 for more info\n */\n minimumQuantity: number | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class EventPrice {\n \n /** Mutates the input object and its descendents into a valid EventPrice implementation. */\n static convert(data?: Partial): EventPrice {\n return convertToModel(data || {}, metadata.EventPrice) \n }\n \n /** Maps the input object and its descendents to a new, valid EventPrice implementation. */\n static map(data?: Partial): EventPrice {\n return mapToModel(data || {}, metadata.EventPrice) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.EventPrice; }\n \n /** Instantiate a new EventPrice, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, EventPrice.map(data || {}));\n }\n}\n\n\nexport interface EventPriceDto extends Model {\n id: number | null\n rootId: number | null\n displayName: string | null\n description: string | null\n price: number | null\n serviceFee: number | null\n seats: number | null\n minimumQuantity: number | null\n}\nexport class EventPriceDto {\n \n /** Mutates the input object and its descendents into a valid EventPriceDto implementation. */\n static convert(data?: Partial): EventPriceDto {\n return convertToModel(data || {}, metadata.EventPriceDto) \n }\n \n /** Maps the input object and its descendents to a new, valid EventPriceDto implementation. */\n static map(data?: Partial): EventPriceDto {\n return mapToModel(data || {}, metadata.EventPriceDto) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.EventPriceDto; }\n \n /** Instantiate a new EventPriceDto, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, EventPriceDto.map(data || {}));\n }\n}\n\n\nexport interface EventPriceRevenueDistribution extends Model {\n id: number | null\n eventPriceId: number | null\n eventPrice: EventPrice | null\n revenueCategoryId: number | null\n revenueCategory: RevenueCategory | null\n revenue: number | null\n}\nexport class EventPriceRevenueDistribution {\n \n /** Mutates the input object and its descendents into a valid EventPriceRevenueDistribution implementation. */\n static convert(data?: Partial): EventPriceRevenueDistribution {\n return convertToModel(data || {}, metadata.EventPriceRevenueDistribution) \n }\n \n /** Maps the input object and its descendents to a new, valid EventPriceRevenueDistribution implementation. */\n static map(data?: Partial): EventPriceRevenueDistribution {\n return mapToModel(data || {}, metadata.EventPriceRevenueDistribution) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.EventPriceRevenueDistribution; }\n \n /** Instantiate a new EventPriceRevenueDistribution, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, EventPriceRevenueDistribution.map(data || {}));\n }\n}\n\n\nexport interface EventSection extends Model {\n id: number | null\n eventId: number | null\n event: Event | null\n seatMapSectionId: number | null\n seatMapSection: SeatMapSection | null\n \n /** Whether the seats within this section are available for the event. */\n isEnabled: boolean | null\n \n /** The prices for the event that are available in this section. */\n prices: EventSectionPrice[] | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class EventSection {\n \n /** Mutates the input object and its descendents into a valid EventSection implementation. */\n static convert(data?: Partial): EventSection {\n return convertToModel(data || {}, metadata.EventSection) \n }\n \n /** Maps the input object and its descendents to a new, valid EventSection implementation. */\n static map(data?: Partial): EventSection {\n return mapToModel(data || {}, metadata.EventSection) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.EventSection; }\n \n /** Instantiate a new EventSection, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, EventSection.map(data || {}));\n }\n}\n\n\nexport interface EventSectionPrice extends Model {\n id: number | null\n eventSectionId: number | null\n eventSection: EventSection | null\n eventPriceId: number | null\n eventPrice: EventPrice | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class EventSectionPrice {\n \n /** Mutates the input object and its descendents into a valid EventSectionPrice implementation. */\n static convert(data?: Partial): EventSectionPrice {\n return convertToModel(data || {}, metadata.EventSectionPrice) \n }\n \n /** Maps the input object and its descendents to a new, valid EventSectionPrice implementation. */\n static map(data?: Partial): EventSectionPrice {\n return mapToModel(data || {}, metadata.EventSectionPrice) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.EventSectionPrice; }\n \n /** Instantiate a new EventSectionPrice, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, EventSectionPrice.map(data || {}));\n }\n}\n\n\nexport interface EventSuggestedEvent extends Model {\n id: number | null\n eventId: number | null\n event: Event | null\n suggestedEventId: number | null\n suggestedEvent: Event | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class EventSuggestedEvent {\n \n /** Mutates the input object and its descendents into a valid EventSuggestedEvent implementation. */\n static convert(data?: Partial): EventSuggestedEvent {\n return convertToModel(data || {}, metadata.EventSuggestedEvent) \n }\n \n /** Maps the input object and its descendents to a new, valid EventSuggestedEvent implementation. */\n static map(data?: Partial): EventSuggestedEvent {\n return mapToModel(data || {}, metadata.EventSuggestedEvent) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.EventSuggestedEvent; }\n \n /** Instantiate a new EventSuggestedEvent, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, EventSuggestedEvent.map(data || {}));\n }\n}\n\n\nexport interface EventType extends Model {\n id: number | null\n \n /** Shown to users in the Event Type filters on the calendar + list views. */\n shortDescription: string | null\n \n /** This field is currently not shown anywhere in the app. */\n longDescription: string | null\n \n /** \n Description of the premium refunds option presented to customers\n for events where PremiumRefundsEnabled == true\n */\n refundPolicy: string | null\n events: Event[] | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class EventType {\n \n /** Mutates the input object and its descendents into a valid EventType implementation. */\n static convert(data?: Partial): EventType {\n return convertToModel(data || {}, metadata.EventType) \n }\n \n /** Maps the input object and its descendents to a new, valid EventType implementation. */\n static map(data?: Partial): EventType {\n return mapToModel(data || {}, metadata.EventType) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.EventType; }\n \n /** Instantiate a new EventType, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, EventType.map(data || {}));\n }\n}\n\n\nexport interface PaymentGateway extends Model {\n paymentGatewayId: number | null\n displayName: string | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class PaymentGateway {\n \n /** Mutates the input object and its descendents into a valid PaymentGateway implementation. */\n static convert(data?: Partial): PaymentGateway {\n return convertToModel(data || {}, metadata.PaymentGateway) \n }\n \n /** Maps the input object and its descendents to a new, valid PaymentGateway implementation. */\n static map(data?: Partial): PaymentGateway {\n return mapToModel(data || {}, metadata.PaymentGateway) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.PaymentGateway; }\n \n /** Instantiate a new PaymentGateway, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, PaymentGateway.map(data || {}));\n }\n}\n\n\nexport interface PostalCodeInfo extends Model {\n country: string | null\n zip: string | null\n city: string | null\n state: string | null\n stateAbbr: string | null\n}\nexport class PostalCodeInfo {\n \n /** Mutates the input object and its descendents into a valid PostalCodeInfo implementation. */\n static convert(data?: Partial): PostalCodeInfo {\n return convertToModel(data || {}, metadata.PostalCodeInfo) \n }\n \n /** Maps the input object and its descendents to a new, valid PostalCodeInfo implementation. */\n static map(data?: Partial): PostalCodeInfo {\n return mapToModel(data || {}, metadata.PostalCodeInfo) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.PostalCodeInfo; }\n \n /** Instantiate a new PostalCodeInfo, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, PostalCodeInfo.map(data || {}));\n }\n}\n\n\nexport interface RevenueCategory extends Model {\n id: number | null\n \n /** Name used in report headings, recorded immutably in the app's transaction log. */\n name: string | null\n \n /** Explanation of the purpose of this category. */\n description: string | null\n \n /** The order of this category in reports. */\n order: number | null\n \n /** \n Soft deletes. A revenue category can be prevented from being added to any events in the future,\n but removing it from existing configuration is nigh impossible, since even if it is only used by\n inactive EventPrice configuration, that configuration must be kept in case of future exchanges/refunds.\n */\n isArchived: boolean | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class RevenueCategory {\n \n /** Mutates the input object and its descendents into a valid RevenueCategory implementation. */\n static convert(data?: Partial): RevenueCategory {\n return convertToModel(data || {}, metadata.RevenueCategory) \n }\n \n /** Maps the input object and its descendents to a new, valid RevenueCategory implementation. */\n static map(data?: Partial): RevenueCategory {\n return mapToModel(data || {}, metadata.RevenueCategory) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.RevenueCategory; }\n \n /** Instantiate a new RevenueCategory, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, RevenueCategory.map(data || {}));\n }\n}\n\n\nexport interface SeatMap extends Model {\n id: number | null\n venueId: number | null\n venue: Venue | null\n name: string | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class SeatMap {\n \n /** Mutates the input object and its descendents into a valid SeatMap implementation. */\n static convert(data?: Partial): SeatMap {\n return convertToModel(data || {}, metadata.SeatMap) \n }\n \n /** Maps the input object and its descendents to a new, valid SeatMap implementation. */\n static map(data?: Partial): SeatMap {\n return mapToModel(data || {}, metadata.SeatMap) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.SeatMap; }\n \n /** Instantiate a new SeatMap, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, SeatMap.map(data || {}));\n }\n}\n\n\nexport interface SeatMapAnnotationDto extends Model {\n id: number | null\n x: number | null\n y: number | null\n width: number | null\n height: number | null\n label: string | null\n fontScale: number | null\n shape: SeatMapAnnotationShape | null\n}\nexport class SeatMapAnnotationDto {\n \n /** Mutates the input object and its descendents into a valid SeatMapAnnotationDto implementation. */\n static convert(data?: Partial): SeatMapAnnotationDto {\n return convertToModel(data || {}, metadata.SeatMapAnnotationDto) \n }\n \n /** Maps the input object and its descendents to a new, valid SeatMapAnnotationDto implementation. */\n static map(data?: Partial): SeatMapAnnotationDto {\n return mapToModel(data || {}, metadata.SeatMapAnnotationDto) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.SeatMapAnnotationDto; }\n \n /** Instantiate a new SeatMapAnnotationDto, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, SeatMapAnnotationDto.map(data || {}));\n }\n}\n\n\nexport interface SeatMapDto extends Model {\n id: number | null\n name: string | null\n venueId: number | null\n venueName: string | null\n sections: SeatMapSectionDto[] | null\n annotations: SeatMapAnnotationDto[] | null\n}\nexport class SeatMapDto {\n \n /** Mutates the input object and its descendents into a valid SeatMapDto implementation. */\n static convert(data?: Partial): SeatMapDto {\n return convertToModel(data || {}, metadata.SeatMapDto) \n }\n \n /** Maps the input object and its descendents to a new, valid SeatMapDto implementation. */\n static map(data?: Partial): SeatMapDto {\n return mapToModel(data || {}, metadata.SeatMapDto) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.SeatMapDto; }\n \n /** Instantiate a new SeatMapDto, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, SeatMapDto.map(data || {}));\n }\n}\n\n\nexport interface SeatMapSeatDto extends Model {\n seatNumber: string | null\n x: number | null\n y: number | null\n amountOfSeats: number | null\n width: number | null\n height: number | null\n fontScale: number | null\n}\nexport class SeatMapSeatDto {\n \n /** Mutates the input object and its descendents into a valid SeatMapSeatDto implementation. */\n static convert(data?: Partial): SeatMapSeatDto {\n return convertToModel(data || {}, metadata.SeatMapSeatDto) \n }\n \n /** Maps the input object and its descendents to a new, valid SeatMapSeatDto implementation. */\n static map(data?: Partial): SeatMapSeatDto {\n return mapToModel(data || {}, metadata.SeatMapSeatDto) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.SeatMapSeatDto; }\n \n /** Instantiate a new SeatMapSeatDto, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, SeatMapSeatDto.map(data || {}));\n }\n}\n\n\nexport interface SeatMapSection extends Model {\n id: number | null\n seatMapId: number | null\n seatMap: SeatMap | null\n name: string | null\n color: string | null\n type: SectionTypes | null\n}\nexport class SeatMapSection {\n \n /** Mutates the input object and its descendents into a valid SeatMapSection implementation. */\n static convert(data?: Partial): SeatMapSection {\n return convertToModel(data || {}, metadata.SeatMapSection) \n }\n \n /** Maps the input object and its descendents to a new, valid SeatMapSection implementation. */\n static map(data?: Partial): SeatMapSection {\n return mapToModel(data || {}, metadata.SeatMapSection) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.SeatMapSection; }\n \n /** Instantiate a new SeatMapSection, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, SeatMapSection.map(data || {}));\n }\n}\n\n\nexport interface SeatMapSectionDto extends Model {\n id: number | null\n name: string | null\n color: string | null\n type: SectionTypes | null\n seats: SeatMapSeatDto[] | null\n \n /** \n When a seat map is requested in the context of a particular event,\n this represents the specific prices available for the section.\n */\n prices: EventPriceDto[] | null\n}\nexport class SeatMapSectionDto {\n \n /** Mutates the input object and its descendents into a valid SeatMapSectionDto implementation. */\n static convert(data?: Partial): SeatMapSectionDto {\n return convertToModel(data || {}, metadata.SeatMapSectionDto) \n }\n \n /** Maps the input object and its descendents to a new, valid SeatMapSectionDto implementation. */\n static map(data?: Partial): SeatMapSectionDto {\n return mapToModel(data || {}, metadata.SeatMapSectionDto) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.SeatMapSectionDto; }\n \n /** Instantiate a new SeatMapSectionDto, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, SeatMapSectionDto.map(data || {}));\n }\n}\n\n\nexport interface Tenant extends Model {\n tenantId: number | null\n \n /** The name of the tenant, shown throughout the application to both patrons and logged-in users. */\n name: string | null\n \n /** A short code that uniquely identifies the tenant. Depending on Payment Gateway settings, this may be prepended to invoice numbers. */\n shortCode: string | null\n \n /** An email address that patrons may message to receive customer support. */\n supportEmail: string | null\n \n /** A phone number that patrons may call to receive customer support. */\n supportPhone: string | null\n \n /** The 'From' address + domain when sending email with Mailgun. Required to send purchase confirmations and other essential communication. */\n emailSenderAddress: string | null\n \n /** A Mailgun API key that corresponds to the domain used in Email Sender Address. Required to send purchase confirmations and other essential communication. */\n mailgunApiKey: string | null\n twilioMessageServiceSid: string | null\n \n /** External API Key used by Integrations to read/write on Ticket Goat */\n externalApiKey: string | null\n \n /** IP Addresses that are allowed to connect to the API. */\n allowedIpAddresses: string | null\n \n /** If enabled, patrons will be asked during their purchase if they want to sign up for marketing communications. Note that the actual sending of marketing communications is an orthogonal process not handled by this application in any way. */\n marketingEnabled: boolean | null\n \n /** If enabled, tenant can send text messages to all customers who subscribed to the service */\n textMessagingEnabled: boolean | null\n \n /** If enabled, Meta Pixels will be running in the front-end web pages */\n metaPixelsEnabled: boolean | null\n \n /** If enabled, tenant will see the Ticket Goat disclaimer message during checkout */\n bankStatementNotificationEnabled: boolean | null\n \n /** A Meta Pixel Application ID is unique key for each tenant and can be managed over Meta Pixel admin console */\n metaPixelAppId: string | null\n paymentGatewayId: number | null\n paymentGateway: PaymentGateway | null\n \n /** The cost of the purchase protection option, as a percentage of the total of the Ticket Prices for the purchase. */\n refundableFeePercentage: number | null\n \n /** A percent surcharge applied to the grand total (before taxes) of all purchases. */\n convenienceFeePercentage: number | null\n \n /** A surcharge, in dollars, applied for each ticket in a purchase. If blank, Service Fee will be customizable per Ticket Type and agents will be able to waive this fee on a per-purchase basis. */\n serviceFeeAmount: number | null\n \n /** This will allow adding images to the event list view. */\n showImageOnListView: boolean | null\n \n /** This flag indicates whether this Tenant is allowed to use thier API key to integrate with Ticket Goat. */\n isIntegrationsEnabled: boolean | null\n \n /** Allows Tenant to alter the text on the Sell Tickets and More Options button label */\n isCustomMoreOptionsButtonEnabled: boolean | null\n \n /** Shows the status column when on the list view. */\n showStatusColumnOnListView: boolean | null\n \n /** This will allow tenant to create non-paid events. Provide an extra step while creating an event. */\n isAllowFreeEvent: boolean | null\n \n /** Enabling this will show remaining seats for all active events. */\n showRemainingSeats: boolean | null\n \n /** The email to notify when a purchase with dietary restrictions is made. */\n dietaryRestrictionNotificationEmailAddress: string | null\n colorPrimary: string | null\n colorSecondary: string | null\n colorAccent: string | null\n hosts: TenantHost[] | null\n faviconUrl: string | null\n fullLogoUrl: string | null\n squareLogoUrl: string | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class Tenant {\n \n /** Mutates the input object and its descendents into a valid Tenant implementation. */\n static convert(data?: Partial): Tenant {\n return convertToModel(data || {}, metadata.Tenant) \n }\n \n /** Maps the input object and its descendents to a new, valid Tenant implementation. */\n static map(data?: Partial): Tenant {\n return mapToModel(data || {}, metadata.Tenant) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.Tenant; }\n \n /** Instantiate a new Tenant, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, Tenant.map(data || {}));\n }\n}\n\n\nexport interface TenantHost extends Model {\n tenantHostId: number | null\n tenantId: number | null\n tenant: Tenant | null\n \n /** \n A valid domain for the tenant, like\n \"tickets.cdacruises.com\", \"localhost\", 127.0.0.1, or \"cdaevents-test.azurewebsites.net\"\n */\n host: string | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class TenantHost {\n \n /** Mutates the input object and its descendents into a valid TenantHost implementation. */\n static convert(data?: Partial): TenantHost {\n return convertToModel(data || {}, metadata.TenantHost) \n }\n \n /** Maps the input object and its descendents to a new, valid TenantHost implementation. */\n static map(data?: Partial): TenantHost {\n return mapToModel(data || {}, metadata.TenantHost) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.TenantHost; }\n \n /** Instantiate a new TenantHost, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, TenantHost.map(data || {}));\n }\n}\n\n\nexport interface TenantMembership extends Model {\n tenantMembershipId: number | null\n tenantId: number | null\n tenant: Tenant | null\n userId: string | null\n user: AppUser | null\n \n /** \n This config will be controlling subscription per tenant level\n ///\n */\n isEmailSubscribed: boolean | null\n \n /** \n This config will be controlling subscription per tenant level\n ///\n */\n isPhoneSubscribed: boolean | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class TenantMembership {\n \n /** Mutates the input object and its descendents into a valid TenantMembership implementation. */\n static convert(data?: Partial): TenantMembership {\n return convertToModel(data || {}, metadata.TenantMembership) \n }\n \n /** Maps the input object and its descendents to a new, valid TenantMembership implementation. */\n static map(data?: Partial): TenantMembership {\n return mapToModel(data || {}, metadata.TenantMembership) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.TenantMembership; }\n \n /** Instantiate a new TenantMembership, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, TenantMembership.map(data || {}));\n }\n}\n\n\nexport interface TicketInput extends Model {\n eventPriceId: number | null\n quantity: number | null\n}\nexport class TicketInput {\n \n /** Mutates the input object and its descendents into a valid TicketInput implementation. */\n static convert(data?: Partial): TicketInput {\n return convertToModel(data || {}, metadata.TicketInput) \n }\n \n /** Maps the input object and its descendents to a new, valid TicketInput implementation. */\n static map(data?: Partial): TicketInput {\n return mapToModel(data || {}, metadata.TicketInput) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.TicketInput; }\n \n /** Instantiate a new TicketInput, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, TicketInput.map(data || {}));\n }\n}\n\n\nexport interface TicketPurchaseAddon extends Model {\n addonId: number | null\n addonItemConfigurationId: number | null\n name: string | null\n marketingDescription: string | null\n price: number | null\n convenienceFee: number | null\n refundedPrice: number | null\n totalValue: number | null\n salesTax: number | null\n isPerTicket: boolean | null\n status: AddonStatus | null\n \n /** Indicates if the addon will have a printed, scannable ticket or not. */\n isPrintable: boolean | null\n relatedPurchase: TicketPurchaseRelatedPurchase | null\n}\nexport class TicketPurchaseAddon {\n \n /** Mutates the input object and its descendents into a valid TicketPurchaseAddon implementation. */\n static convert(data?: Partial): TicketPurchaseAddon {\n return convertToModel(data || {}, metadata.TicketPurchaseAddon) \n }\n \n /** Maps the input object and its descendents to a new, valid TicketPurchaseAddon implementation. */\n static map(data?: Partial): TicketPurchaseAddon {\n return mapToModel(data || {}, metadata.TicketPurchaseAddon) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.TicketPurchaseAddon; }\n \n /** Instantiate a new TicketPurchaseAddon, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, TicketPurchaseAddon.map(data || {}));\n }\n}\n\n\nexport interface TicketPurchaseDietaryRestriction extends Model {\n allergen: string | null\n guestQuantity: number | null\n comment: string | null\n canComment: boolean | null\n}\nexport class TicketPurchaseDietaryRestriction {\n \n /** Mutates the input object and its descendents into a valid TicketPurchaseDietaryRestriction implementation. */\n static convert(data?: Partial): TicketPurchaseDietaryRestriction {\n return convertToModel(data || {}, metadata.TicketPurchaseDietaryRestriction) \n }\n \n /** Maps the input object and its descendents to a new, valid TicketPurchaseDietaryRestriction implementation. */\n static map(data?: Partial): TicketPurchaseDietaryRestriction {\n return mapToModel(data || {}, metadata.TicketPurchaseDietaryRestriction) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.TicketPurchaseDietaryRestriction; }\n \n /** Instantiate a new TicketPurchaseDietaryRestriction, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, TicketPurchaseDietaryRestriction.map(data || {}));\n }\n}\n\n\nexport interface TicketPurchaseDiscount extends Model {\n discountId: number | null\n description: string | null\n amount: number | null\n error: string | null\n}\nexport class TicketPurchaseDiscount {\n \n /** Mutates the input object and its descendents into a valid TicketPurchaseDiscount implementation. */\n static convert(data?: Partial): TicketPurchaseDiscount {\n return convertToModel(data || {}, metadata.TicketPurchaseDiscount) \n }\n \n /** Maps the input object and its descendents to a new, valid TicketPurchaseDiscount implementation. */\n static map(data?: Partial): TicketPurchaseDiscount {\n return mapToModel(data || {}, metadata.TicketPurchaseDiscount) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.TicketPurchaseDiscount; }\n \n /** Instantiate a new TicketPurchaseDiscount, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, TicketPurchaseDiscount.map(data || {}));\n }\n}\n\n\nexport interface TicketPurchasePayment extends Model {\n paymentId: number | null\n paymentTypeName: string | null\n amount: number | null\n description: string | null\n paymentKind: PaymentKind | null\n requiresCcInput: boolean | null\n canChangeAmount: boolean | null\n canRemove: boolean | null\n isRefund: boolean | null\n allowsNegativeSum: boolean | null\n allowsPositiveSum: boolean | null\n maxRefundableAmount: number | null\n \n /** \n Collection of related purchases. \n Includes both the payment that this is a refund of (if any),\n and the payments that are refunds of this payment (if any).\n */\n relatedPurchases: TicketPurchaseRelatedPurchase[] | null\n}\nexport class TicketPurchasePayment {\n \n /** Mutates the input object and its descendents into a valid TicketPurchasePayment implementation. */\n static convert(data?: Partial): TicketPurchasePayment {\n return convertToModel(data || {}, metadata.TicketPurchasePayment) \n }\n \n /** Maps the input object and its descendents to a new, valid TicketPurchasePayment implementation. */\n static map(data?: Partial): TicketPurchasePayment {\n return mapToModel(data || {}, metadata.TicketPurchasePayment) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.TicketPurchasePayment; }\n \n /** Instantiate a new TicketPurchasePayment, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, TicketPurchasePayment.map(data || {}));\n }\n}\n\n\nexport interface TicketPurchaseRelatedPurchase extends Model {\n publicId: string | null\n description: string | null\n \n /** The specific tickets from the related purchase that have a relation to the parent TicketPurchase. Not populated in all cases. */\n ticketIds: number[] | null\n \n /** The specific addons from the related purchase that have a relation to the parent TicketPurchase. Not populated in all cases. */\n addonIds: number[] | null\n}\nexport class TicketPurchaseRelatedPurchase {\n \n /** Mutates the input object and its descendents into a valid TicketPurchaseRelatedPurchase implementation. */\n static convert(data?: Partial): TicketPurchaseRelatedPurchase {\n return convertToModel(data || {}, metadata.TicketPurchaseRelatedPurchase) \n }\n \n /** Maps the input object and its descendents to a new, valid TicketPurchaseRelatedPurchase implementation. */\n static map(data?: Partial): TicketPurchaseRelatedPurchase {\n return mapToModel(data || {}, metadata.TicketPurchaseRelatedPurchase) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.TicketPurchaseRelatedPurchase; }\n \n /** Instantiate a new TicketPurchaseRelatedPurchase, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, TicketPurchaseRelatedPurchase.map(data || {}));\n }\n}\n\n\nexport interface TicketPurchaseTicket extends Model {\n ticketId: number | null\n eventPriceId: number | null\n seatNumber: string | null\n description: string | null\n price: number | null\n \n /** The ServiceFee for the ticket. */\n fees: number | null\n convenienceFee: number | null\n salesTax: number | null\n refundableFee: number | null\n discountTotal: number | null\n subtotalWithFees: number | null\n addons: number | null\n totalValue: number | null\n status: TicketStatus | null\n relatedPurchase: TicketPurchaseRelatedPurchase | null\n}\nexport class TicketPurchaseTicket {\n \n /** Mutates the input object and its descendents into a valid TicketPurchaseTicket implementation. */\n static convert(data?: Partial): TicketPurchaseTicket {\n return convertToModel(data || {}, metadata.TicketPurchaseTicket) \n }\n \n /** Maps the input object and its descendents to a new, valid TicketPurchaseTicket implementation. */\n static map(data?: Partial): TicketPurchaseTicket {\n return mapToModel(data || {}, metadata.TicketPurchaseTicket) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.TicketPurchaseTicket; }\n \n /** Instantiate a new TicketPurchaseTicket, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, TicketPurchaseTicket.map(data || {}));\n }\n}\n\n\nexport interface TicketTemplate extends Model {\n id: number | null\n description: string | null\n htmlContent: string | null\n pageHeightInches: number | null\n pageWidthInches: number | null\n companyName: string | null\n events: Event[] | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class TicketTemplate {\n \n /** Mutates the input object and its descendents into a valid TicketTemplate implementation. */\n static convert(data?: Partial): TicketTemplate {\n return convertToModel(data || {}, metadata.TicketTemplate) \n }\n \n /** Maps the input object and its descendents to a new, valid TicketTemplate implementation. */\n static map(data?: Partial): TicketTemplate {\n return mapToModel(data || {}, metadata.TicketTemplate) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.TicketTemplate; }\n \n /** Instantiate a new TicketTemplate, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, TicketTemplate.map(data || {}));\n }\n}\n\n\nexport interface Venue extends Model {\n id: number | null\n displayName: string | null\n \n /** The type of early arrival that can occur for events in this venue. This verbiage will be displayed next to event descriptions and is available in ticket/email templates. */\n boardingLabel: BoardingLabel | null\n \n /** The tax percentage applied to the grand total of the purchase. */\n salesTaxPercentage: number | null\n disclaimer: string | null\n events: Event[] | null\n seatMaps: SeatMap[] | null\n address: string | null\n state: string | null\n zip: string | null\n country: string | null\n \n /** The time zone of the venue. Choose from the available US time zones. */\n timeZone: string | null\n creationUserName: string | null\n creationDate: Date | null\n lastChangeUserName: string | null\n lastChangeDate: Date | null\n}\nexport class Venue {\n \n /** Mutates the input object and its descendents into a valid Venue implementation. */\n static convert(data?: Partial): Venue {\n return convertToModel(data || {}, metadata.Venue) \n }\n \n /** Maps the input object and its descendents to a new, valid Venue implementation. */\n static map(data?: Partial): Venue {\n return mapToModel(data || {}, metadata.Venue) \n }\n \n static [Symbol.hasInstance](x: any) { return x?.$metadata === metadata.Venue; }\n \n /** Instantiate a new Venue, optionally basing it on the given data. */\n constructor(data?: Partial | {[k: string]: any}) {\n Object.assign(this, Venue.map(data || {}));\n }\n}\n\n\ndeclare module \"coalesce-vue/lib/model\" {\n interface EnumTypeLookup {\n AddonItemType: AddonItemType\n AddonStatus: AddonStatus\n BoardingLabel: BoardingLabel\n DiscountType: DiscountType\n EmailType: EmailType\n PaymentKind: PaymentKind\n PurchaseStatus: PurchaseStatus\n PurchaseType: PurchaseType\n RefundableState: RefundableState\n SeatMapAnnotationShape: SeatMapAnnotationShape\n SectionTypes: SectionTypes\n TicketStatus: TicketStatus\n }\n interface ModelTypeLookup {\n AddonItemConfiguration: AddonItemConfiguration\n AddonItemDefinition: AddonItemDefinition\n AppRole: AppRole\n AppUser: AppUser\n AppUserAllTenantRole: AppUserAllTenantRole\n AppUserRole: AppUserRole\n AvailableSeatsDetails: AvailableSeatsDetails\n Consignee: Consignee\n ConsigneeCommission: ConsigneeCommission\n ConsigneeDiscountDefinition: ConsigneeDiscountDefinition\n ConsigneeRep: ConsigneeRep\n CreditCardDetails: CreditCardDetails\n DiscountDefinition: DiscountDefinition\n DiscountDefinitionConfiguration: DiscountDefinitionConfiguration\n EmailTemplate: EmailTemplate\n Event: Event\n EventAddonDto: EventAddonDto\n EventAddonItemDefinition: EventAddonItemDefinition\n EventDate: EventDate\n EventDateDiscountDefinition: EventDateDiscountDefinition\n EventDateDto: EventDateDto\n EventDatePriceConfig: EventDatePriceConfig\n EventDateSeatingInfo: EventDateSeatingInfo\n EventDateSeatingRestrictionInfo: EventDateSeatingRestrictionInfo\n EventDateSeatRestriction: EventDateSeatRestriction\n EventDiscountDefinition: EventDiscountDefinition\n EventDto: EventDto\n EventEmailTemplate: EventEmailTemplate\n EventImage: EventImage\n EventPrice: EventPrice\n EventPriceDto: EventPriceDto\n EventPriceRevenueDistribution: EventPriceRevenueDistribution\n EventSection: EventSection\n EventSectionPrice: EventSectionPrice\n EventSuggestedEvent: EventSuggestedEvent\n EventType: EventType\n EventTypeDto: EventTypeDto\n PaymentGateway: PaymentGateway\n PostalCodeInfo: PostalCodeInfo\n RevenueCategory: RevenueCategory\n SeatMap: SeatMap\n SeatMapAnnotationDto: SeatMapAnnotationDto\n SeatMapDto: SeatMapDto\n SeatMapSeatDto: SeatMapSeatDto\n SeatMapSection: SeatMapSection\n SeatMapSectionDto: SeatMapSectionDto\n Tenant: Tenant\n TenantHost: TenantHost\n TenantMembership: TenantMembership\n TicketInput: TicketInput\n TicketPurchaseAddon: TicketPurchaseAddon\n TicketPurchaseDietaryRestriction: TicketPurchaseDietaryRestriction\n TicketPurchaseDiscount: TicketPurchaseDiscount\n TicketPurchaseDto: TicketPurchaseDto\n TicketPurchasePayment: TicketPurchasePayment\n TicketPurchaseRelatedPurchase: TicketPurchaseRelatedPurchase\n TicketPurchaseTicket: TicketPurchaseTicket\n TicketTemplate: TicketTemplate\n Venue: Venue\n }\n}\n","import * as $metadata from './metadata.g'\nimport * as $models from './models.g'\nimport { AxiosPromise, AxiosRequestConfig, ModelApiClient, ServiceApiClient, ItemResult, ListResult } from 'coalesce-vue/lib/api-client'\n\nexport class EventDateDtoApiClient extends ModelApiClient<$models.EventDateDto> {\n constructor() { super($metadata.EventDateDto) }\n}\n\n\nexport class EventDtoApiClient extends ModelApiClient<$models.EventDto> {\n constructor() { super($metadata.EventDto) }\n}\n\n\nexport class EventTypeDtoApiClient extends ModelApiClient<$models.EventTypeDto> {\n constructor() { super($metadata.EventTypeDto) }\n}\n\n\nexport class TicketPurchaseDtoApiClient extends ModelApiClient<$models.TicketPurchaseDto> {\n constructor() { super($metadata.TicketPurchaseDto) }\n}\n\n\nexport class PublicPurchaseServiceApiClient extends ServiceApiClient {\n constructor() { super($metadata.PublicPurchaseService) }\n public initiatePurchase(eventDateId?: number | null, $config?: AxiosRequestConfig): AxiosPromise> {\n const $method = this.$metadata.methods.initiatePurchase\n const $params = {\n eventDateId,\n }\n return this.$invoke($method, $params, $config)\n }\n \n public getSeating(publicId: string | null, $config?: AxiosRequestConfig): AxiosPromise> {\n const $method = this.$metadata.methods.getSeating\n const $params = {\n publicId,\n }\n return this.$invoke($method, $params, $config)\n }\n \n public setTicketQuantity(publicId: string | null, eventPriceId?: number | null, quantity?: number | null, $config?: AxiosRequestConfig): AxiosPromise> {\n const $method = this.$metadata.methods.setTicketQuantity\n const $params = {\n publicId,\n eventPriceId,\n quantity,\n }\n return this.$invoke($method, $params, $config)\n }\n \n public addTicket(publicId: string | null, eventPriceId: number | null, seat: string | null, $config?: AxiosRequestConfig): AxiosPromise> {\n const $method = this.$metadata.methods.addTicket\n const $params = {\n publicId,\n eventPriceId,\n seat,\n }\n return this.$invoke($method, $params, $config)\n }\n \n public addMultipleTickets(publicId: string | null, tickets: $models.TicketInput[] | null, seat: string | null, $config?: AxiosRequestConfig): AxiosPromise> {\n const $method = this.$metadata.methods.addMultipleTickets\n const $params = {\n publicId,\n tickets,\n seat,\n }\n return this.$invoke($method, $params, $config)\n }\n \n public removeMultipleTickets(publicId: string | null, ticketIdList: number[] | null, $config?: AxiosRequestConfig): AxiosPromise> {\n const $method = this.$metadata.methods.removeMultipleTickets\n const $params = {\n publicId,\n ticketIdList,\n }\n return this.$invoke($method, $params, $config)\n }\n \n public removeTicket(publicId: string | null, ticketId?: number | null, $config?: AxiosRequestConfig): AxiosPromise> {\n const $method = this.$metadata.methods.removeTicket\n const $params = {\n publicId,\n ticketId,\n }\n return this.$invoke($method, $params, $config)\n }\n \n public setAddonQuantity(publicId: string | null, addonConfigId?: number | null, quantity?: number | null, $config?: AxiosRequestConfig): AxiosPromise> {\n const $method = this.$metadata.methods.setAddonQuantity\n const $params = {\n publicId,\n addonConfigId,\n quantity,\n }\n return this.$invoke($method, $params, $config)\n }\n \n public setDietaryRestriction(publicId: string | null, allergen: string | null, quantity?: number | null, comment?: string | null, $config?: AxiosRequestConfig): AxiosPromise> {\n const $method = this.$metadata.methods.setDietaryRestriction\n const $params = {\n publicId,\n allergen,\n quantity,\n comment,\n }\n return this.$invoke($method, $params, $config)\n }\n \n public removeDiscount(publicId: string | null, discountId?: number | null, $config?: AxiosRequestConfig): AxiosPromise> {\n const $method = this.$metadata.methods.removeDiscount\n const $params = {\n publicId,\n discountId,\n }\n return this.$invoke($method, $params, $config)\n }\n \n public applyDiscountCode(publicId: string | null, discountCode?: string | null, $config?: AxiosRequestConfig): AxiosPromise> {\n const $method = this.$metadata.methods.applyDiscountCode\n const $params = {\n publicId,\n discountCode,\n }\n return this.$invoke($method, $params, $config)\n }\n \n public completePublicCardPayment(publicId: string | null, cardDetails: $models.CreditCardDetails | null, $config?: AxiosRequestConfig): AxiosPromise> {\n const $method = this.$metadata.methods.completePublicCardPayment\n const $params = {\n publicId,\n cardDetails,\n }\n return this.$invoke($method, $params, $config)\n }\n \n public getPostalCodeInfo(postalCode: string | null, $config?: AxiosRequestConfig): AxiosPromise> {\n const $method = this.$metadata.methods.getPostalCodeInfo\n const $params = {\n postalCode,\n }\n return this.$invoke($method, $params, $config)\n }\n \n public markTicketPurchaseHoneyPotSpam(publicId: string | null, $config?: AxiosRequestConfig): AxiosPromise> {\n const $method = this.$metadata.methods.markTicketPurchaseHoneyPotSpam\n const $params = {\n publicId,\n }\n return this.$invoke($method, $params, $config)\n }\n \n}\n\n\nexport class SignInServiceApiClient extends ServiceApiClient {\n constructor() { super($metadata.SignInService) }\n public signIn(userName: string | null, password: string | null, rememberMe?: boolean | null, $config?: AxiosRequestConfig): AxiosPromise> {\n const $method = this.$metadata.methods.signIn\n const $params = {\n userName,\n password,\n rememberMe,\n }\n return this.$invoke($method, $params, $config)\n }\n \n public requestPasswordReset(userName: string | null, $config?: AxiosRequestConfig): AxiosPromise> {\n const $method = this.$metadata.methods.requestPasswordReset\n const $params = {\n userName,\n }\n return this.$invoke($method, $params, $config)\n }\n \n public resetPassword(userName: string | null, code: string | null, newPassword: string | null, confirmNewPassword: string | null, $config?: AxiosRequestConfig): AxiosPromise> {\n const $method = this.$metadata.methods.resetPassword\n const $params = {\n userName,\n code,\n newPassword,\n confirmNewPassword,\n }\n return this.$invoke($method, $params, $config)\n }\n \n public setupAccount(userName: string | null, code: string | null, newPassword: string | null, confirmNewPassword: string | null, $config?: AxiosRequestConfig): AxiosPromise> {\n const $method = this.$metadata.methods.setupAccount\n const $params = {\n userName,\n code,\n newPassword,\n confirmNewPassword,\n }\n return this.$invoke($method, $params, $config)\n }\n \n public confirmEmail(userId: string | null, code: string | null, newEmail?: string | null, $config?: AxiosRequestConfig): AxiosPromise> {\n const $method = this.$metadata.methods.confirmEmail\n const $params = {\n userId,\n code,\n newEmail,\n }\n return this.$invoke($method, $params, $config)\n }\n \n}\n\n\n","import * as $metadata from './metadata.g'\nimport * as $models from './models.g'\nimport * as $apiClients from './api-clients.g'\nimport { ViewModel, ListViewModel, ViewModelCollection, ServiceViewModel, DeepPartial, defineProps } from 'coalesce-vue/lib/viewmodel'\n\nexport interface EventDateDtoViewModel extends $models.EventDateDto {\n id: number | null;\n eventStartDateTime: Date | null;\n eventEndDateTime: Date | null;\n eventPublicPurchaseDatetime: Date | null;\n \n /** The start of the event, represented in the local time of the event. */\n eventStartDateTimeLocal: Date | null;\n \n /** The end of the event, represented in the local time of the event. */\n eventEndDateTimeLocal: Date | null;\n venueTimezone: string | null;\n durationMinutes: number | null;\n eventCapacity: number | null;\n cancelled: boolean | null;\n eventId: number | null;\n eventName: string | null;\n eventShortDescription: string | null;\n eventLongDescription: string | null;\n eventLocation: string | null;\n eventBoardingLabel: string | null;\n eventBoardingMinutes: number | null;\n hasFood: boolean | null;\n availableSeats: number | null;\n customMoreOptionsButtonText: string | null;\n customMoreOptionsIcon: string | null;\n customMoreOptionsUrl: string | null;\n customSelectTicketsUrl: string | null;\n customSelectTicketsButtonText: string | null;\n customSelectTicketsIcon: string | null;\n \n /** Indicates if the event date has a seat map. */\n isSeated: boolean | null;\n soldOut: boolean | null;\n eventCustomSoldOutText: string | null;\n isEventActive: boolean | null;\n isFreeEvent: boolean | null;\n hiddenFromInitialPurchase: boolean | null;\n \n /** \n A rollup of the various status flags of the event.\n Does not specifically indicate sellability.\n */\n statusDescription: string | null;\n \n /** \n If non-null, contains the reason that a purchase of the\n event cannot be initiated by the current user.\n */\n unpurchasableReason: string | null;\n eventPrices: $models.EventPriceDto[] | null;\n eventBannerImage: string | null;\n eventImages: $models.EventImage[] | null;\n}\nexport class EventDateDtoViewModel extends ViewModel<$models.EventDateDto, $apiClients.EventDateDtoApiClient, number> implements $models.EventDateDto {\n static DataSources = $models.EventDateDto.DataSources;\n \n constructor(initialData?: DeepPartial<$models.EventDateDto> | null) {\n super($metadata.EventDateDto, new $apiClients.EventDateDtoApiClient(), initialData)\n this.$saveMode = \"whole\"\n }\n}\ndefineProps(EventDateDtoViewModel, $metadata.EventDateDto)\n\nexport class EventDateDtoListViewModel extends ListViewModel<$models.EventDateDto, $apiClients.EventDateDtoApiClient, EventDateDtoViewModel> {\n static DataSources = $models.EventDateDto.DataSources;\n \n constructor() {\n super($metadata.EventDateDto, new $apiClients.EventDateDtoApiClient())\n }\n}\n\n\nexport interface EventDtoViewModel extends $models.EventDto {\n id: number | null;\n description: string | null;\n}\nexport class EventDtoViewModel extends ViewModel<$models.EventDto, $apiClients.EventDtoApiClient, number> implements $models.EventDto {\n static DataSources = $models.EventDto.DataSources;\n \n constructor(initialData?: DeepPartial<$models.EventDto> | null) {\n super($metadata.EventDto, new $apiClients.EventDtoApiClient(), initialData)\n this.$saveMode = \"whole\"\n }\n}\ndefineProps(EventDtoViewModel, $metadata.EventDto)\n\nexport class EventDtoListViewModel extends ListViewModel<$models.EventDto, $apiClients.EventDtoApiClient, EventDtoViewModel> {\n static DataSources = $models.EventDto.DataSources;\n \n constructor() {\n super($metadata.EventDto, new $apiClients.EventDtoApiClient())\n }\n}\n\n\nexport interface EventTypeDtoViewModel extends $models.EventTypeDto {\n id: number | null;\n description: string | null;\n}\nexport class EventTypeDtoViewModel extends ViewModel<$models.EventTypeDto, $apiClients.EventTypeDtoApiClient, number> implements $models.EventTypeDto {\n static DataSources = $models.EventTypeDto.DataSources;\n \n constructor(initialData?: DeepPartial<$models.EventTypeDto> | null) {\n super($metadata.EventTypeDto, new $apiClients.EventTypeDtoApiClient(), initialData)\n this.$saveMode = \"whole\"\n }\n}\ndefineProps(EventTypeDtoViewModel, $metadata.EventTypeDto)\n\nexport class EventTypeDtoListViewModel extends ListViewModel<$models.EventTypeDto, $apiClients.EventTypeDtoApiClient, EventTypeDtoViewModel> {\n static DataSources = $models.EventTypeDto.DataSources;\n \n constructor() {\n super($metadata.EventTypeDto, new $apiClients.EventTypeDtoApiClient())\n }\n}\n\n\nexport interface TicketPurchaseDtoViewModel extends $models.TicketPurchaseDto {\n \n /** \n A non-sequential identifier for the purchase.\n NOT the TicketPurchase.Id.\n */\n publicId: string | null;\n firstName: string | null;\n lastName: string | null;\n email: string | null;\n phone: string | null;\n marketingOptOut: boolean | null;\n refundable: $models.RefundableState | null;\n isAllowTextMessaging: boolean | null;\n tenantTextMessagingEnabled: boolean | null;\n addressStreet: string | null;\n addressCity: string | null;\n addressState: string | null;\n addressZip: string | null;\n addressCountry: string | null;\n roomNumber: string | null;\n willCall: boolean | null;\n \n /** \n Whether the Service Fee is waived for this purchase. Does not affect the Convenience Fee.\n \n Related work:\n https://hagadone.visualstudio.com/Ticketing/_workitems/edit/1186\n https://hagadone.visualstudio.com/Ticketing/_workitems/edit/1193\n */\n waiveTicketFees: boolean | null;\n canWaiveTicketFees: boolean | null;\n creationDate: Date | null;\n expirationDate: Date | null;\n isPublic: boolean | null;\n type: $models.PurchaseType | null;\n status: $models.PurchaseStatus | null;\n failureMessage: string | null;\n refundComment: string | null;\n confirmationCode: string | null;\n refundPolicy: string | null;\n \n /** \n The actual amount that was charged for the premium refund option,\n or the amount that would/will be charged if the purchase is not yet complete.\n */\n refundableFee: number | null;\n refundedRefundableFee: number | null;\n refundableFeePercentage: number | null;\n convenienceFee: number | null;\n refundedConvenienceFee: number | null;\n salesTax: number | null;\n refundedSalesTax: number | null;\n balance: number | null;\n grandTotal: number | null;\n eventDateId: number | null;\n get eventDate(): EventDateDtoViewModel | null;\n set eventDate(value: EventDateDtoViewModel | $models.EventDateDto | null);\n venueDisclaimer: string | null;\n tickets: $models.TicketPurchaseTicket[] | null;\n addons: $models.TicketPurchaseAddon[] | null;\n discounts: $models.TicketPurchaseDiscount[] | null;\n payments: $models.TicketPurchasePayment[] | null;\n dietaryRestrictions: $models.TicketPurchaseDietaryRestriction[] | null;\n availableAddons: $models.EventAddonDto[] | null;\n eventSuggestedEvents: $models.EventSuggestedEvent[] | null;\n originalPurchase: $models.TicketPurchaseRelatedPurchase | null;\n}\nexport class TicketPurchaseDtoViewModel extends ViewModel<$models.TicketPurchaseDto, $apiClients.TicketPurchaseDtoApiClient, string> implements $models.TicketPurchaseDto {\n static DataSources = $models.TicketPurchaseDto.DataSources;\n \n constructor(initialData?: DeepPartial<$models.TicketPurchaseDto> | null) {\n super($metadata.TicketPurchaseDto, new $apiClients.TicketPurchaseDtoApiClient(), initialData)\n this.$saveMode = \"whole\"\n }\n}\ndefineProps(TicketPurchaseDtoViewModel, $metadata.TicketPurchaseDto)\n\nexport class TicketPurchaseDtoListViewModel extends ListViewModel<$models.TicketPurchaseDto, $apiClients.TicketPurchaseDtoApiClient, TicketPurchaseDtoViewModel> {\n static DataSources = $models.TicketPurchaseDto.DataSources;\n \n constructor() {\n super($metadata.TicketPurchaseDto, new $apiClients.TicketPurchaseDtoApiClient())\n }\n}\n\n\nexport class PublicPurchaseServiceViewModel extends ServiceViewModel {\n \n public get initiatePurchase() {\n const initiatePurchase = this.$apiClient.$makeCaller(\n this.$metadata.methods.initiatePurchase,\n (c, eventDateId?: number | null) => c.initiatePurchase(eventDateId),\n () => ({eventDateId: null as number | null, }),\n (c, args) => c.initiatePurchase(args.eventDateId))\n \n Object.defineProperty(this, 'initiatePurchase', {value: initiatePurchase});\n return initiatePurchase\n }\n \n public get getSeating() {\n const getSeating = this.$apiClient.$makeCaller(\n this.$metadata.methods.getSeating,\n (c, publicId: string | null) => c.getSeating(publicId),\n () => ({publicId: null as string | null, }),\n (c, args) => c.getSeating(args.publicId))\n \n Object.defineProperty(this, 'getSeating', {value: getSeating});\n return getSeating\n }\n \n /** Ticket adjustment for non-seated events */\n public get setTicketQuantity() {\n const setTicketQuantity = this.$apiClient.$makeCaller(\n this.$metadata.methods.setTicketQuantity,\n (c, publicId: string | null, eventPriceId?: number | null, quantity?: number | null) => c.setTicketQuantity(publicId, eventPriceId, quantity),\n () => ({publicId: null as string | null, eventPriceId: null as number | null, quantity: null as number | null, }),\n (c, args) => c.setTicketQuantity(args.publicId, args.eventPriceId, args.quantity))\n \n Object.defineProperty(this, 'setTicketQuantity', {value: setTicketQuantity});\n return setTicketQuantity\n }\n \n /** Ticket addition for seated events */\n public get addTicket() {\n const addTicket = this.$apiClient.$makeCaller(\n this.$metadata.methods.addTicket,\n (c, publicId: string | null, eventPriceId: number | null, seat: string | null) => c.addTicket(publicId, eventPriceId, seat),\n () => ({publicId: null as string | null, eventPriceId: null as number | null, seat: null as string | null, }),\n (c, args) => c.addTicket(args.publicId, args.eventPriceId, args.seat))\n \n Object.defineProperty(this, 'addTicket', {value: addTicket});\n return addTicket\n }\n \n /** Ticket addition for seated events (multiple tickets) */\n public get addMultipleTickets() {\n const addMultipleTickets = this.$apiClient.$makeCaller(\n this.$metadata.methods.addMultipleTickets,\n (c, publicId: string | null, tickets: $models.TicketInput[] | null, seat: string | null) => c.addMultipleTickets(publicId, tickets, seat),\n () => ({publicId: null as string | null, tickets: null as $models.TicketInput[] | null, seat: null as string | null, }),\n (c, args) => c.addMultipleTickets(args.publicId, args.tickets, args.seat))\n \n Object.defineProperty(this, 'addMultipleTickets', {value: addMultipleTickets});\n return addMultipleTickets\n }\n \n /** Ticket addition for seated events (multiple tickets) */\n public get removeMultipleTickets() {\n const removeMultipleTickets = this.$apiClient.$makeCaller(\n this.$metadata.methods.removeMultipleTickets,\n (c, publicId: string | null, ticketIdList: number[] | null) => c.removeMultipleTickets(publicId, ticketIdList),\n () => ({publicId: null as string | null, ticketIdList: null as number[] | null, }),\n (c, args) => c.removeMultipleTickets(args.publicId, args.ticketIdList))\n \n Object.defineProperty(this, 'removeMultipleTickets', {value: removeMultipleTickets});\n return removeMultipleTickets\n }\n \n public get removeTicket() {\n const removeTicket = this.$apiClient.$makeCaller(\n this.$metadata.methods.removeTicket,\n (c, publicId: string | null, ticketId?: number | null) => c.removeTicket(publicId, ticketId),\n () => ({publicId: null as string | null, ticketId: null as number | null, }),\n (c, args) => c.removeTicket(args.publicId, args.ticketId))\n \n Object.defineProperty(this, 'removeTicket', {value: removeTicket});\n return removeTicket\n }\n \n public get setAddonQuantity() {\n const setAddonQuantity = this.$apiClient.$makeCaller(\n this.$metadata.methods.setAddonQuantity,\n (c, publicId: string | null, addonConfigId?: number | null, quantity?: number | null) => c.setAddonQuantity(publicId, addonConfigId, quantity),\n () => ({publicId: null as string | null, addonConfigId: null as number | null, quantity: null as number | null, }),\n (c, args) => c.setAddonQuantity(args.publicId, args.addonConfigId, args.quantity))\n \n Object.defineProperty(this, 'setAddonQuantity', {value: setAddonQuantity});\n return setAddonQuantity\n }\n \n public get setDietaryRestriction() {\n const setDietaryRestriction = this.$apiClient.$makeCaller(\n this.$metadata.methods.setDietaryRestriction,\n (c, publicId: string | null, allergen: string | null, quantity?: number | null, comment?: string | null) => c.setDietaryRestriction(publicId, allergen, quantity, comment),\n () => ({publicId: null as string | null, allergen: null as string | null, quantity: null as number | null, comment: null as string | null, }),\n (c, args) => c.setDietaryRestriction(args.publicId, args.allergen, args.quantity, args.comment))\n \n Object.defineProperty(this, 'setDietaryRestriction', {value: setDietaryRestriction});\n return setDietaryRestriction\n }\n \n public get removeDiscount() {\n const removeDiscount = this.$apiClient.$makeCaller(\n this.$metadata.methods.removeDiscount,\n (c, publicId: string | null, discountId?: number | null) => c.removeDiscount(publicId, discountId),\n () => ({publicId: null as string | null, discountId: null as number | null, }),\n (c, args) => c.removeDiscount(args.publicId, args.discountId))\n \n Object.defineProperty(this, 'removeDiscount', {value: removeDiscount});\n return removeDiscount\n }\n \n public get applyDiscountCode() {\n const applyDiscountCode = this.$apiClient.$makeCaller(\n this.$metadata.methods.applyDiscountCode,\n (c, publicId: string | null, discountCode?: string | null) => c.applyDiscountCode(publicId, discountCode),\n () => ({publicId: null as string | null, discountCode: null as string | null, }),\n (c, args) => c.applyDiscountCode(args.publicId, args.discountCode))\n \n Object.defineProperty(this, 'applyDiscountCode', {value: applyDiscountCode});\n return applyDiscountCode\n }\n \n /** \n Complete a public purchase,\n using the provided cardDetails if the current paymentProcessor can process card payments on the server.\n Otherwise, the cardDetails are ignored.\n */\n public get completePublicCardPayment() {\n const completePublicCardPayment = this.$apiClient.$makeCaller(\n this.$metadata.methods.completePublicCardPayment,\n (c, publicId: string | null, cardDetails: $models.CreditCardDetails | null) => c.completePublicCardPayment(publicId, cardDetails),\n () => ({publicId: null as string | null, cardDetails: null as $models.CreditCardDetails | null, }),\n (c, args) => c.completePublicCardPayment(args.publicId, args.cardDetails))\n \n Object.defineProperty(this, 'completePublicCardPayment', {value: completePublicCardPayment});\n return completePublicCardPayment\n }\n \n public get getPostalCodeInfo() {\n const getPostalCodeInfo = this.$apiClient.$makeCaller(\n this.$metadata.methods.getPostalCodeInfo,\n (c, postalCode: string | null) => c.getPostalCodeInfo(postalCode),\n () => ({postalCode: null as string | null, }),\n (c, args) => c.getPostalCodeInfo(args.postalCode))\n \n Object.defineProperty(this, 'getPostalCodeInfo', {value: getPostalCodeInfo});\n return getPostalCodeInfo\n }\n \n /** Once got triggered the ticket purchase will be cancelled and resulted as spam */\n public get markTicketPurchaseHoneyPotSpam() {\n const markTicketPurchaseHoneyPotSpam = this.$apiClient.$makeCaller(\n this.$metadata.methods.markTicketPurchaseHoneyPotSpam,\n (c, publicId: string | null) => c.markTicketPurchaseHoneyPotSpam(publicId),\n () => ({publicId: null as string | null, }),\n (c, args) => c.markTicketPurchaseHoneyPotSpam(args.publicId))\n \n Object.defineProperty(this, 'markTicketPurchaseHoneyPotSpam', {value: markTicketPurchaseHoneyPotSpam});\n return markTicketPurchaseHoneyPotSpam\n }\n \n constructor() {\n super($metadata.PublicPurchaseService, new $apiClients.PublicPurchaseServiceApiClient())\n }\n}\n\n\nexport class SignInServiceViewModel extends ServiceViewModel {\n \n public get signIn() {\n const signIn = this.$apiClient.$makeCaller(\n this.$metadata.methods.signIn,\n (c, userName: string | null, password: string | null, rememberMe?: boolean | null) => c.signIn(userName, password, rememberMe),\n () => ({userName: null as string | null, password: null as string | null, rememberMe: null as boolean | null, }),\n (c, args) => c.signIn(args.userName, args.password, args.rememberMe))\n \n Object.defineProperty(this, 'signIn', {value: signIn});\n return signIn\n }\n \n public get requestPasswordReset() {\n const requestPasswordReset = this.$apiClient.$makeCaller(\n this.$metadata.methods.requestPasswordReset,\n (c, userName: string | null) => c.requestPasswordReset(userName),\n () => ({userName: null as string | null, }),\n (c, args) => c.requestPasswordReset(args.userName))\n \n Object.defineProperty(this, 'requestPasswordReset', {value: requestPasswordReset});\n return requestPasswordReset\n }\n \n public get resetPassword() {\n const resetPassword = this.$apiClient.$makeCaller(\n this.$metadata.methods.resetPassword,\n (c, userName: string | null, code: string | null, newPassword: string | null, confirmNewPassword: string | null) => c.resetPassword(userName, code, newPassword, confirmNewPassword),\n () => ({userName: null as string | null, code: null as string | null, newPassword: null as string | null, confirmNewPassword: null as string | null, }),\n (c, args) => c.resetPassword(args.userName, args.code, args.newPassword, args.confirmNewPassword))\n \n Object.defineProperty(this, 'resetPassword', {value: resetPassword});\n return resetPassword\n }\n \n public get setupAccount() {\n const setupAccount = this.$apiClient.$makeCaller(\n this.$metadata.methods.setupAccount,\n (c, userName: string | null, code: string | null, newPassword: string | null, confirmNewPassword: string | null) => c.setupAccount(userName, code, newPassword, confirmNewPassword),\n () => ({userName: null as string | null, code: null as string | null, newPassword: null as string | null, confirmNewPassword: null as string | null, }),\n (c, args) => c.setupAccount(args.userName, args.code, args.newPassword, args.confirmNewPassword))\n \n Object.defineProperty(this, 'setupAccount', {value: setupAccount});\n return setupAccount\n }\n \n public get confirmEmail() {\n const confirmEmail = this.$apiClient.$makeCaller(\n this.$metadata.methods.confirmEmail,\n (c, userId: string | null, code: string | null, newEmail?: string | null) => c.confirmEmail(userId, code, newEmail),\n () => ({userId: null as string | null, code: null as string | null, newEmail: null as string | null, }),\n (c, args) => c.confirmEmail(args.userId, args.code, args.newEmail))\n \n Object.defineProperty(this, 'confirmEmail', {value: confirmEmail});\n return confirmEmail\n }\n \n constructor() {\n super($metadata.SignInService, new $apiClients.SignInServiceApiClient())\n }\n}\n\n\nconst viewModelTypeLookup = ViewModel.typeLookup = {\n EventDateDto: EventDateDtoViewModel,\n EventDto: EventDtoViewModel,\n EventTypeDto: EventTypeDtoViewModel,\n TicketPurchaseDto: TicketPurchaseDtoViewModel,\n}\nconst listViewModelTypeLookup = ListViewModel.typeLookup = {\n EventDateDto: EventDateDtoListViewModel,\n EventDto: EventDtoListViewModel,\n EventTypeDto: EventTypeDtoListViewModel,\n TicketPurchaseDto: TicketPurchaseDtoListViewModel,\n}\nconst serviceViewModelTypeLookup = ServiceViewModel.typeLookup = {\n PublicPurchaseService: PublicPurchaseServiceViewModel,\n SignInService: SignInServiceViewModel,\n}\n\n","import { watch } from \"vue\";\n\n/** The segment to append to all page titles.\n * Usually the name of your application or company.\n * Defaults to the value at page load, which usually comes from index.html */\nconst titlePostfix = document.title || \"\";\n\n/** The separator used between title segments. */\nconst titleSeparator = \" - \";\n\n/** Use on page/router components to set the document title.\n * @param title A constant string or array of strings (for a static title), or a function that returns a string or array of strings (for a dynamic title). Arrays will be concatenated with `titleSeparator`.\n */\nexport function useTitle(\n title:\n | string\n | (string | null | undefined)[]\n | (() => string | null | undefined | (string | null | undefined)[]),\n) {\n if (!title) title = \"\";\n\n if (typeof title == \"string\" || Array.isArray(title)) {\n const nonFnTitle = title;\n title = () => nonFnTitle;\n }\n return watch(\n title,\n (newTitle) => {\n document.title = [\n ...(Array.isArray(newTitle) ? newTitle : [newTitle]),\n titlePostfix,\n ]\n .filter((t) => t)\n .join(titleSeparator);\n },\n { immediate: true, deep: true },\n );\n}\n","\n\n\n","import {\n ViewModel,\n Model,\n ModelType,\n ItemApiState,\n convertToModel,\n} from \"coalesce-vue\";\nimport {\n TicketPurchaseTicket,\n EventDateDto,\n TicketPurchaseAddon,\n} from \"@/models.g\";\n\nconst currencyFormatter = new Intl.NumberFormat(\"en-US\", {\n style: \"currency\",\n currency: \"USD\",\n});\n\nexport function formatCurrency(amount: number | null) {\n return currencyFormatter.format(amount ?? 0);\n}\n\nexport function isTouch() {\n return \"ontouchstart\" in window || (navigator.maxTouchPoints ?? 0) > 0;\n}\n\nexport function formatMinutes(totalMinutes: number) {\n const hours = Math.floor(totalMinutes / 60),\n minutes = totalMinutes % 60;\n let result = \"\";\n\n if (hours == 1) {\n result = \"1 hour \";\n } else if (hours > 1) {\n result = hours + \" hours \";\n }\n if (minutes > 0) {\n result += minutes + \" minutes\";\n }\n return result.trim();\n}\n\nexport function delay(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\n/** Reload `target` after a very slight delay if `target` is not saving,\n * `responseSource` is not pending,\n * and nothing in `otherPendingLoaders` is pending. */\nexport function reloadIfNoRequestsPending>(\n target: ViewModel,\n responseSource: ItemApiState,\n ...otherPendingLoaders: ItemApiState[]\n) {\n // Delay slightly to allow pending debounced requests to kick off.\n setTimeout(() => {\n if (\n responseSource.result &&\n !target.$save.isLoading &&\n (!otherPendingLoaders || !otherPendingLoaders.some((l) => l.isLoading))\n ) {\n // Temp workaround for a coalesce-vue bug that isn't converting \"object\"s\n // to Model implementations when setting them on a ViewModel.\n // This is an issue if we're loading the result from a failed request,\n // which doesn't automatically convert the response into a Model like successes do.\n convertToModel(responseSource.result, target.$metadata);\n\n target.$loadCleanData(responseSource.result!);\n }\n }, 10);\n}\n\nexport function setupPurchaseReloadHandling>(\n ticketPurchase: ViewModel,\n responseSource: ItemApiState,\n ...otherPendingLoaders: ItemApiState[]\n) {\n const cb = () =>\n reloadIfNoRequestsPending(\n ticketPurchase,\n responseSource,\n ...otherPendingLoaders,\n );\n\n responseSource.onFulfilled(cb);\n responseSource.onRejected(cb);\n}\n\nexport function scrollToTop(\n wait: number = 200,\n behavior: ScrollBehavior = \"smooth\",\n) {\n setTimeout(\n () => window.scrollTo({ left: 0, top: 0, behavior: behavior }),\n wait,\n );\n}\n\nexport function getTicketGroupings(\n tickets: TicketPurchaseTicket[],\n eventDate?: EventDateDto,\n) {\n const groupings: {\n [key: string]: {\n firstTicket: TicketPurchaseTicket;\n allTickets: TicketPurchaseTicket[];\n };\n } = {};\n\n for (const ticket of tickets) {\n const groupingKey = [\n ticket.price,\n ticket.fees,\n ticket.subtotalWithFees,\n ticket.discountTotal,\n ticket.addons,\n ticket.salesTax,\n ticket.convenienceFee,\n ticket.totalValue,\n ticket.relatedPurchase?.publicId,\n ticket.relatedPurchase?.description,\n ticket.description,\n ticket.status,\n ];\n const groupingString = JSON.stringify(groupingKey);\n\n let grouping = groupings[groupingString];\n if (!grouping) {\n grouping = groupings[groupingString] = {\n firstTicket: ticket,\n allTickets: [],\n };\n }\n grouping.allTickets.push(ticket);\n }\n\n function indexOf(s: string | null) {\n return eventDate!.eventPrices!.findIndex((p) =>\n s!.startsWith(p.displayName!),\n );\n }\n\n // Sort the results by the position of the ticket in the\n // list of event prices for the event date.\n // This keeps the ordering consistent when picking quantities + any summary views.\n return Object.values(groupings).sort((a, b) => {\n if (eventDate) {\n return (\n indexOf(a.firstTicket.description) - indexOf(b.firstTicket.description)\n );\n }\n\n return a.firstTicket.description!.localeCompare(b.firstTicket.description!);\n });\n}\n\nexport function getAddonGroupings(addons: TicketPurchaseAddon[]) {\n const groupings: {\n [key: string]: {\n firstAddon: TicketPurchaseAddon;\n allAddons: TicketPurchaseAddon[];\n };\n } = {};\n\n for (const addon of addons) {\n const groupingKey = [\n addon.name,\n addon.price,\n addon.salesTax,\n addon.convenienceFee,\n addon.refundedPrice,\n addon.relatedPurchase?.publicId,\n addon.relatedPurchase?.description,\n addon.marketingDescription,\n addon.status,\n ];\n const groupingString = JSON.stringify(groupingKey);\n\n let grouping = groupings[groupingString];\n if (!grouping) {\n grouping = groupings[groupingString] = {\n firstAddon: addon,\n allAddons: [],\n };\n }\n grouping.allAddons.push(addon);\n }\n\n return Object.values(groupings).sort((a, b) => {\n return a.firstAddon.name!.localeCompare(b.firstAddon.name!);\n });\n}\n\nimport { format, parse, isValid } from \"date-fns\";\nexport class EventDatesParameters {\n public tab: \"list\" | \"calendar\" = \"list\";\n public calendarType: \"month\" | \"day\" = \"month\";\n\n public get mode(): \"calendar-day\" | \"calendar-month\" | \"list\" {\n return (this.tab +\n (this.tab == \"calendar\" ? \"-\" + this.calendarType : \"\")) as any;\n }\n public set mode(val) {\n const parts = val.split(\"-\");\n this.tab = parts[0] as any;\n this.calendarType = parts[1] || (this.calendarType as any);\n }\n\n public calendarDate = new Date();\n public get calendarDateString() {\n return format(this.calendarDate, \"yyyy-MM-dd\");\n }\n public set calendarDateString(val) {\n const newDate = parse(val, \"yyyy-MM-dd\", this.calendarDate);\n if (isValid(newDate)) {\n this.calendarDate = newDate;\n }\n }\n\n public filtersExpanded = false;\n public eventTypeId: number | null = null;\n public eventId: number | null = null;\n public onlyPast: boolean = false;\n public availableSeatFilter: number | null = null;\n\n public get hasFilters() {\n return !!this.eventTypeId || !!this.eventId || this.onlyPast;\n }\n}\n","\n \n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","import {\n EventPriceDto,\n RefundableState,\n TicketPurchaseAddon,\n TicketPurchaseDto,\n} from \"@/models.g\";\nimport { lightFormat } from \"date-fns\";\nimport { useGtm } from \"@gtm-support/vue-gtm\";\n\nexport function purchaseStarted(purchase: TicketPurchaseDto) {\n if (!purchase.isPublic) return;\n useGtm()?.trackEvent({\n event: \"view_item\",\n ecommerce: {\n currency: \"USD\",\n items: purchase.eventDate?.eventPrices?.map((p) =>\n priceToItem(purchase, p, 1),\n ),\n },\n });\n}\n\nexport function cartQuantityChanged(\n purchase: TicketPurchaseDto,\n price: EventPriceDto,\n quantity: number,\n) {\n if (!purchase.isPublic) return;\n useGtm()?.trackEvent({\n event: quantity > 0 ? \"add_to_cart\" : \"remove_from_cart\",\n ecommerce: {\n currency: \"USD\",\n value: price.price! * quantity,\n items: [priceToItem(purchase, price, quantity)],\n },\n });\n}\n\nexport function purchaseProtectionChanged(\n purchase: TicketPurchaseDto,\n state: RefundableState,\n) {\n if (!purchase.isPublic) return;\n if (purchase.refundable == RefundableState.NotOffered) return;\n const quantity = state == RefundableState.Purchased ? 1 : -1;\n\n useGtm()?.trackEvent({\n event: quantity > 0 ? \"add_to_cart\" : \"remove_from_cart\",\n ecommerce: {\n currency: \"USD\",\n value: purchase.refundableFee,\n items: [purchaseProtectionToItem(purchase)],\n },\n });\n}\n\nexport function beginCheckout(purchase: TicketPurchaseDto) {\n if (!purchase.isPublic) return;\n\n useGtm()?.trackEvent({\n event: \"begin_checkout\",\n ecommerce: {\n ...purchaseToEvent(purchase),\n },\n });\n\n // When a user starts \"checkout\" (e.g. the second page of the public purchase flow),\n // then at that point they'll see purchase protection and addons.\n useGtm()?.trackEvent({\n event: \"view_item\",\n ecommerce: {\n currency: \"USD\",\n items: [\n // Addons:\n ...(purchase.addons || []).map((a) => addonToItem(purchase, a)),\n\n // Purchase protection:\n ...(purchase.refundable !== RefundableState.NotOffered\n ? [purchaseProtectionToItem(purchase)]\n : []),\n ],\n },\n });\n}\n\nexport function purchaseComplete(purchase: TicketPurchaseDto) {\n if (!purchase.isPublic) return;\n\n useGtm()?.trackEvent({\n event: \"purchase\",\n ecommerce: {\n ...purchaseToEvent(purchase),\n transaction_id: purchase.publicId,\n },\n });\n}\n\nfunction purchaseToEvent(purchase: TicketPurchaseDto) {\n return {\n currency: \"USD\",\n value: purchase.grandTotal,\n coupon: purchase.discounts?.[0]?.description,\n items: [\n // Tickets:\n ...(purchase.tickets || [])\n .map((ticket) => ({\n ticket,\n price: purchase.eventDate?.eventPrices?.find(\n (p) => p.id == ticket.eventPriceId,\n ),\n }))\n .filter((d) => d.price)\n .map((d) => ({\n ...priceToItem(purchase, d.price!, 1),\n discount: d.ticket.discountTotal,\n })),\n\n // Addons:\n ...(purchase.addons || []).map((a) => addonToItem(purchase, a)),\n\n // Purchase protection:\n ...(purchase.refundable == RefundableState.Purchased\n ? [purchaseProtectionToItem(purchase)]\n : []),\n ],\n };\n}\n\nfunction priceToItem(\n purchase: TicketPurchaseDto,\n price: EventPriceDto,\n quantity: number,\n) {\n const dateFormatted = purchaseDate(purchase);\n\n return {\n item_id: `${purchase.eventDateId}.${price.id}`,\n item_name: `${purchase.eventDate?.eventName} - ${dateFormatted} - ${price.displayName}`,\n price: price.price,\n quantity: quantity,\n item_category: \"Ticket\",\n item_category2: price.displayName,\n item_category3: purchase.eventDate?.eventName,\n item_category4: dateFormatted,\n };\n}\n\nfunction addonToItem(purchase: TicketPurchaseDto, addon: TicketPurchaseAddon) {\n return {\n item_id: `${purchase.eventDateId}.A${addon.addonItemConfigurationId}`,\n item_name: addon.name,\n price: addon.price,\n quantity: 1,\n item_category: \"Addon Item\",\n item_category2: addon.name,\n item_category3: purchase.eventDate?.eventName,\n item_category4: purchaseDate(purchase),\n };\n}\n\nfunction purchaseProtectionToItem(purchase: TicketPurchaseDto) {\n return {\n item_id: `${purchase.eventDateId}.pp`,\n item_name: `${purchase.eventDate?.eventName} - Purchase Protection`,\n price: purchase.refundableFee,\n quantity: 1,\n item_category: \"Purchase Protection\",\n item_category2: \"Purchase Protection\",\n item_category3: purchase.eventDate?.eventName,\n item_category4: purchaseDate(purchase),\n };\n}\n\nfunction purchaseDate(purchase: TicketPurchaseDto) {\n return lightFormat(\n purchase.eventDate?.eventStartDateTimeLocal!,\n \"yyyy-MM-dd h:mm a\",\n );\n}\n","\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n","\n\n\n","\n\n\n\n\n","\n\n\n\n\n","// No unused vars disabled here for override matching\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport {\n AvailableSeatsDetails,\n EventDateSeatingInfo,\n EventDateSeatingRestrictionInfo,\n SeatMapAnnotationDto,\n SeatMapDto,\n SeatMapSeatDto,\n SeatMapSectionDto,\n SectionTypes,\n} from '@/models.g';\nimport {\n SeatMapSeatDto as $seatMeta,\n SeatMapAnnotationDto as $annotationMeta,\n} from \"@/metadata.g\";\nimport {\n PublicPurchaseServiceViewModel,\n TicketPurchaseDtoViewModel,\n} from \"@/viewmodels.g\";\nimport { cartQuantityChanged } from \"@common/analytics\";\nimport {\n HttpTransportType,\n HubConnection,\n HubConnectionBuilder,\n LogLevel,\n} from \"@microsoft/signalr\";\nimport { GeneralAdmissionSeatNumber } from \"../app-private/consts\";\n\nexport type Drawable = SeatMapSeatDto | SeatMapAnnotationDto;\n\nexport function isSeat(object: Drawable | null): object is SeatMapSeatDto {\n return object?.$metadata == $seatMeta;\n}\n\nexport function isAnnotation(\n object: Drawable | null,\n): object is SeatMapAnnotationDto {\n return object?.$metadata == $annotationMeta;\n}\n\nexport class SeatMapContext {\n constructor(\n public seatMap: SeatMapDto,\n public nextTick: (x: () => void) => void,\n ) {\n const mouseUp = (event: MouseEvent) => this.onGlobalMouseUp(event);\n document.addEventListener(\"mouseup\", mouseUp);\n\n const mouseMove = (event: MouseEvent) => this._onGlobalMouseMove(event);\n document.addEventListener(\"mousemove\", mouseMove);\n\n const keyDown = (event: KeyboardEvent) => this.onGlobalKeyDown(event);\n document.addEventListener(\"keydown\", keyDown, { capture: true });\n\n const keyUp = (event: KeyboardEvent) => this.onGlobalKeyUp(event);\n document.addEventListener(\"keyup\", keyUp, { capture: true });\n\n this._destroyFunctions.push(() => {\n document.removeEventListener(\"mouseup\", mouseUp);\n document.removeEventListener(\"mousemove\", mouseMove);\n document.removeEventListener(\"keydown\", keyDown);\n document.removeEventListener(\"keyup\", keyUp);\n });\n }\n\n protected _destroyFunctions: (() => void)[] = [];\n\n public onDestroy = () => this._destroyFunctions.forEach((x) => x());\n\n /** Size in pixels of a seat icon */\n readonly seatSize = 30;\n\n /** Amount of extra empty space to render on the right and bottom edges. */\n bottomRightBuffer = 500;\n\n private _zoom = 1;\n public get zoom() {\n return this._zoom;\n }\n\n public set zoom(value) {\n this._zoom = +Math.min(this.zoomMax, Math.max(this.zoomMin, value)).toFixed(\n 4,\n );\n }\n\n zoomMin = 0.01;\n zoomMax = 3;\n\n get hideSeatText() {\n return this.zoom < 0.6;\n }\n\n showGrid = false;\n\n /** True if a drag has been processed in the current mouseDown action. */\n hasDragged = false;\n\n currentPinchZoom: null | {\n startDist: number;\n startZoom: number;\n oldXCoord: number;\n oldYCoord: number;\n scrollContainer: HTMLElement;\n } = null;\n\n currentPanAction: {\n /** The X coordinate of the origin. */\n x: number;\n /** The Y coordinate of the origin. */\n y: number;\n el: HTMLElement;\n distance: number;\n } | null = null;\n\n private _selectedObjects = reactive(new Set());\n private _selectedObject: Drawable | null = null;\n\n public get selectedObjects() {\n return this._selectedObjects;\n }\n\n // Add a getter for the size\n public get selectedObjectsSize() {\n return computed(() => this._selectedObjects.size);\n }\n\n // Update selectedObjects setter to trigger reactivity.\n public set selectedObjects(value: Set) {\n this._selectedObjects.clear();\n value.forEach((item) => this._selectedObjects.add(item));\n this._selectedObject =\n value.size == 1 ? value.values().next().value! : null;\n }\n\n public get selectedObject() {\n return this._selectedObject;\n }\n\n get drawingTransform() {\n return \"scale(\" + this.zoom + \") \";\n }\n\n get allSeats() {\n return this.seatMap.sections!.reduce(\n (p, c) => [...p, ...c.seats!],\n [],\n );\n }\n\n /** Details about scroll position used when handling mouse moves. */\n pointerEventOrigin: {\n /** An element that should be watched for scroll changes during drag events so that the position deltas can compensate for scroll changes. */\n scrollEl: HTMLElement;\n scrollX: number;\n scrollY: number;\n } | null = null;\n\n /** The selected seat if exactly one object is selected and that object is a seat. Otherwise null. */\n get selectedSeat() {\n return isSeat(this.selectedObject) ? this.selectedObject : null;\n }\n\n get selectedSeats() {\n return [...this.selectedObjects].filter(isSeat);\n }\n\n /** The selected annotation if exactly one object is selected and that object is a annotation. Otherwise null. */\n get selectedAnnotation() {\n return isAnnotation(this.selectedObject) ? this.selectedObject : null;\n }\n\n startPointerEvent(event: MouseEvent) {\n const scrollEl = (event.target as HTMLElement).closest(\n \".seat-map-scroll-frame\",\n )!;\n this.pointerEventOrigin = {\n scrollEl,\n scrollX: scrollEl.scrollLeft,\n scrollY: scrollEl.scrollTop,\n };\n }\n\n onDrawingMouseDown(event: MouseEvent) {\n if (event.button != 0) return;\n this.panBegin(event);\n }\n\n _lastMouseMove?: MouseEvent;\n\n _onGlobalMouseMove(event: MouseEvent) {\n let deltaX = 0;\n let deltaY = 0;\n\n if (this._lastMouseMove) {\n // event.movementX and event.movementY cannot be used,\n // as they do not properly factor in the browser's zoom level.\n // `window.devicePixelRatio` cannot be used for this because it\n // also factors in OS display scaling, which IS already factored into\n // the `.movement*` event props.\n deltaX = event.clientX - this._lastMouseMove.clientX;\n deltaY = event.clientY - this._lastMouseMove.clientY;\n }\n\n this._lastMouseMove = event;\n\n if (this.pointerEventOrigin) {\n // Check if the scroll frame has shifted position since the last update,\n // e.g. via auto scrolling when near the edge (firefox default behavior),\n // or by a simultaneous middle-click-and-drag.\n // Add any scroll deltas to the overall movement delta.\n const origin = this.pointerEventOrigin;\n const { scrollLeft, scrollTop } = origin.scrollEl;\n\n deltaX -= origin.scrollX - scrollLeft;\n origin.scrollX = scrollLeft;\n\n deltaY -= origin.scrollY - scrollTop;\n origin.scrollY = scrollTop;\n }\n\n // The \"true\" movement deltas, measured in units comparable to\n // the positions and sizes of seats and annotations.\n deltaX /= this.zoom;\n deltaY /= this.zoom;\n\n this.onGlobalMouseMove(event, deltaX, deltaY);\n }\n\n onGlobalMouseMove(event: MouseEvent, deltaX: number, deltaY: number) {\n this.panMove(event);\n }\n\n onGlobalMouseUp(event: MouseEvent) {\n this.panEnd();\n }\n\n onObjectClick(event: MouseEvent, object: Drawable) {}\n\n onObjectMouseDown(event: MouseEvent, object: Drawable) {}\n\n onGlobalKeyDown(event: KeyboardEvent) {}\n\n onGlobalKeyUp(event: KeyboardEvent) {}\n\n getSeatClasses(seat: SeatMapSeatDto, section: SeatMapSectionDto): {} {\n return {\n active: this.selectedObjects.has(seat),\n gaa: section.type === SectionTypes.GeneralAdmission,\n };\n }\n\n onTouchStart(e: TouchEvent) {\n if (e.touches.length === 2) {\n // Initiate Pinch-to-zoom\n const scrollContainer = e.currentTarget as HTMLElement;\n\n const xMidpoint = (e.touches[0].pageX + e.touches[1].pageX) / 2;\n const yMidpoint = (e.touches[0].pageY + e.touches[1].pageY) / 2;\n const oldZoom = this.zoom;\n\n this.currentPinchZoom = {\n startDist: Math.hypot(\n e.touches[0].pageX - e.touches[1].pageX,\n e.touches[0].pageY - e.touches[1].pageY,\n ),\n // old*Coord is the diagram-relative (comparable to seat/annotation x/y values)\n // position of the midpoint of the pinch gesture.\n oldXCoord:\n (scrollContainer.scrollLeft +\n xMidpoint -\n scrollContainer.getBoundingClientRect().left) /\n oldZoom,\n oldYCoord:\n (scrollContainer.scrollTop +\n yMidpoint -\n (scrollContainer.getBoundingClientRect().top + window.scrollY)) /\n oldZoom,\n startZoom: oldZoom,\n scrollContainer: scrollContainer,\n };\n e.preventDefault();\n e.stopPropagation();\n }\n }\n\n onTouchMove(e: TouchEvent) {\n if (this.currentPinchZoom) {\n // Handle pinch-to-zoom adjustment\n e.preventDefault();\n e.stopPropagation();\n const dist = Math.hypot(\n e.touches[0].pageX - e.touches[1].pageX,\n e.touches[0].pageY - e.touches[1].pageY,\n );\n const xMidpoint = (e.touches[0].pageX + e.touches[1].pageX) / 2;\n const yMidpoint = (e.touches[0].pageY + e.touches[1].pageY) / 2;\n\n const oldZoom = this.zoom;\n this.zoom =\n this.currentPinchZoom.startZoom *\n (dist / this.currentPinchZoom.startDist);\n\n this.adjustScrollAfterZoom(\n this.currentPinchZoom.scrollContainer,\n xMidpoint,\n yMidpoint,\n oldZoom,\n );\n }\n }\n\n onTouchEnd(event: TouchEvent) {\n // Terminate pinch-to-zoom\n this.currentPinchZoom = null;\n }\n\n onMouseWheel(event: WheelEvent) {\n if (event.ctrlKey) {\n // Handle ctrl+mousewheel zooms.\n event.stopPropagation();\n event.preventDefault();\n\n const scrollContainer = event.currentTarget as HTMLElement;\n const oldZoom = this.zoom;\n\n // This weird math makes it so that a zoom in followed by a zoom out\n // of the same deltaY magnitude returns us to the exact original zoom.\n // Essentially you can think of `this.zoom` as the output\n // of a function `f(x) = base^x`.\n // We take the `log_base` of our zoom to give us the `x` value,\n // then we take a step along the `x` axis scaled in proportion to the wheel movement,\n // then we reapply the exponent.\n // This is exponential because the more zoomed in you are, the bigger the changes in\n // zoom need to be. When you're at 6x zoom, doubling that is 12x zoom.\n\n // `base` and `xStepMult` chosen through trial and error.\n // A base of 2 and a mult of 1 would double/half the zoom\n // for each typical scrollwheel click, for example.\n const base = 2;\n const xStepMult = 0.5;\n this.zoom = Math.pow(\n base,\n Math.log(this.zoom) / Math.log(base) -\n (xStepMult * event.deltaY) /\n 100 /* Typical zoom step of a stepped (non-smooth) mousewheel is 100)*/,\n );\n\n this.adjustScrollAfterZoom(\n scrollContainer,\n event.pageX,\n event.pageY,\n oldZoom,\n );\n }\n }\n\n onDoubleClick(event: MouseEvent) {\n if (event.button != 0) return;\n event.preventDefault();\n event.stopPropagation();\n\n const scrollContainer = event.currentTarget as HTMLElement;\n const oldZoom = this.zoom;\n this.zoom *= 2;\n\n this.adjustScrollAfterZoom(\n scrollContainer,\n event.pageX,\n event.pageY,\n oldZoom,\n );\n }\n\n /** Adjust the scrolling of the target element so that the content located\n * at the provided page-relative coordinates remains at the same location on screen\n * after the zoom of the scroll container was adjusted. */\n private adjustScrollAfterZoom(\n scrollContainer: HTMLElement,\n pageX: number,\n pageY: number,\n oldZoom: number,\n ) {\n const newZoom = this.zoom;\n\n if (oldZoom == newZoom) {\n // If the zoom was clamped by min/max, don't adjust the scroll position.\n return;\n }\n\n const { x: oldXCoord, y: oldYCoord } = getRelativeCoordinates(\n pageX,\n pageY,\n scrollContainer,\n );\n\n const newXCoord = (oldXCoord / oldZoom) * newZoom;\n const newYCoord = (oldYCoord / oldZoom) * newZoom;\n\n // Wait for vue to render the new zoom into the DOM.\n // If we don't wait, and we're zooming in, we might not be able\n // to scroll as far as we need to since the scroll element's\n // content area won't have its larger size yet.\n const oldLeft = scrollContainer.scrollLeft;\n const oldTop = scrollContainer.scrollTop;\n this.nextTick(() => {\n // scrollLeft/scrollTop normally *truncate* to an integer\n // when they're provided with a non-integar number.\n // However, we want to *round* to the nearest integer.\n // Otherwise, when pinch-zooming, the map will slowly slide towards the bottom right\n // (i.e. scrolling up and left), even when fingers are held stationary.\n scrollContainer.scrollLeft = Math.round(oldLeft + newXCoord - oldXCoord);\n scrollContainer.scrollTop = Math.round(oldTop + newYCoord - oldYCoord);\n });\n }\n\n zoomButton(event: MouseEvent, mult: number) {\n const oldZoom = this.zoom;\n this.zoom *= mult;\n\n const scrollFrame = (event.target as HTMLElement)\n .closest(\".seat-map-container\")!\n .querySelector(\".seat-map-scroll-frame\")!;\n\n const boundingRect = scrollFrame.getBoundingClientRect();\n this.adjustScrollAfterZoom(\n scrollFrame,\n boundingRect.left + scrollFrame.clientWidth / 2 + window.scrollX,\n boundingRect.top + scrollFrame.clientHeight / 2 + window.scrollY,\n oldZoom,\n );\n }\n\n zoomOutButton(event: MouseEvent) {\n this.zoom /= 2;\n }\n\n panBegin(event: MouseEvent) {\n const scrollFrame = (event.target as HTMLElement).closest(\n \".seat-map-scroll-frame\",\n )!;\n\n this.currentPanAction = {\n x: event.pageX,\n y: event.pageY,\n el: scrollFrame,\n distance: 0,\n };\n event.preventDefault();\n }\n\n panMove(event: MouseEvent) {\n if (this.currentPanAction) {\n const deltaX = event.movementX;\n const deltaY = event.movementY;\n\n event.preventDefault();\n\n this.currentPanAction.distance = Math.sqrt(\n Math.pow(this.currentPanAction.x - event.pageX, 2) +\n Math.pow(this.currentPanAction.y - event.pageY, 2),\n );\n this.currentPanAction.el.scrollLeft -= deltaX;\n this.currentPanAction.el.scrollTop -= deltaY;\n\n if ((this.currentPanAction?.distance ?? 0) > 30) {\n // If the user was panning, don't handle as a click if they went beyond some amount.\n this.hasDragged = true;\n }\n\n return true;\n }\n return false;\n }\n\n panEnd() {\n const wasPanning = !!this.currentPanAction;\n this.currentPanAction = null;\n if (this.hasDragged) {\n setTimeout(() => (this.hasDragged = false), 100);\n }\n return wasPanning;\n }\n\n getSectionForSeat(seat: SeatMapSeatDto) {\n return this.seatMap.sections?.find((s) => s.seats?.includes(seat)) ?? null;\n }\n}\n\n/**\n * Given a pair of page-relative coordinates,\n * compute the coordinates relative to the top left corner of `referenceElement`.\n * Modified from https://stackoverflow.com/a/36860652.\n */\nfunction getRelativeCoordinates(\n pageX: number,\n pageY: number,\n referenceElement: HTMLElement | null,\n) {\n const offset = {\n left: 0,\n top: 0,\n };\n\n let reference = referenceElement;\n\n while (reference) {\n offset.left +=\n reference.offsetLeft -\n reference.scrollLeft +\n parseInt(getComputedStyle(reference).paddingLeft);\n offset.top +=\n reference.offsetTop -\n reference.scrollTop +\n parseInt(getComputedStyle(reference).paddingTop);\n reference = reference.offsetParent as HTMLElement | null;\n }\n\n return {\n x: pageX - offset.left,\n y: pageY - offset.top,\n };\n}\n\nexport class EventPreviewSeatMapContext extends SeatMapContext {\n constructor(\n seatMap: SeatMapDto,\n protected setPriceSelect: (value: {\n seat: SeatMapSeatDto;\n section: SeatMapSectionDto;\n }) => void,\n nextTick: (x: () => void) => void,\n ) {\n super(seatMap, nextTick);\n }\n\n override getSeatClasses(seat: SeatMapSeatDto, section: SeatMapSectionDto) {\n return {\n active: true,\n };\n }\n\n override onObjectClick(event: MouseEvent, obj: Drawable) {\n if (this.hasDragged || !isSeat(obj)) {\n return;\n }\n\n const section = this.getSectionForSeat(obj)!;\n this.setPriceSelect({ seat: obj, section: section });\n }\n}\n\nexport class PurchaseSeatMapContext extends SeatMapContext {\n originalPurchase: TicketPurchaseDtoViewModel | null = null;\n seatsBeingExchanged: Set = new Set();\n\n constructor(\n private info: EventDateSeatingInfo,\n protected purchase: TicketPurchaseDtoViewModel,\n protected service: PublicPurchaseServiceViewModel,\n protected setPriceSelect: (value: {\n seat: SeatMapSeatDto;\n section: SeatMapSectionDto;\n restrictions: EventDateSeatingRestrictionInfo[] | undefined;\n availableAmount: number | undefined;\n }) => void,\n nextTick: (x: () => void) => void,\n ) {\n super(info.seatMap!, nextTick);\n\n if (this.purchase.originalPurchase) {\n this.originalPurchase = new TicketPurchaseDtoViewModel();\n this.originalPurchase\n .$load(this.purchase.originalPurchase!.publicId!)\n .then(() => {\n this.seatsBeingExchanged = new Set();\n if (\n this.originalPurchase?.eventDateId == this.purchase.eventDateId!\n ) {\n // The tickets from the original purchase that are being exchanged.\n // These seats are also available for selection\n // (e.g. exchanging an adult ticket for a child ticket, for the same seat)\n const pendingExchangeTickets =\n this.originalPurchase.tickets?.filter((t) =>\n this.purchase.originalPurchase?.ticketIds?.includes(\n t.ticketId!,\n ),\n )!;\n\n for (const pendingExchangeTicket of pendingExchangeTickets) {\n if (pendingExchangeTicket.seatNumber)\n this.seatsBeingExchanged.add(pendingExchangeTicket.seatNumber);\n }\n }\n });\n }\n this._destroyFunctions.push(() => this.stopListening());\n this.startListening();\n }\n\n get availableSeats() {\n const seats = new Set([\n ...this.info.availableSeats!,\n ...this.seatsBeingExchanged,\n ]);\n\n const purchase = this.purchase;\n for (const restriction of this.info.restrictions || []) {\n // Per #813 - agent-only seats for public purchases look exactly like sold seats.\n if (restriction.agentOnly && purchase.isPublic) {\n for (const seat of restriction.seats!) seats.delete(seat);\n } else if (!restriction.agentOnly) { // This does NOT care if the purchase is happening with agent or public\n for (const seat of restriction.seats!) seats.delete(seat);\n }\n }\n\n return seats;\n }\n\n override getSeatClasses(seat: SeatMapSeatDto, section: SeatMapSectionDto) {\n const availableSeats = this.availableSeats;\n return this.selectedObjects.has(seat) &&\n section.type != SectionTypes.GeneralAdmission\n ? {\n // The seat is chosen by the current purchase.\n checked: true,\n }\n : {\n taken: !availableSeats.has(seat.seatNumber!),\n active: availableSeats.has(seat.seatNumber!),\n\n // The seat is one that belongs to the current purchase being exchanged.\n // Distinguish the old seats so the agent can easily find them if the exchange\n // is for the same seats.\n \"original-seat\": this.seatsBeingExchanged.has(seat.seatNumber!),\n };\n }\n\n // Click on a seat\n override onObjectClick(event: MouseEvent, obj: Drawable) {\n if (this.hasDragged || !isSeat(obj)) {\n return;\n }\n if (this.selectedObjects.has(obj)) {\n const ticket = this.purchase.tickets?.find(\n (t) => t.seatNumber == obj.seatNumber,\n );\n if (!ticket) return;\n\n if (!ticket.seatNumber?.includes(GeneralAdmissionSeatNumber.Prefix)) {\n this.service\n .removeTicket(this.purchase.publicId, ticket.ticketId)\n .then(() => {\n this.availableSeats.add(obj.seatNumber!);\n\n // Send analytics events:\n const price = this.purchase.eventDate?.eventPrices?.find(\n (p) => p.id == ticket.eventPriceId,\n );\n if (price) {\n cartQuantityChanged(this.purchase, price, -1);\n }\n });\n return;\n }\n } else if (!this.availableSeats.has(obj.seatNumber!)) {\n return;\n }\n\n // Load the seat into the bottom sheet popup.\n const section = this.getSectionForSeat(obj)!;\n this.setPriceSelect({\n seat: obj,\n section: section,\n restrictions: this.info.restrictions?.filter((r) =>\n r.seats?.includes(obj.seatNumber!),\n ),\n availableAmount: this.info.availableSeatsDetails?.filter(asd => asd.seatNumber === obj.seatNumber)[0].amountOfSeats || 0\n });\n\n // Clear service error state that may be lingering from a previous attempt to pick a seat:\n this.service.addTicket.wasSuccessful = null;\n this.service.addTicket.message = null;\n this.service.addMultipleTickets.wasSuccessful = null;\n this.service.addMultipleTickets.message = null;\n this.service.removeTicket.wasSuccessful = null;\n this.service.removeTicket.message = null;\n }\n\n _connection: HubConnection | null = null;\n\n private async startListening() {\n if (this._connection != null) return;\n\n this._connection = new HubConnectionBuilder()\n .withUrl(\"/hubs/seating\", {\n // Configured to avoid issues with load balancing:\n // https://docs.microsoft.com/en-us/aspnet/core/signalr/scale?view=aspnetcore-6.0#sticky-sessions\n skipNegotiation: true,\n transport: HttpTransportType.WebSockets,\n })\n .withAutomaticReconnect()\n .configureLogging(LogLevel.Information)\n .build();\n\n await this._connection.start();\n await this._connection.send(\n \"SubscribeToSeating\",\n this.purchase.eventDateId,\n );\n this._connection.on(\n \"SeatAvailabilityChanged\",\n (data: { eventDateId: number; availableSeats: string[], availableSeatDetail: AvailableSeatsDetails[] }) => {\n if (data.eventDateId == this.info.eventDateId) {\n this.info.availableSeats = data.availableSeats;\n this.info.availableSeatsDetails = data.availableSeatDetail;\n }\n },\n );\n }\n\n private stopListening() {\n this._connection?.stop();\n this._connection = null;\n }\n}","\n\n\n\n\n","\n\n\n\n\n","\n \n \n\n\n\n\n","\n\n\n","\n\n\n\n\n","\n\n\n","\n\n \n \n\n \n \n \n \n
\n Additional Items: \n
\n \n \n\n \n Purchase Protection\n \n {{ formatCurrency(purchase.refundableFee) }}\n \n \n \n Purchase Protection (refund)\n \n {{ formatCurrency(purchase.refundedRefundableFee) }}\n \n \n\n \n \n \n {{ addon.name }}\n 1\">\n x{{ allAddons.length }}\n \n \n \n {{ formatCurrency(addon.price * allAddons.length) }}\n \n \n\n \n \n
\n \n \n Item ID{{ allAddons.length == 1 ? \"\" : \"s\" }}:\n \n \n {{\n ticketIDsToShortString(\n allAddons.map((t) => t?.addonId ?? 0),\n \"A\",\n )\n }}\n \n
\n
\n \n \n
\n \n \n \n \n \n \n\n \n Convenience Fee\n \n {{ formatCurrency(purchase.convenienceFee) }}\n \n \n \n Convenience Fee (refund)\n \n {{ formatCurrency(purchase.refundedConvenienceFee) }}\n \n \n\n \n Sales Tax\n \n {{ formatCurrency(purchase.salesTax) }}\n \n \n \n Sales Tax (refund)\n \n {{ formatCurrency(purchase.refundedSalesTax) }}\n \n \n \n\n \n \n
\n Grand Total: \n {{ formatCurrency(purchase.grandTotal) }}\n
\n \n \n\n \n \n \n \n \n
\n Payments: \n
\n \n \n \n \n {{ payment.description }}\n\n \n
\n \n {{ related.description }}\n \n
\n \n \n \n \n \n {{ formatCurrency(payment.amount) }}\n \n \n \n \n
\n Balance: \n \n {{ formatCurrency(purchase.balance) }}\n \n
\n \n \n \n \n \n \n \n \n\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n","\n\n","export const validCountries = [\n { name: \"USA\", abbreviation: \"US\" },\n { name: \"Canada\", abbreviation: \"CA\" },\n];\n\nexport function validStates(\n country: string | (typeof validCountries)[0] | null,\n fallbackToAll: boolean = false,\n) {\n const countryCode =\n typeof country == \"string\" ? country : country?.abbreviation;\n\n switch (countryCode) {\n case \"US\":\n return usaStates;\n case \"CA\":\n return canadaProvinces;\n default:\n return fallbackToAll ? allStates : [];\n }\n}\n\nexport const usaStates = [\n { name: \"IDAHO\", abbreviation: \"ID\" },\n { name: \"WASHINGTON\", abbreviation: \"WA\" },\n { name: \"\", abbreviation: \"\" },\n\n { name: \"ALABAMA\", abbreviation: \"AL\" },\n { name: \"ALASKA\", abbreviation: \"AK\" },\n { name: \"AMERICAN SAMOA\", abbreviation: \"AS\" },\n { name: \"ARIZONA\", abbreviation: \"AZ\" },\n { name: \"ARKANSAS\", abbreviation: \"AR\" },\n { name: \"CALIFORNIA\", abbreviation: \"CA\" },\n { name: \"COLORADO\", abbreviation: \"CO\" },\n { name: \"CONNECTICUT\", abbreviation: \"CT\" },\n { name: \"DELAWARE\", abbreviation: \"DE\" },\n { name: \"DISTRICT OF COLUMBIA\", abbreviation: \"DC\" },\n { name: \"FEDERATED STATES OF MICRONESIA\", abbreviation: \"FM\" },\n { name: \"FLORIDA\", abbreviation: \"FL\" },\n { name: \"GEORGIA\", abbreviation: \"GA\" },\n { name: \"GUAM\", abbreviation: \"GU\" },\n { name: \"HAWAII\", abbreviation: \"HI\" },\n { name: \"IDAHO\", abbreviation: \"ID2\" },\n { name: \"ILLINOIS\", abbreviation: \"IL\" },\n { name: \"INDIANA\", abbreviation: \"IN\" },\n { name: \"IOWA\", abbreviation: \"IA\" },\n { name: \"KANSAS\", abbreviation: \"KS\" },\n { name: \"KENTUCKY\", abbreviation: \"KY\" },\n { name: \"LOUISIANA\", abbreviation: \"LA\" },\n { name: \"MAINE\", abbreviation: \"ME\" },\n { name: \"MARSHALL ISLANDS\", abbreviation: \"MH\" },\n { name: \"MARYLAND\", abbreviation: \"MD\" },\n { name: \"MASSACHUSETTS\", abbreviation: \"MA\" },\n { name: \"MICHIGAN\", abbreviation: \"MI\" },\n { name: \"MINNESOTA\", abbreviation: \"MN\" },\n { name: \"MISSISSIPPI\", abbreviation: \"MS\" },\n { name: \"MISSOURI\", abbreviation: \"MO\" },\n { name: \"MONTANA\", abbreviation: \"MT\" },\n { name: \"NEBRASKA\", abbreviation: \"NE\" },\n { name: \"NEVADA\", abbreviation: \"NV\" },\n { name: \"NEW HAMPSHIRE\", abbreviation: \"NH\" },\n { name: \"NEW JERSEY\", abbreviation: \"NJ\" },\n { name: \"NEW MEXICO\", abbreviation: \"NM\" },\n { name: \"NEW YORK\", abbreviation: \"NY\" },\n { name: \"NORTH CAROLINA\", abbreviation: \"NC\" },\n { name: \"NORTH DAKOTA\", abbreviation: \"ND\" },\n { name: \"NORTHERN MARIANA ISLANDS\", abbreviation: \"MP\" },\n { name: \"OHIO\", abbreviation: \"OH\" },\n { name: \"OKLAHOMA\", abbreviation: \"OK\" },\n { name: \"OREGON\", abbreviation: \"OR\" },\n { name: \"PALAU\", abbreviation: \"PW\" },\n { name: \"PENNSYLVANIA\", abbreviation: \"PA\" },\n { name: \"PUERTO RICO\", abbreviation: \"PR\" },\n { name: \"RHODE ISLAND\", abbreviation: \"RI\" },\n { name: \"SOUTH CAROLINA\", abbreviation: \"SC\" },\n { name: \"SOUTH DAKOTA\", abbreviation: \"SD\" },\n { name: \"TENNESSEE\", abbreviation: \"TN\" },\n { name: \"TEXAS\", abbreviation: \"TX\" },\n { name: \"UTAH\", abbreviation: \"UT\" },\n { name: \"VERMONT\", abbreviation: \"VT\" },\n { name: \"VIRGIN ISLANDS\", abbreviation: \"VI\" },\n { name: \"VIRGINIA\", abbreviation: \"VA\" },\n { name: \"WASHINGTON\", abbreviation: \"WA2\" },\n { name: \"WEST VIRGINIA\", abbreviation: \"WV\" },\n { name: \"WISCONSIN\", abbreviation: \"WI\" },\n { name: \"WYOMING\", abbreviation: \"WY\" },\n];\n\nexport const canadaProvinces = [\n { name: \"ALBERTA\", abbreviation: \"AB\" },\n { name: \"BRITISH COLUMBIA\", abbreviation: \"BC\" },\n { name: \"MANITOBA\", abbreviation: \"MB\" },\n { name: \"NEW BRUNSWICK\", abbreviation: \"NB\" },\n { name: \"NEWFOUNDLAND AND LABRADOR\", abbreviation: \"NL\" },\n { name: \"NORTHWEST TERRITORIES\", abbreviation: \"NT\" },\n { name: \"NOVA SCOTIA\", abbreviation: \"NS\" },\n { name: \"NUNAVUT\", abbreviation: \"NU\" },\n { name: \"ONTARIO\", abbreviation: \"ON\" },\n { name: \"PRINCE EDWARD ISLAND\", abbreviation: \"PE\" },\n { name: \"QUEBEC\", abbreviation: \"QC\" },\n { name: \"SASKATCHEWAN\", abbreviation: \"SK\" },\n { name: \"YUKON\", abbreviation: \"YT\" },\n];\n\nexport const allStates = [...usaStates, ...canadaProvinces];\n","\n\n\n\n\n","\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n","\n\n\n","\n\n\n","\n\n\n","\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n","import { createRouter, createWebHistory, RouteRecordRaw } from \"vue-router\";\n\nimport {\n CommonRoutes,\n COMMON_ROUTE_NAMES,\n matchCommonLegacyRoutes,\n} from \"@common/routing\";\nimport useStaticData from \"@common/composables/useStaticData\";\nimport SignIn from \"@public/views/sign-in.vue\";\nimport Home from \"@public/views/home.vue\";\nimport EventDateSingle from \"@common/views/event-date-single.vue\";\nimport PurchaseRedirecting from \"@common/views/purchase-redirecting.vue\";\nimport PurchaseSingle from \"@public/views/purchase-single.vue\";\nimport Error404 from \"@common/views/error-404.vue\";\n\nconst staticData = useStaticData();\n\nconst router = createRouter({\n history: createWebHistory(),\n routes: [\n ...(CommonRoutes as any),\n {\n path: \"/sign-in\",\n name: \"sign-in\",\n component: SignIn,\n props: (route) => ({ returnUrl: route.query.returnUrl }),\n },\n ...(staticData.APP_TID >= 1\n ? [\n {\n path: \"/\",\n name: \"home\",\n component: Home,\n },\n {\n path: \"/event-date/:id\",\n name: COMMON_ROUTE_NAMES.EventDateSingle,\n component: EventDateSingle,\n props: true,\n },\n {\n path: \"/purchase/:publicId\",\n name: COMMON_ROUTE_NAMES.TicketPurchaseSingle,\n component: PurchaseSingle,\n props: true,\n },\n {\n path: \"/purchase/:publicId/redirecting\",\n name: COMMON_ROUTE_NAMES.TicketPurchaseRedirecting,\n component: PurchaseRedirecting,\n props: (route) => ({\n publicId: route.params.publicId,\n redirectUrl: route.query.redirectUrl,\n }),\n },\n ]\n : []),\n\n {\n name: \"admin-404\",\n path: \"/:pathMatch(admin.*)*\",\n component: Error404,\n props: { suggestLogin: true },\n },\n {\n name: \"agent-404\",\n path: \"/:pathMatch(agent.*)*\",\n component: Error404,\n props: { suggestLogin: true },\n },\n {\n name: \"error-404\",\n path: \"/:pathMatch(.*)*\",\n component: Error404,\n },\n ],\n});\n\nrouter.beforeEach((to, from, next) => {\n const matchedLegacyRoute = matchCommonLegacyRoutes(to);\n if (matchedLegacyRoute) {\n next(matchedLegacyRoute);\n return;\n }\n\n const calendarRoute = /\\/Tickets\\/#\\/?calendar/.exec(to.fullPath);\n if (calendarRoute) {\n next({ path: \"/\", query: { tab: \"calendar\" } });\n return;\n }\n\n const homeRoute = /\\/Tickets\\/#\\/?$/.exec(to.fullPath);\n if (homeRoute) {\n next({ path: \"/\" });\n return;\n }\n\n next();\n});\n\nexport default router;\n","\n\n\n\n\n\n","import { ApplicationInsights } from \"@microsoft/applicationinsights-web\";\nimport useStaticData from \"./useStaticData\";\n\nconst staticData = useStaticData();\n\nconst appInsights = new ApplicationInsights({\n config: !staticData.appInsightsConnection\n ? {\n // We always instantiate AppInsights even if there is no key\n // so we don't have to worry about the instance being null in app code,\n // but disable it if there is no key so we're not spamming the console with errors.\n disableTelemetry: true,\n instrumentationKey: \"null\",\n }\n : {\n connectionString: staticData.APPINSIGHTS_CONNECTION,\n disableFetchTracking: false,\n enableAutoRouteTracking: true,\n },\n});\nappInsights.loadAppInsights();\n\nif (staticData.userName) {\n appInsights.setAuthenticatedUserContext(staticData.userName);\n}\n\nexport default function useAppInsights() {\n return appInsights;\n}\n","import { createVuetify } from \"vuetify\";\nimport { createCoalesceVuetify } from \"coalesce-vue-vuetify3\";\nimport { aliases, fa } from \"vuetify/iconsets/fa\";\nimport { ApplicationInsights } from \"@microsoft/applicationinsights-web\";\nimport { App } from \"vue\";\nimport { EmailEditor } from \"vue-email-editor\";\n\nimport LabeledSection from \"./components/labeled-section.vue\";\nimport QuantityInput from \"./components/quantity-input.vue\";\n\n// Import global CSS and Fonts:\nimport \"typeface-roboto\";\nimport \"@fortawesome/fontawesome-pro/css/all.css\";\nimport \"coalesce-vue-vuetify3/styles.css\";\nimport \"@common/shared.scss\";\nimport \"vuetify/styles\";\nimport FullCalendar from \"@fullcalendar/vue3\";\n\nimport $metadata from \"@/metadata.g\";\n// // viewmodels.g has sideeffects - it populates the global lookup on ViewModel and ListViewModel.\nimport \"@/viewmodels.g\";\nimport useAppInsights from \"@common/composables/useAppInsights\";\n\n// For Google Analytics/GTM/etc.\ndeclare global {\n interface Window {\n appInsights?: ApplicationInsights;\n }\n}\nwindow.dataLayer = window.dataLayer || [];\n\nexport interface TicketingCommonPluginOptions {\n publicUser: boolean;\n}\n\nconst staticData = useStaticData();\n\nexport default function TicketingCommonPlugin(\n app: App,\n options: TicketingCommonPluginOptions,\n): void {\n if (!app)\n throw new Error(\n \"Must pass your app instance to configure the common plugin\",\n );\n\n // Truncate plugin\n const truncate = function (\n text: string,\n length: number | undefined,\n clamp: string,\n ) {\n clamp = clamp || \"...\";\n const node = document.createElement(\"div\");\n node.innerHTML = text;\n const content = node.textContent;\n return content!.length > length!\n ? content!.slice(0, length) + clamp\n : content;\n };\n app.config.globalProperties.$filters = {\n truncate,\n };\n\n window.dataLayer?.push({\n isPublicUser: options.publicUser,\n userId: staticData.USERNAME || null,\n });\n\n const appInsights = useAppInsights();\n appInsights.trackPageView();\n\n // Shared, globally registered components.\n app.component(\"labeled-section\", LabeledSection);\n app.component(\"quantity-input\", QuantityInput);\n}\n\ndeclare module \"vue\" {\n interface EmailTemplateEditor {\n editor: {\n loadDesign: (data: any) => void;\n saveDesign: (data: any) => void;\n exportHtml: (data: any) => void;\n };\n }\n}\n\nexport const coalesceVuetify = createCoalesceVuetify({\n metadata: $metadata,\n});\n\nconst inputDefaults = { density: \"compact\", variant: \"outlined\" };\nexport const VuetifyOptions = {\n icons: {\n defaultSet: \"fa\",\n aliases,\n sets: { fa },\n },\n defaults: {\n VInput: inputDefaults,\n VAutocomplete: inputDefaults,\n VField: inputDefaults,\n VTextarea: inputDefaults,\n VSelect: inputDefaults,\n VTextField: {\n density: \"compact\",\n variant: \"outlined\",\n hideDetails: \"auto\",\n },\n VSwitch: { baseColor: \"disabled\", color: \"primary\" },\n },\n components: {\n FullCalendar,\n EmailEditor,\n },\n theme: {\n themes: {\n light: {\n colors: {\n primary: staticData.COLOR_PRIMARY,\n secondary: staticData.COLOR_SECONDARY,\n accent: staticData.COLOR_ACCENT,\n \"surface-variant\": \"#bbb\",\n\n error: \"#df323b\", // This is the default error color with darken-1\n },\n },\n },\n },\n};\n\nexport const vuetify = createVuetify(VuetifyOptions);\n","import { createApp } from \"vue\";\nimport App from \"./App.vue\";\nimport router from \"./router\";\n\nimport TicketingCommon, { coalesceVuetify, vuetify } from \"@common/setup\";\nimport { createGtm } from \"@gtm-support/vue-gtm\";\n\nconst app = createApp(App);\napp.use(router);\napp.use(vuetify);\napp.use(coalesceVuetify);\n\napp.use(\n createGtm({\n id: \"GTM-WW7HZ9R\",\n vueRouter: router,\n }),\n);\n\napp.use(TicketingCommon, {\n app: app,\n publicUser: false,\n});\n\ndeclare module \"@public/models.g\" {\n export interface TicketPurchaseDto {\n localRawCreditCardDetails?: {\n [paymentId: number]: CreditCardDetails;\n };\n }\n}\napp.mount(\"#app\");\n","\n\n\n","\n\n\n","\n\n\n"],"file":"assets/index-qS9wdZhJ.js"}