@kohost/api-client 4.5.2 → 4.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/amqpClient.cjs.map +1 -1
- package/dist/amqpClient.js +1 -1
- package/dist/{chunk-M5X5MAMO.js → chunk-2ZHDK2LA.js} +1 -1
- package/dist/{chunk-AGZ6HJSH.js → chunk-3JKVMXXF.js} +1 -1
- package/dist/{chunk-AGZ6HJSH.js.map → chunk-3JKVMXXF.js.map} +1 -1
- package/dist/{chunk-ANFME4PS.js → chunk-4JO2ZCI2.js} +1 -1
- package/dist/chunk-4JO2ZCI2.js.map +1 -0
- package/dist/{chunk-7PX5KVYB.js → chunk-6U3D7INH.js} +1 -1
- package/dist/chunk-6U3D7INH.js.map +1 -0
- package/dist/{chunk-GBT23YOH.js → chunk-7OSTDOUM.js} +1 -1
- package/dist/chunk-7OSTDOUM.js.map +1 -0
- package/dist/chunk-7VS2JHRH.js +1 -0
- package/dist/chunk-7VS2JHRH.js.map +1 -0
- package/dist/{chunk-5EDOP7SD.js → chunk-AQVI4C4C.js} +1 -1
- package/dist/chunk-AQVI4C4C.js.map +1 -0
- package/dist/{chunk-HNS2SBBF.js → chunk-ASUIVB2I.js} +1 -1
- package/dist/{chunk-4AFOAB6J.js → chunk-BAIHVN4F.js} +1 -1
- package/dist/chunk-BAIHVN4F.js.map +1 -0
- package/dist/{chunk-UHZNVQJL.js → chunk-BRZVBG7Y.js} +1 -1
- package/dist/{chunk-PDHZFIDQ.js → chunk-DGMWQ4PP.js} +1 -1
- package/dist/chunk-DGMWQ4PP.js.map +1 -0
- package/dist/{chunk-NP5F6QMM.js → chunk-E7DC44YR.js} +1 -1
- package/dist/chunk-E7DC44YR.js.map +1 -0
- package/dist/{chunk-ZMHHWBMW.js → chunk-EIKLORN2.js} +1 -1
- package/dist/{chunk-LSJGBXK7.js → chunk-ET6X74DQ.js} +1 -1
- package/dist/{chunk-LSJGBXK7.js.map → chunk-ET6X74DQ.js.map} +1 -1
- package/dist/{chunk-JTMLWXAG.js → chunk-FJGHDCFU.js} +1 -1
- package/dist/{chunk-FVP5AOHC.js → chunk-FTA53BGJ.js} +1 -1
- package/dist/chunk-FTA53BGJ.js.map +1 -0
- package/dist/{chunk-KAJLZORW.js → chunk-G4JQYUAC.js} +1 -1
- package/dist/chunk-G4JQYUAC.js.map +1 -0
- package/dist/{chunk-YY6NO4Q7.js → chunk-GJIRL22D.js} +1 -1
- package/dist/{chunk-YXPWJUIO.js → chunk-H4CYVROE.js} +1 -1
- package/dist/chunk-H4CYVROE.js.map +1 -0
- package/dist/{chunk-HBM76KWM.js → chunk-IKAINY4Q.js} +1 -1
- package/dist/{chunk-DNI2JI3H.js → chunk-IP2J33M4.js} +1 -1
- package/dist/{chunk-ZU7D7NTB.js → chunk-J6NIJCBP.js} +1 -1
- package/dist/{chunk-3XCEXZZU.js → chunk-K4X5REA5.js} +1 -1
- package/dist/chunk-K4X5REA5.js.map +1 -0
- package/dist/{chunk-PRNDB7WM.js → chunk-KD5V4VHT.js} +1 -1
- package/dist/{chunk-QUX6UPWR.js → chunk-KJI445LX.js} +1 -1
- package/dist/{chunk-6DFQIA4E.js → chunk-KVGMJRXC.js} +1 -1
- package/dist/{chunk-CFNGKVGU.js → chunk-KZGHAUI5.js} +1 -1
- package/dist/{chunk-DUAYP7FO.js → chunk-LNRGAGJF.js} +1 -1
- package/dist/{chunk-ALNMPVX6.js → chunk-MG2VQTNN.js} +1 -1
- package/dist/{chunk-345UV6PD.js → chunk-MKUF7EIW.js} +1 -1
- package/dist/{chunk-345UV6PD.js.map → chunk-MKUF7EIW.js.map} +1 -1
- package/dist/{chunk-TUFZH6AD.js → chunk-NFBNENWO.js} +1 -1
- package/dist/{chunk-PJKWZ4E7.js → chunk-NX5S46FI.js} +1 -1
- package/dist/chunk-NX5S46FI.js.map +1 -0
- package/dist/{chunk-44MXAJLE.js → chunk-P5SXOPMU.js} +1 -1
- package/dist/chunk-P5SXOPMU.js.map +1 -0
- package/dist/{chunk-LRTOHGB2.js → chunk-PBMLITMC.js} +1 -1
- package/dist/{chunk-U2CAGSFM.js → chunk-PHUGJKO5.js} +1 -1
- package/dist/chunk-PHUGJKO5.js.map +1 -0
- package/dist/{chunk-UYNTJCKP.js → chunk-PWFIE4A4.js} +1 -1
- package/dist/{chunk-4EQQGMC3.js → chunk-QE7MS5GE.js} +1 -1
- package/dist/{chunk-JFGH6K22.js → chunk-R2SDRMVZ.js} +1 -1
- package/dist/chunk-R2SDRMVZ.js.map +1 -0
- package/dist/{chunk-GMEDY3CY.js → chunk-RQEWUMCP.js} +1 -1
- package/dist/{chunk-34GBFTWN.js → chunk-SIRKWUJR.js} +1 -1
- package/dist/{chunk-RXVFLL3E.js → chunk-SW7K432L.js} +1 -1
- package/dist/{chunk-5PAYL6WO.js → chunk-T2E42CQF.js} +1 -1
- package/dist/{chunk-VOEI53EX.js → chunk-UEVK66LP.js} +1 -1
- package/dist/chunk-UEVK66LP.js.map +1 -0
- package/dist/chunk-X2PHGWTM.js +1 -0
- package/dist/{chunk-U6LM27GO.js.map → chunk-X2PHGWTM.js.map} +1 -1
- package/dist/{chunk-ZHKBERFH.js → chunk-XORT6HQQ.js} +1 -1
- package/dist/{chunk-RISVSRZG.js → chunk-XV3KXIH2.js} +1 -1
- package/dist/chunk-XV3KXIH2.js.map +1 -0
- package/dist/{chunk-TQFOLO5K.js → chunk-XVQXZSHK.js} +1 -1
- package/dist/chunk-XVQXZSHK.js.map +1 -0
- package/dist/{chunk-LJOZIKAX.js → chunk-ZARKTUMC.js} +1 -1
- package/dist/{chunk-LJOZIKAX.js.map → chunk-ZARKTUMC.js.map} +1 -1
- package/dist/{chunk-RT5GN57D.js → chunk-ZR72266G.js} +1 -1
- package/dist/commands/index.cjs.map +1 -1
- package/dist/commands/index.js +1 -1
- package/dist/errors/index.cjs.map +1 -1
- package/dist/errors/index.js +1 -1
- package/dist/events/index.cjs.map +1 -1
- package/dist/events/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1 -1
- package/dist/models/alarm.cjs +1 -1
- package/dist/models/alarm.cjs.map +1 -1
- package/dist/models/alarm.d.cts +3 -3
- package/dist/models/alarm.d.ts +3 -3
- package/dist/models/alarm.js +1 -1
- package/dist/models/announcement.cjs +1 -1
- package/dist/models/announcement.cjs.map +1 -1
- package/dist/models/announcement.js +1 -1
- package/dist/models/automation.cjs +1 -1
- package/dist/models/automation.cjs.map +1 -1
- package/dist/models/automation.js +1 -1
- package/dist/models/camera.cjs +1 -1
- package/dist/models/camera.cjs.map +1 -1
- package/dist/models/camera.d.cts +3 -3
- package/dist/models/camera.d.ts +3 -3
- package/dist/models/camera.js +1 -1
- package/dist/models/category.cjs +1 -1
- package/dist/models/category.cjs.map +1 -1
- package/dist/models/category.d.cts +3 -3
- package/dist/models/category.d.ts +3 -3
- package/dist/models/category.js +1 -1
- package/dist/models/courtesy.cjs +1 -1
- package/dist/models/courtesy.cjs.map +1 -1
- package/dist/models/courtesy.d.cts +3 -3
- package/dist/models/courtesy.d.ts +3 -3
- package/dist/models/courtesy.js +1 -1
- package/dist/models/credential.cjs +1 -1
- package/dist/models/credential.cjs.map +1 -1
- package/dist/models/credential.d.cts +3 -3
- package/dist/models/credential.d.ts +3 -3
- package/dist/models/credential.js +1 -1
- package/dist/models/deviceRouter.cjs +1 -1
- package/dist/models/deviceRouter.cjs.map +1 -1
- package/dist/models/deviceRouter.js +1 -1
- package/dist/models/dimmer.cjs +1 -1
- package/dist/models/dimmer.cjs.map +1 -1
- package/dist/models/dimmer.d.cts +3 -3
- package/dist/models/dimmer.d.ts +3 -3
- package/dist/models/dimmer.js +1 -1
- package/dist/models/discoveredDevice.cjs +1 -1
- package/dist/models/discoveredDevice.cjs.map +1 -1
- package/dist/models/discoveredDevice.js +1 -1
- package/dist/models/emailMessage.cjs +1 -1
- package/dist/models/emailMessage.cjs.map +1 -1
- package/dist/models/emailMessage.js +1 -1
- package/dist/models/energyReport.cjs +1 -1
- package/dist/models/energyReport.cjs.map +1 -1
- package/dist/models/energyReport.js +1 -1
- package/dist/models/energyReportShard.cjs +1 -1
- package/dist/models/energyReportShard.cjs.map +1 -1
- package/dist/models/energyReportShard.js +1 -1
- package/dist/models/gateway.cjs +1 -1
- package/dist/models/gateway.cjs.map +1 -1
- package/dist/models/gateway.d.cts +3 -3
- package/dist/models/gateway.d.ts +3 -3
- package/dist/models/gateway.js +1 -1
- package/dist/models/identification.cjs +1 -1
- package/dist/models/identification.cjs.map +1 -1
- package/dist/models/identification.js +1 -1
- package/dist/models/index.cjs +1 -1
- package/dist/models/index.cjs.map +1 -1
- package/dist/models/index.js +1 -1
- package/dist/models/issue.cjs +1 -1
- package/dist/models/issue.cjs.map +1 -1
- package/dist/models/issue.js +1 -1
- package/dist/models/lock.cjs +1 -1
- package/dist/models/lock.cjs.map +1 -1
- package/dist/models/lock.d.cts +3 -3
- package/dist/models/lock.d.ts +3 -3
- package/dist/models/lock.js +1 -1
- package/dist/models/log.cjs +1 -1
- package/dist/models/log.cjs.map +1 -1
- package/dist/models/log.d.cts +3 -3
- package/dist/models/log.d.ts +3 -3
- package/dist/models/log.js +1 -1
- package/dist/models/mediaFile.cjs +1 -1
- package/dist/models/mediaFile.cjs.map +1 -1
- package/dist/models/mediaFile.js +1 -1
- package/dist/models/mediaSource.cjs +1 -1
- package/dist/models/mediaSource.cjs.map +1 -1
- package/dist/models/mediaSource.d.cts +3 -3
- package/dist/models/mediaSource.d.ts +3 -3
- package/dist/models/mediaSource.js +1 -1
- package/dist/models/motionSensor.cjs +1 -1
- package/dist/models/motionSensor.cjs.map +1 -1
- package/dist/models/motionSensor.d.cts +3 -3
- package/dist/models/motionSensor.d.ts +3 -3
- package/dist/models/motionSensor.js +1 -1
- package/dist/models/order.cjs +1 -1
- package/dist/models/order.cjs.map +1 -1
- package/dist/models/order.js +1 -1
- package/dist/models/organization.cjs +1 -1
- package/dist/models/organization.cjs.map +1 -1
- package/dist/models/organization.js +1 -1
- package/dist/models/payment.cjs +1 -1
- package/dist/models/payment.cjs.map +1 -1
- package/dist/models/payment.js +1 -1
- package/dist/models/policy.cjs +1 -1
- package/dist/models/policy.cjs.map +1 -1
- package/dist/models/policy.js +1 -1
- package/dist/models/product.cjs +1 -1
- package/dist/models/product.cjs.map +1 -1
- package/dist/models/product.d.cts +3 -3
- package/dist/models/product.d.ts +3 -3
- package/dist/models/product.js +1 -1
- package/dist/models/property.cjs +1 -1
- package/dist/models/property.cjs.map +1 -1
- package/dist/models/property.js +1 -1
- package/dist/models/reservation.cjs +1 -1
- package/dist/models/reservation.cjs.map +1 -1
- package/dist/models/reservation.d.cts +3 -3
- package/dist/models/reservation.d.ts +3 -3
- package/dist/models/reservation.js +1 -1
- package/dist/models/room.cjs +1 -1
- package/dist/models/room.cjs.map +1 -1
- package/dist/models/room.js +1 -1
- package/dist/models/scene.cjs +1 -1
- package/dist/models/scene.cjs.map +1 -1
- package/dist/models/scene.js +1 -1
- package/dist/models/shortLink.cjs +1 -1
- package/dist/models/shortLink.cjs.map +1 -1
- package/dist/models/shortLink.js +1 -1
- package/dist/models/smsMessage.cjs +1 -1
- package/dist/models/smsMessage.cjs.map +1 -1
- package/dist/models/smsMessage.js +1 -1
- package/dist/models/space.cjs +1 -1
- package/dist/models/space.cjs.map +1 -1
- package/dist/models/space.d.cts +12 -16
- package/dist/models/space.d.ts +12 -16
- package/dist/models/space.js +1 -1
- package/dist/models/switch.cjs +1 -1
- package/dist/models/switch.cjs.map +1 -1
- package/dist/models/switch.d.cts +3 -3
- package/dist/models/switch.d.ts +3 -3
- package/dist/models/switch.js +1 -1
- package/dist/models/systemUser.cjs +1 -1
- package/dist/models/systemUser.cjs.map +1 -1
- package/dist/models/systemUser.d.cts +3 -3
- package/dist/models/systemUser.d.ts +3 -3
- package/dist/models/systemUser.js +1 -1
- package/dist/models/thermostat.cjs +1 -1
- package/dist/models/thermostat.cjs.map +1 -1
- package/dist/models/thermostat.d.cts +3 -3
- package/dist/models/thermostat.d.ts +3 -3
- package/dist/models/thermostat.js +1 -1
- package/dist/models/ticket.cjs +1 -1
- package/dist/models/ticket.cjs.map +1 -1
- package/dist/models/ticket.js +1 -1
- package/dist/models/timeSheet.cjs +1 -1
- package/dist/models/timeSheet.cjs.map +1 -1
- package/dist/models/timeSheet.js +1 -1
- package/dist/models/user.cjs +1 -1
- package/dist/models/user.cjs.map +1 -1
- package/dist/models/user.js +1 -1
- package/dist/models/vendor.cjs +1 -1
- package/dist/models/vendor.cjs.map +1 -1
- package/dist/models/vendor.js +1 -1
- package/dist/models/windowCovering.cjs +1 -1
- package/dist/models/windowCovering.cjs.map +1 -1
- package/dist/models/windowCovering.d.cts +3 -3
- package/dist/models/windowCovering.d.ts +3 -3
- package/dist/models/windowCovering.js +1 -1
- package/dist/useCases/index.cjs.map +1 -1
- package/dist/useCases/index.js +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-3XCEXZZU.js.map +0 -1
- package/dist/chunk-44MXAJLE.js.map +0 -1
- package/dist/chunk-4AFOAB6J.js.map +0 -1
- package/dist/chunk-5EDOP7SD.js.map +0 -1
- package/dist/chunk-7PX5KVYB.js.map +0 -1
- package/dist/chunk-ANFME4PS.js.map +0 -1
- package/dist/chunk-FVP5AOHC.js.map +0 -1
- package/dist/chunk-GBT23YOH.js.map +0 -1
- package/dist/chunk-JFGH6K22.js.map +0 -1
- package/dist/chunk-KAJLZORW.js.map +0 -1
- package/dist/chunk-NP5F6QMM.js.map +0 -1
- package/dist/chunk-PDHZFIDQ.js.map +0 -1
- package/dist/chunk-PJKWZ4E7.js.map +0 -1
- package/dist/chunk-RISVSRZG.js.map +0 -1
- package/dist/chunk-TQFOLO5K.js.map +0 -1
- package/dist/chunk-U2CAGSFM.js.map +0 -1
- package/dist/chunk-U6LM27GO.js +0 -1
- package/dist/chunk-URMAPWOS.js +0 -1
- package/dist/chunk-URMAPWOS.js.map +0 -1
- package/dist/chunk-VOEI53EX.js.map +0 -1
- package/dist/chunk-YXPWJUIO.js.map +0 -1
- /package/dist/{chunk-M5X5MAMO.js.map → chunk-2ZHDK2LA.js.map} +0 -0
- /package/dist/{chunk-HNS2SBBF.js.map → chunk-ASUIVB2I.js.map} +0 -0
- /package/dist/{chunk-UHZNVQJL.js.map → chunk-BRZVBG7Y.js.map} +0 -0
- /package/dist/{chunk-ZMHHWBMW.js.map → chunk-EIKLORN2.js.map} +0 -0
- /package/dist/{chunk-JTMLWXAG.js.map → chunk-FJGHDCFU.js.map} +0 -0
- /package/dist/{chunk-YY6NO4Q7.js.map → chunk-GJIRL22D.js.map} +0 -0
- /package/dist/{chunk-HBM76KWM.js.map → chunk-IKAINY4Q.js.map} +0 -0
- /package/dist/{chunk-DNI2JI3H.js.map → chunk-IP2J33M4.js.map} +0 -0
- /package/dist/{chunk-ZU7D7NTB.js.map → chunk-J6NIJCBP.js.map} +0 -0
- /package/dist/{chunk-PRNDB7WM.js.map → chunk-KD5V4VHT.js.map} +0 -0
- /package/dist/{chunk-QUX6UPWR.js.map → chunk-KJI445LX.js.map} +0 -0
- /package/dist/{chunk-6DFQIA4E.js.map → chunk-KVGMJRXC.js.map} +0 -0
- /package/dist/{chunk-CFNGKVGU.js.map → chunk-KZGHAUI5.js.map} +0 -0
- /package/dist/{chunk-DUAYP7FO.js.map → chunk-LNRGAGJF.js.map} +0 -0
- /package/dist/{chunk-ALNMPVX6.js.map → chunk-MG2VQTNN.js.map} +0 -0
- /package/dist/{chunk-TUFZH6AD.js.map → chunk-NFBNENWO.js.map} +0 -0
- /package/dist/{chunk-LRTOHGB2.js.map → chunk-PBMLITMC.js.map} +0 -0
- /package/dist/{chunk-UYNTJCKP.js.map → chunk-PWFIE4A4.js.map} +0 -0
- /package/dist/{chunk-4EQQGMC3.js.map → chunk-QE7MS5GE.js.map} +0 -0
- /package/dist/{chunk-GMEDY3CY.js.map → chunk-RQEWUMCP.js.map} +0 -0
- /package/dist/{chunk-34GBFTWN.js.map → chunk-SIRKWUJR.js.map} +0 -0
- /package/dist/{chunk-RXVFLL3E.js.map → chunk-SW7K432L.js.map} +0 -0
- /package/dist/{chunk-5PAYL6WO.js.map → chunk-T2E42CQF.js.map} +0 -0
- /package/dist/{chunk-ZHKBERFH.js.map → chunk-XORT6HQQ.js.map} +0 -0
- /package/dist/{chunk-RT5GN57D.js.map → chunk-ZR72266G.js.map} +0 -0
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var mod,__create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__name=(target,value)=>__defProp(target,"name",{value:value,configurable:!0}),__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&"object"==typeof from||"function"==typeof from)for(let key of __getOwnPropNames(from))__hasOwnProp.call(to,key)||key===except||__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toESM=(mod,isNodeMode,target)=>(target=null!=mod?__create(__getProtoOf(mod)):{},__copyProps(!isNodeMode&&mod&&mod.__esModule?target:__defProp(target,"default",{value:mod,enumerable:!0}),mod)),index_exports={};__export(index_exports,{AMQPClient:()=>KohostAMQPClient,Client:()=>KohostHTTPClient,Commands:()=>commands_exports,Errors:()=>errors_exports,Events:()=>events_exports,Models:()=>models_exports,SocketIoClient:()=>KohostSocketIoClient,UseCases:()=>useCases_exports,defs:()=>defs_exports,utils:()=>utils_exports}),module.exports=(mod=index_exports,__copyProps(__defProp({},"__esModule",{value:!0}),mod));var import_amqplib=require("amqplib"),import_connection=require("amqplib/lib/connection"),import_debug=__toESM(require("debug"),1),import_node_buffer=require("buffer"),crypto=__toESM(require("crypto"),1),defs_exports={};__export(defs_exports,{amqpExchanges:()=>amqpExchanges,deviceTypes:()=>deviceTypes});var amqpExchanges={Commands:{name:"kohost.commands",type:"headers",options:{durable:!0}},CommandResponses:{name:"kohost.commandResponses",type:"topic",options:{durable:!0}},DriverEvents:{name:"kohost.events.drivers",type:"topic",options:{durable:!0}},AppEvents:{name:"kohost.events.app",type:"topic",options:{durable:!0}},Direct:{name:"kohost.direct",type:"direct",options:{durable:!0}},dlx:{name:"kohost.dlx",type:"direct"}},deviceTypes=["dimmer","switch","thermostat","lock","windowCovering","courtesy","alarm","camera","mediaSource","motionSensor","gateway"],errors_exports={};__export(errors_exports,{AppError:()=>AppError,AuthenticationError:()=>AuthenticationError,AuthorizationError:()=>AuthorizationError,ConflictError:()=>ConflictError,DeviceCommError:()=>DeviceCommError,LoginError:()=>LoginError,NotFoundError:()=>NotFoundError,RequestError:()=>RequestError,SystemCommError:()=>SystemCommError,TokenExpiredError:()=>TokenExpiredError,UnprocessableRequestError:()=>UnprocessableRequestError,ValidationError:()=>ValidationError});var AppError=class _AppError extends Error{static{__name(this,"AppError")}constructor(message="Internal Server Error",options){super(message,options),this.type=this.constructor.name,this.statusCode=500,this.name="AppError",Object.setPrototypeOf(this,_AppError.prototype)}},AuthenticationError=class _AuthenticationError extends AppError{static{__name(this,"AuthenticationError")}constructor(message="Authentication Error",options={}){super(message,options),this.statusCode=401,this.name="AuthenticationError",Object.setPrototypeOf(this,_AuthenticationError.prototype)}},AuthorizationError=class _AuthorizationError extends AppError{static{__name(this,"AuthorizationError")}constructor(message="Authorization Error",options={}){super(message,options),this.statusCode=403,this.name="AuthorizationError",Object.setPrototypeOf(this,_AuthorizationError.prototype)}},ConflictError=class _ConflictError extends AppError{static{__name(this,"ConflictError")}constructor(message="Bad Request",options={}){super(message,options),this.statusCode=409,this.name="ConflictError",Object.setPrototypeOf(this,_ConflictError.prototype)}},DeviceCommError=class _DeviceCommError extends AppError{static{__name(this,"DeviceCommError")}constructor(message="Device Communication Error",options={}){super(message,options),this.statusCode=503,this.name="DeviceCommError",Object.setPrototypeOf(this,_DeviceCommError.prototype)}},LoginError=class _LoginError extends AppError{static{__name(this,"LoginError")}constructor(message="Invalid Login information provided",options={}){super(message,options),this.statusCode=401,this.name="LoginError",Object.setPrototypeOf(this,_LoginError.prototype)}},NotFoundError=class _NotFoundError extends AppError{static{__name(this,"NotFoundError")}constructor(message="Resource Not Found",options={}){super(message,options),this.statusCode=404,this.name="NotFoundError",Object.setPrototypeOf(this,_NotFoundError.prototype)}},RequestError=class _RequestError extends AppError{static{__name(this,"RequestError")}constructor(message="Bad Request",options={}){super(message,options),this.statusCode=400,this.name="RequestError",Object.setPrototypeOf(this,_RequestError.prototype)}},SystemCommError=class _SystemCommError extends AppError{static{__name(this,"SystemCommError")}constructor(message="System Communication Error",options={}){super(message,options),this.statusCode=503,this.name="SystemCommError",Object.setPrototypeOf(this,_SystemCommError.prototype)}},TokenExpiredError=class _TokenExpiredError extends AppError{static{__name(this,"TokenExpiredError")}constructor(message="Token Expired",options={}){super(message,options),this.statusCode=401,this.name="TokenExpiredError",Object.setPrototypeOf(this,_TokenExpiredError.prototype)}},UnprocessableRequestError=class _UnprocessableRequestError extends AppError{static{__name(this,"UnprocessableRequestError")}constructor(message="Unprocessable Request Error",options={}){super(message,options),this.statusCode=422,this.name="UnprocessableRequestError",Object.setPrototypeOf(this,_UnprocessableRequestError.prototype)}},ValidationError=class _ValidationError extends AppError{static{__name(this,"ValidationError")}constructor(message="Validation Error",options={}){super(message,options),this.statusCode=400,this.name="ValidationError",Object.setPrototypeOf(this,_ValidationError.prototype)}},randomUUID2=crypto.randomUUID,debug=(0,import_debug.default)("kohost:amqp-client"),KohostAMQPClient=class{static{__name(this,"KohostAMQPClient")}static get Message(){return Message}static get exchanges(){return amqpExchanges}static generateCorrelationId(){return randomUUID2()}static validateMessage(message){if(!message)throw new Error("Message is required")}static parseError(err){let type,message,options={};if(err.message&&err.type){const{message:errMessage,type:errType,...rest}=err;type=errType,message=errMessage,options=rest}else message=err.message||"Unknown Error";return debug("parseError",type,message,options),type&&errors_exports[type]?new errors_exports[type](message,options):new Error(message,options)}static parseMessage(message){let error=null,data={},query={},context={},headers={};const isCommand="Command"===message?.properties?.type,isEvent="Event"===message?.properties?.type,messageHeaders=message?.properties?.headers||{},commandName=messageHeaders["X-Command-Name"]||null,eventName=messageHeaders["X-Event-Name"]||null;if(message.content)try{const payload="application/json"===message.properties?.contentType?JSON.parse(message.content.toString()):message.content.toString();data=payload?.data||{},error=payload?.error,query=payload?.query||{},context=payload?.context||{}}catch(error2){debug("error parsing content",error2),data=message.content.toString()}if(message?.properties?.headers){const orgHeader=message.properties.headers["X-Organization-Id"],propertyHeader=message.properties.headers["X-Property-Id"],driverHeader=message.properties.headers["X-Driver"];orgHeader&&(context.organizationId=orgHeader,headers["X-Organization-Id"]=orgHeader),propertyHeader&&(context.propertyId=propertyHeader,headers["X-Property-Id"]=propertyHeader),driverHeader&&(context.driver=driverHeader,headers["X-Driver"]=driverHeader)}const parsed={};return error&&(parsed.error=this.parseError(error)),parsed.data=data,parsed.query=query,parsed.context=context,parsed.headers=headers,isEvent&&eventName?parsed.event=eventName:isCommand&&commandName&&(parsed.command=commandName),debug("amqp parsed %o",parsed),parsed}static getMessage(message){if(!message?.content)return null;const payload=JSON.parse(message.content.toString()),data=payload?.data;return data}static isFatalError(err){return(0,import_connection.isFatalError)(err)}async createConnection(connection,options={}){return await(0,import_amqplib.connect)(connection,options)}static createMessage(content){return new Message(content)}async createChannel(connection){return await connection.createChannel()}async assertExchange(channel,{exchange:exchange,type:type,options:options}){return await channel.assertExchange(exchange,type,options)}async assertQueue(channel,{queue:queue,options:options}){return await channel.assertQueue(queue,options)}async bindQueue(channel,{queue:queue,exchange:exchange,routingKey:routingKey,args:args}){return await channel.bindQueue(queue,exchange,routingKey,args)}async bindExchange(channel,{source:source,destination:destination,routingKey:routingKey,args:args}){return await channel.bindExchange(destination,source,routingKey,args)}async subscribeToQueue(channel,{queue:queue,cb:cb,options:options}){return await channel.consume(queue,cb,options)}publishToExchange(channel,{exchange:exchange,routingKey:routingKey,content:content,options:options}){return channel.publish(exchange,routingKey,content,options)}},Message=class{static{__name(this,"Message")}constructor(content){this.toExchange=null,this.content=content,this.options={contentType:"application/json",timestamp:Date.now()},this.routingKey=""}get correlationId(){return this.options.correlationId||null}to({exchange:exchange}){if(void 0===exchange)throw new Error("Exchange is required");return this.toExchange=exchange,this}withType(type){return this.options.type=type,this}withRoutingKey(routingKey){return this.routingKey=routingKey,this}withHeaders(headers){return this.options.headers||(this.options.headers={}),this.options.headers={...this.options.headers,...headers},this}withContext(context){for(let key in context)this.withHeaders({[key]:context[key]});return this}withCorrelationId(correlationId){return this.options.correlationId=correlationId,this}withReplyTo(queue){return this.options.replyTo=queue,this}build(){let content=this.content;return content.build&&"function"==typeof content.build&&(content=content.build()),{exchange:this.toExchange,content:import_node_buffer.Buffer.from(JSON.stringify(content)),options:this.options,routingKey:this.routingKey}}},RefreshTokenCommand=class _RefreshTokenCommand{static{__name(this,"RefreshTokenCommand")}constructor(commandConfig,options={}){const pathParams=_RefreshTokenCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_RefreshTokenCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_RefreshTokenCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/auth/refresh";static method="post"},KohostHTTPClient=class _KohostHTTPClient{static{__name(this,"KohostHTTPClient")}#onSuccess;#onError;#tokenRenewalRequest=null;constructor(options={url:"",propertyId:"",organizationId:"",apiKey:"",headers:new Headers({}),onSuccess:__name((response=>response),"onSuccess"),onError:__name((error=>error),"onError")}){if(!options.url)throw new Error("options.url is required");this.options=options,this.isAuthTokenRenewalActive=!1,this.baseUrl=new URL(options.url),this.headers=new Headers({"Content-Type":"application/json",Accept:"application/json",...options.headers}),options.apiKey&&this.headers.set(_KohostHTTPClient.defs.apiKeyHeader,options.apiKey),options.propertyId&&(this.propertyId=options.propertyId),options.organizationId&&(this.organizationId=options.organizationId),this.#onSuccess=options.onSuccess?options.onSuccess:response=>response,this.#onError=options.onError?options.onError:error=>error,this.callbacks={}}on(event,callback){if("function"!=typeof callback)throw new Error("Callback must be a function");this.callbacks[event]||(this.callbacks[event]=[]),this.callbacks[event].push(callback)}emit(event,...args){this.callbacks[event]&&this.callbacks[event].forEach((callback=>callback(...args)))}set organizationId(orgId){const key=_KohostHTTPClient.defs.organizationHeader;this.headers.set(key,orgId)}get organizationId(){const key=_KohostHTTPClient.defs.organizationHeader;return this.headers.get(key)}set propertyId(propertyId){const key=_KohostHTTPClient.defs.propertyHeader;this.headers.set(key,propertyId)}get propertyId(){const key=_KohostHTTPClient.defs.propertyHeader;return this.headers.get(key)}static get defs(){return{apiKeyHeader:"X-Api-Key",propertyHeader:"X-Property-Id",organizationHeader:"X-Organization-Id"}}async send(command){const commandConfig=command.config,request=this.createRequest(commandConfig);this.#tokenRenewalRequest&&await this.#tokenRenewalRequest;const response=await fetch(request),responseData=response.headers.get("Content-Type")?.includes("application/json")||!1?await response.json():response.body;if(!response.ok){let error=responseData?.error||new Error(response.statusText);const status=response.status,errorType=responseData.error?.type,errorMessage=responseData?.error?.message;try{const expectedError=status>=400&&status<500,newTokensNeeded=expectedError&&"TokenExpiredError"===errorType;if(expectedError&&"Phone Verification is required"===errorMessage)return this.#onPhoneVerificationRequired(),Promise.reject(error);if(expectedError&&"Login Required"===errorMessage)return this.#onLoginRequired(),Promise.reject(error);if(expectedError&&"No auth header or cookie provided"===errorMessage)return this.#onLoginRequired(),Promise.reject(error);if(expectedError&&newTokensNeeded){if(this.#tokenRenewalRequest)try{return await this.#tokenRenewalRequest,this.send(command)}catch(error2){return Promise.reject(error2)}this.#tokenRenewalRequest=this.send(new RefreshTokenCommand({})).finally((()=>{this.#tokenRenewalRequest=null}));try{return await this.#tokenRenewalRequest,this.send(command)}catch(error2){return Promise.reject(error2)}}}catch(error2){console.error(error2)}return error=this.#onError(error),Promise.reject(error)}return this.#onSuccess(responseData)}#onLoginRequired(){this.emit("LoginRequired")}#onPhoneVerificationRequired(){this.emit("PhoneVerificationRequired")}createRequest(config){"object"!=typeof config.headers&&(config.headers={});let apiPath=config.url;apiPath.startsWith("/")&&(apiPath=`.${apiPath}`);const url=new URL(apiPath,this.baseUrl),method=config.method?.toUpperCase()||"GET";config.params&&"object"==typeof config.params&&Object.entries(config.params).forEach((([key,value])=>{Array.isArray(value)?value.forEach((item=>{"object"==typeof item&&null!==item?Object.entries(item).forEach((([itemKey,itemValue])=>{url.searchParams.append(`${key}[][${itemKey}]`,itemValue)})):url.searchParams.append(`${key}[]`,item)})):null==value?url.searchParams.append(key,""):"object"==typeof value?Object.entries(value).forEach((([nestedKey,nestedValue])=>{Array.isArray(nestedValue)?nestedValue.forEach((item=>{url.searchParams.append(`${key}[${nestedKey}][]`,item)})):url.searchParams.append(`${key}[${nestedKey}]`,nestedValue)})):url.searchParams.append(key,value)}));const headers=new Headers(this.headers);config.headers&&Object.keys(config.headers).forEach((key=>{headers.set(key,config.headers[key])}));const body=null!==config.data&&["POST","PUT","PATCH"].includes(method)?"application/json"===headers.get("Content-Type")?JSON.stringify(config.data):config.data:void 0;return new Request(url,{method:method,headers:headers,credentials:"include",body:body})}},import_socket=require("socket.io-client"),KohostSocketIoClient=class{static{__name(this,"KohostSocketIoClient")}constructor(config={url:null,options:{}}){if(!config.url)throw new Error("config.url is required");this.url=config.url,this.options={autoConnect:!1,forceNew:!1,reconnection:!0,reconnectionAttempts:1/0,reconnectionDelay:1e3,withCredentials:!0,transports:["websocket","polling"],upgrade:!0,...config.options},this.socket=(0,import_socket.io)(this.url,this.options),this.socket.on("connect",(()=>{this.emit("connect",this.socket)})),this.socket.on("disconnect",(reason=>{this.emit("disconnect",reason)})),this.socket.on("reconnect_attempt",(data=>{this.emit("reconnect_attempt",data)})),this.socket.on("connect_error",(error=>{this.emit("connect_error",error)})),this.callbacks={}}#url=null;get url(){return this.#url}set url(url){this.#url=url}get connected(){return this.socket?.connected||!1}get disconnected(){return this.socket?.disconnected||!1}on(event,callback){if("function"!=typeof callback)throw new Error("Callback must be a function");this.callbacks[event]||(this.callbacks[event]=[]),this.callbacks[event].push(callback)}emit(event,...args){this.callbacks[event]&&this.callbacks[event].forEach((callback=>callback(...args)))}listeners(event){return this.callbacks[event]||[]}connect(){this.socket.connect()}disconnect(){this.socket.disconnect()}reconnect(){this.disconnect(),this.connect()}subscribe(event,callback){this.socket.on(event,callback)}unsubscribe(event,callback){this.socket.off(event,callback)}getSubscriptions(event){return this.socket.listeners(event)}send(event,{data:data={},query:query={},...rest}){this.socket.emit(event,{data:data,query:query,...rest})}destroy(){this.disconnect(),this.socket.removeAllListeners(),this.socket=null}},commands_exports={};__export(commands_exports,{CheckInReservation:()=>CheckInReservation,CheckOutReservation:()=>CheckOutReservation,Command:()=>Command,CreateImageUploadEndpoint:()=>CreateImageUploadEndpoint,CreateShortLink:()=>CreateShortLink,GetCategories:()=>GetCategories,GetMobileKey:()=>GetMobileKey,GetProducts:()=>GetProducts,GetReservationSpaceCategoryAvailabilities:()=>GetReservationSpaceCategoryAvailabilities,GetReservations:()=>GetReservations,GetRooms:()=>GetRooms,GetUsers:()=>GetUsers,OCRDocument:()=>OCRDocument,SellProducts:()=>SellProducts,SendEmail:()=>SendEmail,SendSMS:()=>SendSMS,SetAlarm:()=>SetAlarm,SetCourtesy:()=>SetCourtesy,SetDimmer:()=>SetDimmer,SetLock:()=>SetLock,SetMedia:()=>SetMedia,SetScene:()=>SetScene,SetSwitch:()=>SetSwitch,SetThermostat:()=>SetThermostat,SetWindowCovering:()=>SetWindowCovering,UpdateReservation:()=>UpdateReservation,UpdateUser:()=>UpdateUser,UploadImage:()=>UploadImage});var Commands=amqpExchanges.Commands,Command=class{static{__name(this,"Command")}constructor(data){if(this.data={},!data)throw new Error("Command data is required");if("object"!=typeof data)throw new Error("Command data must be an object");for(const key in data)this.data[key]=data[key]}get name(){throw new Error("Command name is required")}static get type(){return"Command"}static get exchange(){return Commands.name}build(){return{data:{...this.data}}}},CheckInReservation=class extends Command{static{__name(this,"CheckInReservation")}constructor({id:id,...rest}){super({id:id,...rest})}get name(){return"CheckInReservation"}},CheckOutReservation=class extends Command{static{__name(this,"CheckOutReservation")}constructor({reservationId:reservationId,userId:userId,...rest}){super({reservationId:reservationId,userId:userId,...rest})}get name(){return"CheckOutReservation"}},CreateImageUploadEndpoint=class extends Command{static{__name(this,"CreateImageUploadEndpoint")}constructor({id:id,expires:expires,...rest}){super({id:id,expires:expires,...rest})}get name(){return"CreateImageUploadEndpoint"}},CreateShortLink=class extends Command{static{__name(this,"CreateShortLink")}constructor({title:title,destination:destination,...rest}){super({title:title,destination:destination,...rest})}get name(){return"CreateShortLink"}},GetCategories=class extends Command{static{__name(this,"GetCategories")}constructor({id:id,...rest}){super({id:id,...rest})}get name(){return"GetCategories"}},GetMobileKey=class extends Command{static{__name(this,"GetMobileKey")}constructor({id:id,phone:phone,beginDateTime:beginDateTime,endDateTime:endDateTime,keyToReplace:keyToReplace,...rest}){super({id:id,phone:phone,beginDateTime:beginDateTime,endDateTime:endDateTime,keyToReplace:keyToReplace,...rest})}get name(){return"GetMobileKey"}},GetProducts=class extends Command{static{__name(this,"GetProducts")}constructor({id:id,externalSystemId:externalSystemId,...rest}){super({id:id,externalSystemId:externalSystemId,...rest})}get name(){return"GetProducts"}},GetReservationSpaceCategoryAvailabilities=class extends Command{static{__name(this,"GetReservationSpaceCategoryAvailabilities")}constructor(options){const{id:id,...rest}=options;super({id:id,...rest})}get name(){return"GetReservationSpaceCategoryAvailabilities"}},GetReservations=class extends Command{static{__name(this,"GetReservations")}constructor(options){const{id:id,startDate:startDate,endDate:endDate,status:status,...rest}=options;super({id:id,startDate:startDate,endDate:endDate,status:status,...rest})}get name(){return"GetReservations"}},GetRooms=class extends Command{static{__name(this,"GetRooms")}constructor({id:id,types:types,categories:categories,startDate:startDate,endDate:endDate,serviceStatus:serviceStatus,housekeepingStatus:housekeepingStatus,...rest}){super({id:id,types:types,categories:categories,startDate:startDate,endDate:endDate,serviceStatus:serviceStatus,housekeepingStatus:housekeepingStatus,...rest})}get name(){return"GetRooms"}},GetUsers=class extends Command{static{__name(this,"GetUsers")}constructor({id:id,...rest}){super({id:id,...rest})}get name(){return"GetUsers"}},OCRDocument=class extends Command{static{__name(this,"OCRDocument")}constructor({type:type,image:image,...rest}){super({type:type,image:image,...rest})}get name(){return"OCRDocument"}},SellProducts=class extends Command{static{__name(this,"SellProducts")}constructor({reservationId:reservationId,userId:userId,products:products,...rest}){super({reservationId:reservationId,userId:userId,products:products,...rest})}get name(){return"SellProducts"}},SendEmail=class extends Command{static{__name(this,"SendEmail")}constructor({text:text,html:html,to:to,from:from,subject:subject,...rest}){super({text:text,html:html,to:to,from:from,subject:subject,...rest})}get name(){return"SendEmail"}},SendSMS=class extends Command{static{__name(this,"SendSMS")}constructor({id:id,body:body,to:to,from:from,media:media,...rest}){super({id:id,body:body,to:to,from:from,media:media,...rest})}get name(){return"SendSMS"}},SetAlarm=class extends Command{static{__name(this,"SetAlarm")}constructor({id:id,zones:zones,areas:areas,code:code,...rest}){super({id:id,zones:zones,areas:areas,code:code,...rest})}get name(){return"SetAlarm"}},SetCourtesy=class extends Command{static{__name(this,"SetCourtesy")}constructor({id:id,state:state,...rest}){super({id:id,state:state,...rest})}get name(){return"SetCourtesy"}},SetDimmer=class extends Command{static{__name(this,"SetDimmer")}constructor({id:id,level:level,...rest}){super({id:id,level:level,...rest})}get name(){return"SetDimmer"}},SetLock=class extends Command{static{__name(this,"SetLock")}constructor({id:id,state:state,...rest}){super({id:id,state:state,...rest})}get name(){return"SetLock"}},SetMedia=class extends Command{static{__name(this,"SetMedia")}constructor({id:id,command:command,...rest}){super({id:id,command:command,...rest})}get name(){return"SetMedia"}},SetScene=class extends Command{static{__name(this,"SetScene")}constructor({id:id,devices:devices,...rest}){super({id:id,devices:devices,...rest})}get name(){return"SetScene"}},SetSwitch=class extends Command{static{__name(this,"SetSwitch")}constructor({id:id,state:state,...rest}){super({id:id,state:state,...rest})}get name(){return"SetSwitch"}},SetThermostat=class extends Command{static{__name(this,"SetThermostat")}constructor({id:id,setpoints:setpoints,hvacMode:hvacMode,fanMode:fanMode,...rest}){super({id:id,setpoints:setpoints,hvacMode:hvacMode,fanMode:fanMode,...rest})}get name(){return"SetThermostat"}},SetWindowCovering=class extends Command{static{__name(this,"SetWindowCovering")}constructor({id:id,position:position,...rest}){super({id:id,position:position,...rest})}get name(){return"SetWindowCovering"}},UpdateReservation=class extends Command{static{__name(this,"UpdateReservation")}constructor({id:id,...rest}){super({id:id,...rest})}get name(){return"UpdateReservation"}},UpdateUser=class extends Command{static{__name(this,"UpdateUser")}constructor({id:id,email:email,phone:phone,identification:identification,address:address,note:note,nationality:nationality,file:file,payment:payment,...rest}){super({id:id,email:email,phone:phone,identification:identification,address:address,note:note,nationality:nationality,file:file,payment:payment,...rest})}get name(){return"UpdateUser"}},UploadImage=class extends Command{static{__name(this,"UploadImage")}constructor({id:id,url:url,file:file,...rest}){super({id:id,url:url,file:file,...rest})}get name(){return"UploadImage"}},events_exports={};__export(events_exports,{ApplicationInUse:()=>ApplicationInUse,ApplicationOutOfUse:()=>ApplicationOutOfUse,EmailEvent:()=>EmailEvent,Event:()=>Event,ReservationCheckedIn:()=>ReservationCheckedIn,ReservationCheckedOut:()=>ReservationCheckedOut,ReservationSpaceChanged:()=>ReservationSpaceChanged,SMSEvent:()=>SMSEvent,SceneSet:()=>SceneSet,ShortLinkCreated:()=>ShortLinkCreated,SystemAlarmUpdated:()=>SystemAlarmUpdated,SystemCameraUpdated:()=>SystemCameraUpdated,SystemCategoryUpdated:()=>SystemCategoryUpdated,SystemCourtesyUpdated:()=>SystemCourtesyUpdated,SystemCredentialUpdated:()=>SystemCredentialUpdated,SystemDimmerUpdated:()=>SystemDimmerUpdated,SystemEntityDeleted:()=>SystemEntityDeleted,SystemGatewayUpdated:()=>SystemGatewayUpdated,SystemLockUpdated:()=>SystemLockUpdated,SystemMediaSourceUpdated:()=>SystemMediaSourceUpdated,SystemMotionSensorUpdated:()=>SystemMotionSensorUpdated,SystemOrganizationUpdated:()=>SystemOrganizationUpdated,SystemProductUpdated:()=>SystemProductUpdated,SystemPropertyUpdated:()=>SystemPropertyUpdated,SystemReservationUpdated:()=>SystemReservationUpdated,SystemSpaceUpdated:()=>SystemSpaceUpdated,SystemSwitchUpdated:()=>SystemSwitchUpdated,SystemThermostatUpdated:()=>SystemThermostatUpdated,SystemUserUpdated:()=>SystemUserUpdated,SystemWindowCoveringUpdated:()=>SystemWindowCoveringUpdated});var Event=class{static{__name(this,"Event")}constructor(data,context={}){if(this.data=[],this.context=context,!data)throw new Error("Event data is required");if("object"!=typeof data&&!Array.isArray(data))throw new Error("Event data must be an object or array");Array.isArray(data)?this.data=data:this.data=[data]}get organizationId(){return this.context.organizationId||"*"}get propertyId(){return this.context.propertyId||"*"}static get type(){return"Event"}static get exchange(){return amqpExchanges.DriverEvents.name}static get entity(){return""}build(){return{data:{...this.data}}}get routingKey(){return`${this.organizationId}.${this.propertyId}.${this.constructor.entity}.${this.constructor.name}`}},ApplicationInUse=class extends Event{constructor(data={},context){super(data,context)}static get name(){return"ApplicationInUse"}static get entity(){return"app"}static get exchange(){return amqpExchanges.AppEvents.name}},ApplicationOutOfUse=class extends Event{constructor(data={},context={}){super(data,context)}static get name(){return"ApplicationOutOfUse"}static get entity(){return"app"}static get exchange(){return amqpExchanges.AppEvents.name}},EmailEvent=class extends Event{constructor(email,context){super(email,context)}static get name(){return"EmailEvent"}static get entity(){return"emailMessage"}},ReservationCheckedIn=class extends Event{constructor(reservation,context){super(reservation,context)}static get name(){return"ReservationCheckedIn"}static get entity(){return"reservation"}static get exchange(){return amqpExchanges.AppEvents.name}},ReservationCheckedOut=class extends Event{constructor(reservation,context){super(reservation,context)}static get name(){return"ReservationCheckedOut"}static get entity(){return"reservation"}static get exchange(){return amqpExchanges.AppEvents.name}},ReservationSpaceChanged=class extends Event{constructor(reservation,context){super(reservation,context)}static get name(){return"ReservationSpaceChanged"}static get entity(){return"reservation"}static get exchange(){return amqpExchanges.AppEvents.name}},SceneSet=class extends Event{constructor(scene,context){super(scene,context)}static get name(){return"SceneSet"}static get entity(){return"scene"}},ShortLinkCreated=class extends Event{constructor(shortLink,context){super(shortLink,context)}static get name(){return"ShortLinkCreated"}static get entity(){return"shortLink"}},SMSEvent=class extends Event{constructor(sms,context){super(sms,context)}static get name(){return"SMSEvent"}static get entity(){return"smsMessage"}},SystemAlarmUpdated=class extends Event{constructor(alarm,context){super(alarm,context)}static get name(){return"SystemAlarmUpdated"}static get entity(){return"alarm"}},SystemCameraUpdated=class extends Event{constructor(camera,context){super(camera,context)}static get name(){return"SystemCameraUpdated"}static get entity(){return"camera"}},SystemCategoryUpdated=class extends Event{constructor(category,context){super(category,context)}static get name(){return"SystemCategoryUpdated"}static get entity(){return"category"}},SystemCourtesyUpdated=class extends Event{constructor(courtesy,context){super(courtesy,context)}static get name(){return"SystemCourtesyUpdated"}static get entity(){return"courtesy"}},SystemCredentialUpdated=class extends Event{constructor(cred,context){super(cred,context)}static get name(){return"SystemCredentialUpdated"}static get entity(){return"credential"}},SystemDimmerUpdated=class extends Event{constructor(dimmer,context){super(dimmer,context)}static get name(){return"SystemDimmerUpdated"}static get entity(){return"dimmer"}},SystemEntityDeleted=class extends Event{constructor(data,context){super(data,context)}static get name(){return"SystemEntityDeleted"}static get entity(){return"entity"}},SystemGatewayUpdated=class extends Event{constructor(gateway,context){super(gateway,context)}static get name(){return"SystemGatewayUpdated"}static get entity(){return"gateway"}},SystemLockUpdated=class extends Event{constructor(lock,context){super(lock,context)}static get name(){return"SystemLockUpdated"}static get entity(){return"lock"}},SystemMediaSourceUpdated=class extends Event{constructor(mediaSource,context){super(mediaSource,context)}static get name(){return"SystemMediaSourceUpdated"}static get entity(){return"mediaSource"}},SystemMotionSensorUpdated=class extends Event{constructor(motion,context){super(motion,context)}static get name(){return"SystemMotionSensorUpdated"}static get entity(){return"motionSensor"}},SystemOrganizationUpdated=class extends Event{constructor(organization,context){super(organization,context)}static get name(){return"SystemOrganizationUpdated"}static get entity(){return"organization"}},SystemProductUpdated=class extends Event{constructor(product,context){super(product,context)}static get name(){return"SystemProductUpdated"}static get entity(){return"product"}},SystemPropertyUpdated=class extends Event{constructor(property,context){super(property,context)}static get name(){return"SystemPropertyUpdated"}static get entity(){return"property"}},SystemReservationUpdated=class extends Event{constructor(reservation,context){super(reservation,context)}static get name(){return"SystemReservationUpdated"}static get entity(){return"reservation"}},SystemSpaceUpdated=class extends Event{constructor(space,context){super(space,context)}static get name(){return"SystemSpaceUpdated"}static get entity(){return"space"}},SystemSwitchUpdated=class extends Event{constructor(_switch,context){super(_switch,context)}static get name(){return"SystemSwitchUpdated"}static get entity(){return"switch"}},SystemThermostatUpdated=class extends Event{constructor(thermostat,context){super(thermostat,context)}static get name(){return"SystemThermostatUpdated"}static get entity(){return"thermostat"}},SystemUserUpdated=class extends Event{constructor(user,context){super(user,context)}static get name(){return"SystemUserUpdated"}static get entity(){return"user"}},SystemWindowCoveringUpdated=class extends Event{constructor(wc,context){super(wc,context)}static get name(){return"SystemWindowCoveringUpdated"}static get entity(){return"windowCovering"}},models_exports={};__export(models_exports,{Alarm:()=>Alarm,Announcement:()=>Announcement,Automation:()=>Automation,Camera:()=>Camera,Category:()=>Category,Courtesy:()=>Courtesy,Credential:()=>Credential,DeviceRouter:()=>DeviceRouter,Dimmer:()=>Dimmer,DiscoveredDevice:()=>DiscoveredDevice,EmailMessage:()=>EmailMessage,EnergyReport:()=>EnergyReport,EnergyReportShard:()=>EnergyReportShard,Entity:()=>Entity,Gateway:()=>Gateway,Identification:()=>Identification,Issue:()=>Issue,Lock:()=>Lock,Log:()=>Log,MediaFile:()=>MediaFile,MediaSource:()=>MediaSource,MotionSensor:()=>MotionSensor,Order:()=>Order,Organization:()=>Organization,Payment:()=>Payment,Policy:()=>Policy,Product:()=>Product,Property:()=>Property,Reservation:()=>Reservation,Room:()=>Room,Scene:()=>Scene,ShortLink:()=>ShortLink,SmsMessage:()=>SmsMessage,Space:()=>Space,Switch:()=>Switch,SystemUser:()=>SystemUser,Thermostat:()=>Thermostat,Ticket:()=>Ticket,TimeSheet:()=>TimeSheet,User:()=>User,Vendor:()=>Vendor,WindowCovering:()=>WindowCovering});var Entity=class{static{__name(this,"Entity")}constructor(data){if(!this.schema)throw new Error("Schema is not defined");if(!this.validator)throw new Error("Validator is not defined");this.#validate(data)}get schemaProperties(){return Object.keys(this.validator.schema.properties)}#validate(data){if(!this.validator(data))throw new ValidationError(`Invalid ${this.constructor.name}`,{cause:this.validator.errors})}},import_ajv=require("ajv"),import_ajv_formats=__toESM(require("ajv-formats"),1),alarm_default={$schema:"http://json-schema.org/draft-07/schema",$id:"alarm.json",title:"Alarm",description:"Any smart alarm system",type:"object",required:["id","type","areas","zones","driver"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string",description:"Name of the alarm"},offline:{type:"boolean"},type:{type:"string",enum:["alarm"],default:"alarm"},systemId:{$ref:"definitions.json#/definitions/systemId"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},areas:{type:"array",items:{type:"object",properties:{number:{type:"number"},name:{type:"string"},securityMode:{type:["string","null"],enum:["arming","disarming","armed","disarmed","alarm",null]}},additionalProperties:!1}},zones:{type:"array",items:{type:"object",properties:{number:{type:"number",minimum:0},name:{type:"string"},secure:{type:["boolean","null"]},bypassed:{type:["boolean","null"]}},additionalProperties:!1}},chime:{type:"boolean",description:"Reflects whether console chime is enabled"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"},address:{$ref:"definitions.json#/definitions/address"}}},announcement_default={$schema:"http://json-schema.org/draft-07/schema",$id:"announcement.json",title:"Announcement",description:"Announcement message sent to users",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["announcement"],default:"announcement"},users:{type:"array",items:{type:"string"},minItems:1},group:{type:"string"},body:{type:"string"},media:{$ref:"mediaFile.json"},sentBy:{type:"string"},tags:{type:"array",items:{type:"string"}},createdAt:{$ref:"definitions.json#/definitions/date"},updatedAt:{$ref:"definitions.json#/definitions/date"}},additionalProperties:!1},automation_default={$schema:"http://json-schema.org/draft-07/schema",$id:"automation.json",title:"Automation",description:"An automation is a collection of triggers and actions",type:"object",required:["id","type","trigger","actions"],properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string",description:"The friendly name of the automation"},type:{type:"string",enum:["automation"],default:"automation"},isEnabled:{type:"boolean",description:"Whether the automation is currently enabled",default:!0},trigger:{type:"object",description:"The trigger that initiates the automation",required:["discriminator","schedule"],properties:{discriminator:{type:"string",enum:["time"],description:"Type of trigger"},schedule:{type:"object",description:"Schedule for time-based triggers",required:["days","time","timezone"],properties:{days:{type:"array",description:"Days of the week (0 = Sunday, 6 = Saturday)",items:{type:"integer",minimum:0,maximum:6}},time:{type:"string",description:"Time of day to trigger the automation"},timeOffsetSeconds:{type:"integer",description:"Offset in seconds from the scheduled time",default:0},repeat:{type:"boolean",description:"Whether the schedule repeats",default:!0},timezone:{type:"string",description:"Timezone for the schedule (IANA timezone format)"}}}}},actions:{type:"array",description:"Actions to perform when the trigger conditions are met",items:{type:"object",required:["deviceId","roomId","discriminator","state"],properties:{deviceId:{type:"string",description:"ID of the device to control"},roomId:{type:"string",description:"ID of the room containing the device"},discriminator:{type:"string",description:"Type discriminator for the device (e.g., 'windowCovering', 'switch')"},duration:{type:"integer",description:"Duration in seconds to keep the device in the configured state",minimum:0},state:{type:"array",items:{type:"object",required:["property","value"],properties:{property:{type:"string",description:"Property to set (e.g., 'state', 'level', 'setpoint')"},value:{type:["string","number","boolean"],description:"Value to set the property to"}}}}}},minItems:1},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"},lastTriggeredAt:{$ref:"definitions.json#/definitions/date",description:"When the automation was last triggered"}},additionalProperties:!1},camera_default={$schema:"http://json-schema.org/draft-07/schema",$id:"camera.json",title:"Camera",description:"Any smart camera",type:"object",required:["id","type","driver"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{type:"string",enum:["camera"],default:"camera"},offline:{type:"boolean"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},liveStreams:{type:"object",additionalProperties:!1,$comment:"This is now deprecated. Use liveStream instead. This will remain here for backwards compatibility.",properties:{iframe:{type:["string","null"]},hls:{type:["string","null"]},webRTC:{type:["string","null"]},rtsp:{type:["string","null"]}}},liveStream:{type:"object",additionalProperties:!1,properties:{id:{type:"string"},driver:{type:"string",enum:["cloudflare-stream","aws-kinesis","digital-watchdog","mediamtx"]},allowedOrigins:{type:"array",items:{type:"string"}},authRequired:{type:"boolean"},iframe:{type:["string","null"]},hls:{type:["string","null"]},webRTC:{type:["string","null"]},rtsp:{type:["string","null"],description:"Local RTSP stream URL",examples:["rtsp://192.168.1.4:544/channels/1","rtsp://10.145.6.129:8554/unicast"]},previewImage:{type:["string","null"],description:"Source to preview the camera stream",examples:["https://example.com/preview.jpg","data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QBYRXhpZgAATU0AKgAAAAgAA1EQAAEAAAABAQAAAFERAAQAAAABAAABAgABAA"]}}},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}}},category_default={$schema:"http://json-schema.org/draft-07/schema",$id:"category.json",title:"Category",type:"object",required:["id","type","discriminator"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["category"],default:"category"},name:{type:"string",minLength:1},driver:{$ref:"definitions.json#/definitions/driver"},description:{type:"string"},image:{$ref:"mediaFile.json"},rating:{type:"number",minimum:0,maximum:10,default:9},discriminator:{type:"string",enum:["space","product","mediaFile"]},systemId:{$ref:"definitions.json#/definitions/systemId"}}},courtesy_default={$schema:"http://json-schema.org/draft-07/schema",$id:"courtesy.json",title:"Courtesy",description:"Any smart courtesy system",type:"object",required:["id","type","driver","supportedStates","state"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},supportedStates:{type:"array",uniqueItems:!0,items:{enum:["privacy","service","none"]}},state:{type:"string",$ref:"#/properties/supportedStates/items"},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}}},credential_default={$schema:"http://json-schema.org/draft-07/schema",$id:"credential.json",title:"Credential",type:"object",required:["type","credential","expires"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"credential"},driver:{$ref:"definitions.json#/definitions/driver"},discriminator:{type:"string",enum:["verificationCode","token","mobileKey","pin","publicKey","passkeyChallenge"]},credential:{type:"string"},userId:{type:"string"},organizationId:{type:"string"},propertyId:{type:"string"},deviceId:{type:"string"},userAgent:{type:"string"},expires:{type:["string","object","null"]},systemId:{$ref:"definitions.json#/definitions/systemId"}}},deviceRouter_default={$schema:"http://json-schema.org/draft-07/schema",$id:"deviceRouter.json",title:"Device Router",description:"A device router contains instructions on where to route devices based on their organization and driver.",type:"object",required:["driver","organizationId"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"deviceRouter",enum:["deviceRouter"]},driver:{type:"string"},organizationId:{type:["string","null"],description:"Reference (id) to the organization that owns this router"},devices:{type:"object",additionalProperties:!0}}},dimmer_default={$schema:"http://json-schema.org/draft-07/schema",$id:"dimmer.json",title:"Dimmer",description:"Any smart dimmer",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},level:{type:["number","null"],minimum:0,maximum:100},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},required:["id","type","level","driver"]},discoveredDevice_default={$schema:"http://json-schema.org/draft-07/schema",$id:"discoveredDevice.json",title:"Discovered Device",description:"A device that has been discovered by Kohost, but not yet added to the Kohost system.",type:"object",required:["name","deviceId","deviceData"],properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},deviceId:{type:"string"},type:{type:"string",enum:["discoveredDevice"],default:"discoveredDevice"},discriminator:{$ref:"definitions.json#/definitions/type"},driver:{type:"string"},deviceData:{type:"object"},ignore:{type:"boolean"},organizationId:{type:["string","null"],description:"Reference (id) to the organization that owns this device"},propertyId:{type:["string","null"],description:"Reference (id) to the property that this device belongs to"}}},emailMessage_default={$schema:"http://json-schema.org/draft-07/schema",$id:"emailMessage.json",title:"Email Message",type:"object",required:["to","from","status","subject"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"emailMessage",enum:["emailMessage"]},to:{type:"string",pattern:"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$"},from:{type:"string",pattern:".*<[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+>.*",description:"Must be in the format of 'Sender <email@example.com>"},subject:{type:"string"},status:{type:"string",enum:["queued","sending","sent","deferred","delivered","undelivered","bounced","blocked","receiving","received","opened","clicked","unsubscribed","spamReport"]},statusMessage:{type:"string"},html:{type:"string"},text:{type:"string"},driver:{type:"string"},appData:{type:"object"},createdAt:{$ref:"definitions.json#/definitions/date"},updatedAt:{$ref:"definitions.json#/definitions/date"},systemId:{$ref:"definitions.json#/definitions/systemId"}}},energyReport_default={$schema:"http://json-schema.org/draft-07/schema",$id:"energyReport.json",title:"Energy Report",description:"Hourly Report for Energy based on energy report shards",type:"object",required:["id","type","roomId","first","last","consumption","totals","costPerKw"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["energyReport"],default:"energyReport"},reportTime:{type:"string",enum:["hourly","daily","monthly"]},roomId:{$ref:"definitions.json#/definitions/id"},first:{type:["string","object"],format:"date-time"},last:{type:["string","object"],format:"date-time"},consumption:{type:"array",items:{type:"object",required:["id","type","kwh"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{$ref:"definitions.json#/definitions/type"},kwh:{type:"number",minimum:0}}}},totals:{type:"array",items:{type:"object",required:["lights","climate","media"],properties:{lights:{type:"number",minimum:0},climate:{type:"number",minimum:0},media:{type:"number",minimum:0}}}},costPerKw:{type:"number",minimum:0}}},energyReportShard_default={$schema:"http://json-schema.org/draft-07/schema",$id:"energyReportShard.json",title:"Energy Report Shard",description:"Shard used for Energy Reports",type:"object",required:["id","type","roomId","first","last","data","ndata","expires"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["energyReportShard"],default:"energyReportShard"},roomId:{$ref:"definitions.json#/definitions/id"},first:{type:["string","object"],format:"date-time"},last:{type:["string","object"],format:"date-time"},data:{type:"array",items:{type:"object",required:["time","watts","id","type","value"],properties:{time:{type:["string","object"],format:"date-time"},watts:{$ref:"definitions.json#/definitions/watts"},id:{$ref:"definitions.json#/definitions/id"},type:{$ref:"definitions.json#/definitions/type"},value:{type:"number",minimum:0,maximum:1}}}},ndata:{type:"integer",minimum:0,maximum:1e5,default:0},expires:{type:["string","object"],format:"date-time"}}},gateway_default={$schema:"http://json-schema.org/draft-07/schema",$id:"iotGateway.json",title:"Gateway",description:"Any smart gateway that is an entrypoint for controlling devices",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},offline:{type:"boolean"},type:{$ref:"definitions.json#/definitions/type"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},status:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"},driver:{$ref:"definitions.json#/definitions/driver"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},required:["id","type","status","driver"]},identification_default={$schema:"http://json-schema.org/draft-07/schema",$id:"identification.json",title:"Identification",type:"object",required:["type"],additionalProperties:!1,oneOf:[{required:["number"]},{required:["encryptedNumber"]}],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["driversLicense","passport","identityCard","visa"]},number:{type:"string"},maskedNumber:{type:"string"},encryptedNumber:{type:"string"},issued:{type:["string","object"],format:"date-time"},expires:{type:["string","object","null"],format:"date-time"},verified:{type:"boolean"},matched:{type:"boolean"},firstName:{type:"string"},lastName:{type:"string"},issuingCountry:{type:"string",minLength:2,maxLength:2},systemId:{$ref:"definitions.json#/definitions/systemId"}}},issue_default={$schema:"http://json-schema.org/draft-07/schema",$id:"issue.json",title:"Issue",description:"An issue associated with ticketing and concierge.",type:"object",required:["id","type","name","department"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["issue"],default:"issue"},name:{type:"string"},description:{type:"string"},department:{type:"string"},autoAssign:{type:"object",properties:{userId:{type:"string",description:"The user ID to assign tickets with this issue to."},vendorId:{type:"string",description:"The vendor ID to assign tickets with this issue to."},priority:{$ref:"ticket.json#/properties/priority",description:"The priority to assign tickets with this issue to."},tags:{type:"array",items:{type:"string"}}}},notify:{type:"array",description:"A list of entities to notify when this issue is triggered.",default:[],items:{type:"object",required:["id","discriminator"],properties:{id:{type:"string",description:"The ID of the entity to notify."},discriminator:{type:"string",enum:["user"]}}}},systemKey:{type:"string"},autoCreateTicket:{type:"boolean",default:!0},excludedResources:{type:"array",description:"A list of resources that should not trigger notifications of this issue",items:{type:"string"},default:[]}}},lock_default={$schema:"http://json-schema.org/draft-07/schema",$id:"lock.json",title:"Lock",description:"Any smart lock",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},offline:{type:"boolean"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},state:{type:["string","null"],enum:["locked","unlocked",null]},mode:{type:["string","null"],enum:["normal","autoLock","emergencyOpen","emergencyClose","holdOpen","lockdown",null],description:"emergencyOpen and emergencyClose are deprecated and can be removed once Salto, Paxton and Geovision drivers are updated",default:null},supportedModes:{type:"array",uniqueItems:!0,items:{enum:["normal","autoLock","emergencyOpen","emergencyClose","holdOpen","lockdown",null]}},batteryLevel:{$ref:"definitions.json#/definitions/batteryLevel"},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},required:["id","type","state","driver"]},log_default={$schema:"http://json-schema.org/draft-07/schema",$id:"log.json",title:"Log",type:"object",required:["type","timestamp","id","driver","name"],properties:{type:{type:"string",default:"log",enum:["log"]},timestamp:{type:"number",minimum:1655907956593},id:{$ref:"definitions.json#/definitions/id"},driver:{$ref:"definitions.json#/definitions/driver"},name:{type:"string",description:"Event name"},field1:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field2:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field3:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field4:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field5:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field6:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}}}},mediaFile_default={$schema:"http://json-schema.org/draft-07/schema",$id:"mediaFile.json",title:"Media File",description:"Any media file",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"mediaFile",enum:["mediaFile"]},name:{type:"string"},fileHash:{type:"string"},category:{type:"string",description:"This is the category id"},mimeType:{type:"string",enum:["image/*","image/jpeg","image/png","image/gif","image/webp","image/avif","image/svg+xml","application/pdf"]},data:{type:"string"},url:{type:"string",format:"uri"},width:{type:"integer",minimum:0},height:{type:"integer",minimum:0},size:{type:"integer",minimum:0,description:"Size in bytes"},uploadUrl:{type:"string",format:"uri"},uploadUrlExpires:{$ref:"definitions.json#/definitions/date"},createdBy:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"}},additionalProperties:!1,required:["type"]},mediaSource_default={$schema:"http://json-schema.org/draft-07/schema",$id:"mediaSource.json",title:"Media Source",description:"Any media source",type:"object",required:["id","type","discriminator","audio","video","driver"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"mediaSource",enum:["mediaSource"]},discriminator:{type:"string",enum:["tv","dvr","appleTv","discPlayer","mediaPlayer","paSystem","uncontrolledDevice"]},playlists:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{$ref:"definitions.json#/definitions/name"}}}},remote:{type:"string",enum:["MR22GA","XRT260","XRT270","HOF-16K 1.2","219863500","SONIFI","AKB76039803","BN59-01388A"]},name:{$ref:"definitions.json#/definitions/name"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},audio:{type:"boolean"},video:{type:"boolean"},powerFeedback:{type:"boolean"},volumeFeedback:{type:"boolean"},muted:{type:"boolean"},volume:{type:"number",minimum:0,maximum:100},brightness:{type:"number",minimum:0,maximum:100},contrast:{type:"number",minimum:0,maximum:100},power:{type:"string",enum:["on","off"]},input:{type:"string"},supportedInputs:{type:"array",items:{type:"string"}},supportedOutputs:{type:"array",items:{type:"string"}},command:{type:["string","null"],enum:["mute","volumeUp","volumeDown","brightnessUp","brightnessDown","channelUp","channelDown","number0","number1","number2","number3","number4","number5","number6","number7","number8","number9","lastChannel","display","favoriteChannel","play","playing","stop","stopped","pause","paused","fastForward","fastForwarding","rewind","rewinding","instantReplay","record","ac3","pvrMenu","guide","menu","menuUp","menuDown","menuLeft","menuRight","pageUp","pageDown","select","exit","input","power","enterChannel","enterVolume","enterBrightness","enterContrast","number10","number11","number12","number13","number14","number15","number16","number10Plus","number20Plus","number100","dash","threeChan","threeD","sixChan","a","add","alarm","am","analog","angle","antenna","antennaEast","antennaWest","aspect","audio1","audio2","audio3","audioDumming","audioLevelDown","audioLevelUp","b","back","c","component1","component2","component3","d","home","list","liveTv","discreteInputCable","powerOff","powerOn","setupMenu","skipForward","skipReverse","video1","video2","video3","video4","video5","details","hdmi1","hdmi2","hdmi3","cecDeviceList","mtsSap","red","green","yellow","blue","alert","order"]},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},additionalProperties:!1},motionSensor_default={$schema:"http://json-schema.org/draft-07/schema",$id:"motionSensor.json",title:"Motion Sensor",description:"Any smart motion sensor",type:"object",required:["id","type","driver"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},offline:{type:"boolean"},driver:{$ref:"definitions.json#/definitions/driver"},systemId:{$ref:"definitions.json#/definitions/systemId"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}}},order_default={$schema:"http://json-schema.org/draft-07/schema",$id:"order.json",title:"Order",description:"A purchase order for products or services.",type:"object",required:["type","status"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"order",enum:["order"]},orderNumber:{type:"string"},status:{type:"string",enum:["draft","pendingPayment","processing","outForDelivery","completed","paymentFailed","cancelled","refunded"]},userId:{$ref:"definitions.json#/definitions/id",description:"User id of purchaser"},reservationId:{$ref:"definitions.json#/definitions/id",description:"Reservation id if the order is for a reservation"},date:{$ref:"definitions.json#/definitions/date"},items:{type:"array",default:[],items:{type:"object",required:["name","price"],properties:{additionalProperties:!1,name:{type:"string"},sku:{type:"string"},quantity:{type:"number",default:1},price:{type:"number"},taxClass:{type:"string"},deliveryClass:{type:"string"},productId:{type:"string"}}}},taxes:{type:"array",default:[],items:{type:"object",required:["name","rate"],properties:{additionalProperties:!1,name:{type:"string"},class:{type:"string"},rateType:{type:"string",enum:["percentage","flat"],default:"percentage"},rate:{type:"number"},total:{type:"number"}}}},fees:{type:"array",default:[],items:{type:"object",required:["name","price"],properties:{additionalProperties:!1,name:{type:"string"},price:{type:"number"}}}},delivery:{type:"array",default:[],items:{type:"object",required:["name","rate"],properties:{additionalProperties:!1,name:{type:"string"},class:{type:"string"},rateType:{type:"string",enum:["percentage","flat"],default:"percentage"},rate:{type:"number"},total:{type:"number"}}}},payments:{type:"array",default:[],items:{type:"object",properties:{method:{type:"string",enum:["folio","invoice","amex","visa","masterCard","maestro","discover","diners","jcb","applePay","alipay","chinaUnionPay","vpay"]},name:{type:"string"},date:{$ref:"definitions.json#/definitions/date"},amount:{type:"number"},transactionReference:{type:"string"}}}}}},organization_default={$schema:"http://json-schema.org/draft-07/schema",$id:"organization.json",title:"Organization",type:"object",description:"An organization is a group or entity that subscribes to Kohost software.",required:["accountNumber","name"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"organization",enum:["organization"]},accountNumber:{type:["number","null"],minimum:1e4},name:{type:"string"},properties:{type:"array",items:{type:"string"}},hostname:{type:["string","null"]},appManifest:{type:"object",properties:{name:{type:"string"},short_name:{type:"string"},scope:{type:"string"},start_url:{type:"string"},themeColor:{type:"string"},backgroundColor:{type:"string"},display:{type:"string",enum:["fullscreen","standalone","minimal-ui","browser"],default:"fullscreen"},orientation:{type:"string",enum:["portrait","landscape"],default:"portrait"},splash:{type:"object",properties:{src:{type:"string"},type:{type:"string"},sizes:{type:"string"}}},icons:{type:"array",items:{type:"object",properties:{src:{type:"string"},sizes:{type:"string"},type:{type:"string"}}}},logo:{type:"object",properties:{src:{type:"string"},type:{type:"string"},sizes:{type:"string"}}}},default:{name:"Kohost",short_name:"Kohost",start_url:"/",scope:"/",display:"fullscreen",orientation:"portrait",theme_color:"#1d1f22",background_color:"#1d1f22",icons:[{src:"https://images.kohost.io/cdn-cgi/imagedelivery/vcVX2aBwdFSYr66spcFKaA/9c85047f-ccba-4b1c-3070-5463fbe93b00/w=512",sizes:"512x512",type:"image/png"}],splash:{src:"https://images.kohost.io/cdn-cgi/imagedelivery/vcVX2aBwdFSYr66spcFKaA/034fb112-5326-4d37-373e-d1cc2a4d0400/w=1500",sizes:"1500x800",type:"image/jpg"},logo:{src:"https://images.kohost.io/cdn-cgi/imagedelivery/vcVX2aBwdFSYr66spcFKaA/1e54c54d-3bac-4745-f46f-c2f98036af00/h=75",sizes:"300x75",type:"image/png"}}},tickets:{type:"object",properties:{nextTicketNumber:{type:["string","integer"],default:1}}},credentials:{type:"object",additionalProperties:!0},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"}}},payment_default={$schema:"http://json-schema.org/draft-07/schema",$id:"payment.json",title:"Payment",type:"object",required:["type","maskedNumber","expires"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["amex","visa","masterCard","maestro","discover","diners","jcb","applePay","alipay","chinaUnionPay","vpay"]},enabled:{type:"boolean",default:!0},storageData:{type:["string","null"]},maskedNumber:{type:"string"},issued:{type:["string","null"]},expires:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"}}},policy_default={$schema:"http://json-schema.org/draft-07/schema",$id:"policy.json",title:"Policy",description:"A policy is a set of permissions that can be applied to a user to limit their access to resources.",type:"object",required:["name","type","organizationId","propertyId","permissions","discriminator"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"policy",enum:["policy"]},discriminator:{type:"string",enum:["user"]},name:{type:"string",minLength:1},description:{type:"string"},organizationId:{type:"string"},propertyId:{type:"string"},permissions:{type:"array",items:{type:"object",required:["entities","effect"],properties:{entities:{type:"array",items:{type:"string",pattern:"^[^:]+(:.+)+$"}},effect:{type:"string",enum:["Allow","Deny"]}}}}}},product_default={$schema:"http://json-schema.org/draft-07/schema",$id:"product.json",title:"Product",type:"object",required:["name","price","driver"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"product",enum:["product"]},name:{type:"string"},driver:{$ref:"definitions.json#/definitions/driver"},description:{type:"string"},price:{type:"number"},tax:{type:["number","null"]},image:{$ref:"mediaFile.json"},category:{type:"string"},imageUrl:{type:"string",format:"uri",pattern:"^https?://"},systemId:{$ref:"definitions.json#/definitions/systemId"}}},property_default={$schema:"http://json-schema.org/draft-07/schema",$id:"property.json",title:"Property",type:"object",description:"A property is a physical asset or building",required:["id","name","type","organization","timezone","discriminator"],properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{type:"string",default:"property",enum:["property"]},discriminator:{type:"string",enum:["hospitality","education","commercial","storage"]},organization:{type:["string","null"],description:"Reference (id) to the organization that owns this property"},departments:{type:"array",items:{type:"string"}},testModeEnabled:{type:"boolean"},testMode:{type:"object",properties:{notificationEmails:{type:"array",items:{type:"string"},description:"Only users with these email addresses will receive notifications in test mode, including sms, email, or push."},notificationEmailDomains:{type:"array",items:{type:"string"},description:"Only users with email addreses ending in these domains will receive notifications in test mode, including sms, email, or push."}}},timezone:{type:"string",description:"IANA timezone string",pattern:"^([a-zA-Z]+/[a-zA-Z_]+)$",examples:["America/New_York","America/Los_Angeles"]},smsNumber:{type:"string"},checkInTime:{type:"string"},checkOutTime:{type:"string"},address:{$ref:"definitions.json#/definitions/address"},latitude:{type:"number"},longitude:{type:"number"},appFeatures:{type:"object",properties:{RoomControl:{type:"object",properties:{disabledSystems:{type:"array",items:{type:"string",enum:["climate","lights","shades","tv","doors"]}},excludedDeviceIds:{type:"array",items:{type:"string"},default:[]},commonAreas:{type:"object",properties:{spaces:{type:"array",items:{type:"string"}}}},alarmConfig:{type:"object",patternProperties:{"^[a-zA-Z0-9]+$":{type:"object",properties:{zoneLockMap:{type:"object",description:"Maps zone numbers to lock ids",additionalProperties:{type:"string"}}}}},examples:[{wZz7hucY:{zoneLockMap:{1:"wc87hucc",2:"bc86hzxc",3:"zv5ah5jv"}}}]}},additionalProperties:!1},CheckIn:{type:"object",properties:{payment:{},identification:{},earlyCheckIn:{type:"object",required:["dynamic"],properties:{dynamic:{type:"boolean",default:!1},minimumPrice:{type:"number",default:10},maximumPrice:{type:"number",default:50},priceRatioPerHour:{type:"number",default:.1},minimumTime:{type:"string"}}},roomUpgrades:{},pet:{},promos:{}}},CheckOut:{type:"object",properties:{lateCheckOut:{type:"object",required:["dynamic"],properties:{dynamic:{type:"boolean",default:!1},minimumPrice:{type:"number",default:10},maximumPrice:{type:"number",default:50},priceRatioPerHour:{type:"number",default:.1}}}}},Concierge:{type:"object",properties:{timeTracking:{type:"boolean",default:!1},tipping:{type:"boolean",default:!1},feedback:{type:"boolean",default:!0},ratings:{type:"boolean",default:!0},newTicketCCs:{type:"array",items:{type:"string"},default:[]},newMessageChannel:{type:["string","null"],enum:["sms","email"],default:"sms",description:"Determines how users should be notified of new messages in the concierge system"},quickServices:{type:"array",items:{type:"object",properties:{name:{type:"string"},description:{type:"string"},department:{type:"string"},image:{$ref:"mediaFile.json"}},required:["name","description","image"]}},issues:{type:"object",properties:{syncWithPropertyId:{type:"string"}}}}},DigitalKey:{type:"object",properties:{system:{type:"string",enum:["salto","dormakaba"]},systemOnline:{type:"boolean",default:!1},systemConfig:{type:"object",properties:{legicUrl:{type:"string",format:"uri"},legicWalletName:{type:"string"},legicAppId:{type:"number"},legicTechUsername:{type:"string"},legicTechPassword:{type:"string"}},additionalProperties:!1,default:{}},enableApp:{type:"boolean"},branding:{type:"object",properties:{logo:{type:"string",format:"uri"},gradient:{type:"array",items:{type:"string",pattern:"^(?!#ffffff)(#[0-9a-fA-F]{6})$"},minItems:2,maxItems:2},highlightedGradient:{type:"array",items:{type:"string",pattern:"^(?!#ffffff)(#[0-9a-fA-F]{6})$"},minItems:2,maxItems:3}}}}},SOS:{type:"object",properties:{active:{type:"boolean"},activeEmergencies:{type:"array",items:{type:"string",enum:["medical","fire","suspiciousPerson","other","conflict","shooter"]}}}},Elevator:{type:"object"},Experiences:{type:"object"},Dining:{type:"object",properties:{system:{type:"string",enum:["gotab"]},systemConfig:{type:"object",properties:{landingUrl:{type:"string",format:"uri"},includeUserDetails:{type:"boolean"}},additionalProperties:!1}}},Rentals:{type:"object"},Shop:{type:"object"},Spa:{type:"object"},Valet:{type:"object"}},additionalProperties:!1,default:{RoomControl:{}}},notifications:{type:"object",properties:{email:{type:"object",properties:{enabled:{type:"boolean"}},additionalProperties:!1},sms:{type:"object",properties:{enabled:{type:"boolean"}},additionalProperties:!1},push:{type:"object",properties:{enabled:{type:"boolean"}},additionalProperties:!1}},additionalProperties:!1,default:{email:{enabled:!1},sms:{enabled:!1},push:{enabled:!1}}},credentials:{type:"object",additionalProperties:!0}}},reservation_default={$schema:"http://json-schema.org/draft-07/schema",$id:"reservation.json",title:"Reservation",type:"object",required:["type","status","checkInDateTime","checkOutDateTime"],properties:{id:{$ref:"definitions.json#/definitions/id"},driver:{$ref:"definitions.json#/definitions/driver"},primaryGuest:{type:"string"},type:{type:"string",default:"reservation",enum:["reservation"]},sharedGuests:{type:"array",items:{type:"string"}},spaceCategory:{type:"string"},space:{type:["string","null"]},previousSpace:{type:["string","null"],default:null,description:"Used when there was a space assigned and it changes"},status:{type:"string",enum:["reserved","checkedIn","checkedOut","cancelled","noShow","enquired","requested","optional"],description:" reserved - confirmed by both parties, before check-in\n checkedIn - checked in\n checkedOut - checked out\n cancelled - Cancelled\n noShow - No show\n enquired - Confirmed neither by the customer nor enterprise\n requested - Confirmed by the customer but not the enterprise (waitlist)\n optional - Confirmed by the enterprise but not the customer (holding)"},mobileCheckInSpaceCategoryChanged:{type:"boolean",description:"spaceCategory has changed from original."},mobileCheckInSpaceChanged:{type:"boolean"},mobileCheckInStatus:{type:"string",enum:["ready","blocked","preArrivalStepsRequired","spaceNotAssigned","spaceNotReady","checkInTimeNotStarted"]},mobileCheckInStatusMessage:{type:"string"},confirmationNumber:{type:"string"},expectedCheckInDateTime:{type:["string","object"],format:"date-time",description:"Expected arrival time of guest."},checkInDateTime:{type:["string","object"],format:"date-time"},checkOutDateTime:{type:["string","object"],format:"date-time"},adultCount:{type:"number",default:1,minimum:1},childCount:{type:"number",default:0},spaceCategoryAvailabilites:{type:"array",items:{type:"object",properties:{id:{type:"string"},price:{type:"number"},unit:{type:"string",enum:["night","stay","hour"]},isUpgrade:{type:"boolean"}}}},revenue:{$ref:"definitions.json#/definitions/revenue"},rateSuppressed:{type:"boolean"},payment:{type:"string"},company:{type:"string"},travelAgent:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"},metadata:{$ref:"definitions.json#/definitions/metadata"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"}}},room_default={$schema:"http://json-schema.org/draft-07/schema",$id:"room.json",title:"Room",description:"A room represents a physical space of controllable IoT devices",type:"object",required:["id","name"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["room"],default:"room"},name:{type:"string"},floor:{type:"string"},dimmers:{type:"array",default:[],items:{$ref:"dimmer.json"}},switches:{type:"array",default:[],items:{$ref:"switch.json"}},thermostats:{type:"array",default:[],items:{$ref:"thermostat.json"}},locks:{type:"array",default:[],items:{$ref:"lock.json"}},windowCoverings:{type:"array",default:[],items:{$ref:"windowCovering.json"}},courtesy:{type:"array",default:[],items:{$ref:"courtesy.json"}},cameras:{type:"array",default:[],items:{$ref:"camera.json"}},mediaSources:{type:"array",default:[],items:{$ref:"mediaSource.json"}},motionSensors:{type:"array",default:[],items:{$ref:"motionSensor.json"}},alarms:{type:"array",default:[],items:{$ref:"alarm.json"}},occupiedAt:{$ref:"definitions.json#/definitions/createdAt"},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"}},additionalProperties:!1},scene_default={$schema:"http://json-schema.org/draft-07/schema",$id:"scene.json",title:"Scene",description:"A room represents a physical space of controllable IoT devices",type:"object",required:["id","name","type"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},description:{type:"string"},type:{type:"string",enum:["scene"],default:"scene"},devices:{type:"object",properties:{switches:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},state:{$ref:"switch.json#/properties/state"}},default:[]}},dimmers:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},level:{$ref:"dimmer.json#/properties/level"}}},default:[]},windowCoverings:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},position:{$ref:"windowCovering.json#/properties/position"}}},default:[]},thermostats:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},hvacMode:{$ref:"thermostat.json#/properties/hvacMode"},setpoints:{$ref:"thermostat.json#/properties/setpoints"},fanMode:{$ref:"thermostat.json#/properties/fanMode"},setpointDelta:{type:"number"}}},default:[]},mediaSources:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},volume:{type:"number",minimum:0,maximum:100},commands:{type:"array",items:{type:"string"}}}}},locks:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},state:{$ref:"lock.json#/properties/state"},mode:{$ref:"lock.json#/properties/mode"}}}}},additionalProperties:!1},isDefault:{type:"boolean",default:!1},showOnUi:{type:"boolean",default:!0}}},shortLink_default={$schema:"http://json-schema.org/draft-07/schema",$id:"shortLink.json",title:"Short Link",type:"object",required:["destination","url"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"shortLink",enum:["shortLink"]},title:{type:"string"},destination:{type:"string",format:"uri"},url:{type:"string",format:"uri"},systemId:{$ref:"definitions.json#/definitions/systemId"}}},smsMessage_default={$schema:"http://json-schema.org/draft-07/schema",$id:"smsMessage.json",title:"Sms Message",type:"object",required:["to","from","status"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"smsMessage",enum:["smsMessage","whatsappMessage"]},to:{type:"string"},from:{type:"string"},media:{type:"string",format:"uri"},status:{type:"string",enum:["queued","accepted","sending","sent","failed","delivered","undelivered","receiving","received","read"]},body:{type:"string"},driver:{type:"string"},appData:{type:"object"},createdAt:{$ref:"definitions.json#/definitions/date"},updatedAt:{$ref:"definitions.json#/definitions/date"},systemId:{$ref:"definitions.json#/definitions/systemId"}}},space_default={$schema:"http://json-schema.org/draft-07/schema",$id:"space.json",title:"Space",type:"object",required:["id","name","type","discriminator"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string",minLength:1},type:{type:"string",default:"space",enum:["space"]},discriminator:{type:"string",enum:["classRoom","hotelRoom","office","building","commonArea","conferenceRoom","lobby","gym","pool","restaurant","unit"]},driver:{$ref:"definitions.json#/definitions/driver"},category:{type:"string",description:"This is the category id"},rooms:{type:"array",items:{type:"string"}},subGroups:{type:"array",items:{type:"string"}},occupied:{type:"boolean"},inUse:{type:"boolean"},eco:{type:"object",additionalProperties:!1,default:{active:!1,allowed:!1,previousState:null},properties:{active:{type:"boolean",default:!1},activatedAt:{type:["string","object"],format:"date-time"},allowed:{type:"boolean",default:!1},previousState:{type:["object","null"],properties:{thermostats:{type:"object",patternProperties:{".*":{type:"object",properties:{setpoints:{$ref:"thermostat.json#/properties/setpoints"}}}}}},additionalProperties:!1}}},features:{type:"array",items:{type:"string",enum:["pet"]}},maximumOccupancy:{type:"number",minimum:1},housekeepingStatus:{type:"string",enum:["clean","dirty","inspected","pickup"]},serviceStatus:{type:"string",enum:["inService","outOfOrder","outOfService"]},systemId:{$ref:"definitions.json#/definitions/systemId"}}},switch_default={$schema:"http://json-schema.org/draft-07/schema",$id:"switch.json",title:"Switch",description:"Any smart switch",type:"object",required:["id","type","state","driver"],properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},discriminator:{type:"string",enum:["light","fan","irrigation"]},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},state:{type:"string",enum:["on","off"]},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"},restoresAt:{type:"string",format:"date-time"}}},systemUser_default={$schema:"http://json-schema.org/draft-07/schema",$id:"systemUser.json",title:"System User",description:"A system user is a user that originated from an external 3rd party system.",type:"object",required:["id","firstName","lastName"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"systemUser",enum:["systemUser"]},driver:{$ref:"definitions.json#/definitions/driver"},firstName:{type:"string"},lastName:{type:"string"},phone:{type:["string","null"],pattern:"^\\+[0-9]{1,14}$"},email:{type:["string","null"],format:"email"},address:{$ref:"definitions.json#/definitions/address"},photo:{type:"string"},jobTitle:{type:"string"},dob:{type:"string"},gender:{type:"string",enum:["male","female"]},roles:{type:"array",items:{type:"string",enum:["Guest","User","Manager","Maintenance","Administrator","SuperAdmin"]}},nationality:{type:"string",minLength:2,maxLength:2},notes:{type:"array",items:{type:"string"}},files:{type:"array",items:{$ref:"mediaFile.json#"}},identifications:{type:"array",items:{$ref:"identification.json#"}},payments:{type:"array",items:{$ref:"payment.json#"}},revenue:{$ref:"definitions.json#/definitions/revenue"},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"},systemId:{$ref:"definitions.json#/definitions/systemId"}}},thermostat_default={$schema:"http://json-schema.org/draft-07/schema",$id:"thermostat.json",title:"Thermostat",description:"Any smart thermostat",type:"object",required:["id","type","hvacMode","fanMode","hvacState","fanState","setpoints","temperatureScale","supportedHvacModes","supportedFanModes","driver"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{$ref:"definitions.json#/definitions/name"},type:{$ref:"definitions.json#/definitions/type",default:"thermostat"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},currentTemperature:{type:"number"},currentHumidity:{type:"number",minimum:0},hvacMode:{type:"string",$ref:"#/properties/supportedHvacModes/items"},hvacState:{type:["string","null"],enum:["cooling","heating","off",null]},fanMode:{type:"string",$ref:"#/properties/supportedFanModes/items"},fanState:{type:["string","null"],enum:["off","low","medium","high","on",null]},temperatureScale:{type:"string",enum:["celsius","fahrenheit"],default:"fahrenheit"},humidityScale:{type:["string","null"],enum:["absolute","relative",null]},supportedHvacModes:{type:"array",uniqueItems:!0,minItems:2,items:{enum:["cool","heat","auto","off"]}},supportedFanModes:{type:"array",uniqueItems:!0,items:{enum:["auto","low","medium","high","off","on"]}},setpoints:{type:"object",additionalProperties:!1,properties:{cool:{$ref:"#/$defs/setpoint"},heat:{$ref:"#/$defs/setpoint"},auto:{$ref:"#/$defs/setpoint"}}},minAutoDelta:{type:"number",default:3},cycleRate:{type:"number"},batteryLevel:{$ref:"definitions.json#/definitions/batteryLevel"},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},$defs:{setpoint:{type:"object",additionalProperties:!1,properties:{value:{$ref:"#/$defs/setpointValue"},min:{$ref:"#/$defs/setpointMinMax"},max:{$ref:"#/$defs/setpointMinMax"}}},setpointValue:{type:"number",minimum:0,maximum:99},setpointMinMax:{type:["number","null"],minimum:0,maximum:99}}},ticket_default={$schema:"http://json-schema.org/draft-07/schema",$id:"ticket.json",title:"Ticket",description:"A ticket is a request from a user.",type:"object",required:["id","conversation","requester","status","tags","createdAt","updatedAt"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["ticket"],default:"ticket"},number:{type:"string"},issueId:{type:"string"},conversation:{type:"array",default:[],items:{type:"object",additionalProperties:!1,required:["id","discriminator","timestamp","body"],properties:{id:{type:"string"},discriminator:{type:"string",enum:["message","opened","assigned","rated","tipped","scheduled","collaboratorAdded","collaboratorRemoved","statusChanged","priorityChanged","scheduleDateChanged","locationChanged"],default:"message"},userId:{type:"string"},userName:{type:"string"},vendorId:{type:"string"},vendorName:{type:"string"},systemId:{type:"string"},systemName:{type:"string"},timestamp:{$ref:"definitions.json#/definitions/createdAt"},body:{type:"string"},parsedBody:{type:"object",additionalProperties:!1,properties:{text:{type:"string"},mentions:{type:"array",default:[],items:{type:"object",additionalProperties:!1,required:["discriminator","id","index","length","originalText"],properties:{id:{type:"string"},discriminator:{type:"string",enum:["user","vendor","system"]},index:{type:"integer"},length:{type:"integer"},originalText:{type:"string"}}}}}},readBy:{type:"array",default:[],items:{type:"string"}},media:{anyOf:[{$ref:"mediaFile.json"},{type:"null"}]}}}},subject:{type:"string"},openedBy:{type:"object",properties:{userId:{type:"string"},userName:{type:"string"},systemId:{type:"string"},systemName:{type:"string"}}},requester:{type:"object",properties:{systemId:{type:"string"},systemName:{type:"string"},systemPhoto:{anyOf:[{$ref:"mediaFile.json"},{type:"null"},{type:"string"}]},userId:{type:"string"},userName:{type:"string"},userPhoto:{anyOf:[{$ref:"mediaFile.json"},{type:"null"},{type:"string"}]},deviceId:{type:"string"},roomId:{type:"string"},reservationId:{type:"string"},spaceId:{type:"string"},spaceName:{type:"string"}}},assignedTo:{type:"object",properties:{userId:{type:"string"},userName:{type:"string"},userPhoto:{anyOf:[{$ref:"mediaFile.json"},{type:"null"},{type:"string"}]},vendorId:{type:"string"},vendorName:{type:"string"},vendorPhoto:{anyOf:[{$ref:"mediaFile.json"},{type:"null"},{type:"string"}]}}},notify:{type:"array",description:"A list of entities to notify when this ticket is created or resolved.",default:[],items:{type:"object",required:["id","discriminator"],additionalProperties:!1,properties:{id:{type:"string",description:"The ID of the entity to notify."},discriminator:{type:"string",enum:["user"]}}}},collaborators:{type:"array",default:[],items:{type:"object",required:["id","name","discriminator"],additionalProperties:!1,properties:{id:{type:"string"},name:{type:"string"},discriminator:{type:"string",enum:["user","vendor"]}}}},location:{type:"object",required:["discriminator","name"],additionalProperties:!1,properties:{id:{type:"string"},discriminator:{type:"string",enum:["space","room","property","customText"]},name:{type:"string"}}},status:{type:"string",enum:["open","pending","solved","closed"],default:"open"},priority:{type:"string",enum:["low","normal","high"],default:"normal"},tags:{type:"array",default:[],items:{type:"string"}},department:{type:"string"},rating:{type:"number",minimum:0,maximum:5},ratingComment:{type:"string"},tipAmount:{type:"string"},autoCloseAt:{$ref:"definitions.json#/definitions/date"},scheduleDate:{$ref:"definitions.json#/definitions/date"},createdAt:{$ref:"definitions.json#/definitions/date"},updatedAt:{$ref:"definitions.json#/definitions/date"},solvedAt:{$ref:"definitions.json#/definitions/date"},closedAt:{$ref:"definitions.json#/definitions/date"}}},timeSheet_default={$schema:"http://json-schema.org/draft-07/schema",$id:"timeSheet.json",title:"Time Sheet",type:"object",required:["userId","day"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"timeSheet",enum:["timeSheet"]},userId:{$ref:"definitions.json#/definitions/id"},day:{type:["string","object"],format:"date-time"},locked:{type:"boolean",default:!1,description:"If true, the time sheet is locked and cannot be modified"},timeEntries:{type:"array",default:[],items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},discriminator:{type:"string",enum:["working","driving","meeting","break"]},start:{type:["string","object"],format:"date-time"},end:{type:["string","object"],format:"date-time"},comment:{type:"string"},ticketId:{type:"string"}},required:["start","discriminator"],additionalProperties:!1}}}},user_default={$schema:"http://json-schema.org/draft-07/schema",$id:"user.json",title:"User",type:"object",required:["id","firstName","lastName"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"user"},firstName:{type:"string"},lastName:{type:"string"},phone:{type:["string","null"],pattern:"^\\+[0-9]{1,14}$"},phoneVerified:{type:"boolean"},email:{type:["string","null"],format:"email"},emailVerified:{type:"boolean"},whatsapp:{type:["string","null"],pattern:"^\\+[0-9]{1,14}$"},whatsappVerified:{type:"boolean"},address:{$ref:"definitions.json#/definitions/address"},secretKey:{type:"string"},photo:{$ref:"mediaFile.json#"},jobTitle:{type:"string"},dob:{type:"string"},gender:{type:"string",enum:["male","female"]},nationality:{type:"string",minLength:2,maxLength:2},permissions:{type:"array",default:[],items:{type:"object",required:["organizationId","propertyId","role"],properties:{organizationId:{type:"string",description:"The ID of the organization the permission is applies to."},propertyId:{type:"string",description:"The ID of the property the permission is applies to."},role:{type:"string",enum:["Guest","User","Agent","Manager","Maintenance","Administrator","SuperAdmin"]},timeTrackingEnabled:{type:"boolean",description:"Whether time tracking is enabled for this role."},department:{type:"string",description:"The department the user belongs to."},policyIds:{type:"array",items:{type:"string",description:"ID of a policy that is applied to this role."}},policies:{type:"array",items:{description:"A policy object populated from the policyIds array.",$ref:"policy.json"}}},additionalProperties:!1}},preferences:{type:"array",items:{type:"object",additionalProperties:!1,required:["organizationId","propertyId"],properties:{organizationId:{type:"string"},propertyId:{type:"string"},notifications:{type:"array",items:{type:"object",additionalProperties:!1,required:["discriminator","enabled"],properties:{discriminator:{type:"string",enum:["observerTicketCreated","observerTicketResolved"]},enabled:{type:"boolean"}}}}}}},notes:{type:"array",items:{type:"string"}},files:{type:"array",items:{$ref:"mediaFile.json#"}},identifications:{type:"array",items:{$ref:"identification.json#"}},payments:{type:"array",items:{$ref:"payment.json#"}},location:{type:"object",required:["accuracy","latitude","longitude","timestamp"],additionalProperties:!1,properties:{accuracy:{type:["number","null"]},latitude:{type:["number","null"]},longitude:{type:["number","null"]},timestamp:{type:["number","null"]}}},reservations:{type:"array",items:{$ref:"reservation.json"}},spaceName:{type:"string"},revenue:{$ref:"definitions.json#/definitions/revenue"},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"},systems:{type:"array",default:[],items:{type:"object",properties:{systemId:{type:"string"},propertyId:{type:"string"},driver:{type:"string"}},required:["systemId","propertyId","driver"],additionalProperties:!1}}}},vendor_default={$schema:"http://json-schema.org/draft-07/schema",$id:"vendor.json",title:"Vendor",type:"object",required:["id","name","email"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"vendor",enum:["vendor"]},name:{type:"string"},phone:{type:["string","null"],pattern:"^\\+[0-9]{1,14}$"},email:{type:["string","null"],format:"email"},address:{$ref:"definitions.json#/definitions/address"},photo:{$ref:"mediaFile.json#"},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"}}},windowCovering_default={$schema:"http://json-schema.org/draft-07/schema",$id:"windowCovering.json",title:"Window Covering",description:"Any smart window covering",required:["id","type","position","driver"],additionalProperties:!1,type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type",default:"windowCovering"},discriminator:{type:"string",enum:["basic","variable"],default:"variable"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},position:{type:["number","null"],minimum:0,maximum:100},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}}},schemas=[alarm_default,announcement_default,automation_default,camera_default,category_default,courtesy_default,credential_default,{$schema:"http://json-schema.org/draft-07/schema",$id:"definitions.json",title:"Definitions",definitions:{id:{type:"string",description:"Identifier of the object.",not:{enum:["global","system"]}},systemId:{type:"string",description:"Identifier of the object, directly related to the system."},systemData:{type:"object"},metadata:{type:"object",default:{}},date:{type:["string","object"],format:"date-time"},createdAt:{type:["string","object"],format:"date-time"},updatedAt:{type:["string","object"],format:"date-time"},file:{type:"object",required:["name","type","data"],properties:{name:{type:"string",description:"Name of the file."},type:{type:"string",description:"MIME type of the file (e.g. application/pdf)."},data:{type:"string",description:"Base64-encoded data of the file."}}},address:{type:"object",properties:{id:{type:"string"},line1:{type:"string"},line2:{type:"string"},line3:{type:"string"},city:{type:"string"},state:{type:"string"},postalCode:{type:"string"},countryCode:{type:"string",minLength:2,maxLength:2}}},driver:{type:"string",description:"Driver used to communicate with the object.",enum:["adlink","aws-kinesis","bacnet","butler","comelit","crestron","dell","distech","dmp","doorbird","dormakaba","dsc","ecobee","epson","geovision-rs","geovision-as-manager","honeywell-vista","igor","inncom","isapi","kohost-k7","kohost","lg","lg-webos","lapi","lirc","mews","mht","paxton","pelican-wireless","power-shades","rachio","rebrandly","relay","rtsp","salto","salto-irn","samsung","se","sendgrid","sonifi","stay-n-touch","storable","twilio","unifi","valcom","vivotek","vizio","wisenet","cloudflare-images","cloudflare-stream","insperia-privacy"]},type:{type:"string",enum:["alarm","dimmer","switch","motionSensor","windowCovering","camera","mediaSource","thermostat","lock","courtesy","gateway","tv","dvr","appleTv","discPlayer","mediaPlayer","uncontrolledDevice"]},name:{type:"string"},supportedNotifications:{type:"array",uniqueItems:!0,items:{enum:["button 1","button 2","button 3","button 4","button 5","idle","powerHasBeedApplied","acMainsDisconnected","acMainsReconnected","replaceBatterySoon","replaceBatteryNow","batteryOk","hardwareFailure","softwareFailure","hardwareFailureWithCode","softwareFailureWithCode","motionDetection","airFilterNeedsCleaned","airFilterNeedsReplaced","smokeDetected","outsideSafeTemperatureRange","outsideSafeHumidityRange","scheduleMaintenance","doorAjar","communicationFailure","communicationOk","burglarAlarm","fireAlarm"]}},notification:{type:["object","null"],properties:{name:{type:"string",$ref:"#/definitions/supportedNotifications/items"},timestamp:{type:"number",minimum:1655907956593},description:{type:"string"}}},batteryLevel:{type:"number",minimum:0,maximum:100},watts:{type:"number",minimum:0},revenue:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},date:{type:"string",format:"date-time"},price:{type:"number"},tax:{type:["number","null"]}}}}}},deviceRouter_default,dimmer_default,discoveredDevice_default,emailMessage_default,energyReport_default,energyReportShard_default,gateway_default,identification_default,issue_default,lock_default,log_default,mediaFile_default,mediaSource_default,motionSensor_default,order_default,organization_default,payment_default,policy_default,product_default,property_default,reservation_default,room_default,scene_default,shortLink_default,smsMessage_default,space_default,switch_default,systemUser_default,thermostat_default,ticket_default,timeSheet_default,user_default,vendor_default,windowCovering_default],ajv=new import_ajv.Ajv({allErrors:!0,useDefaults:!0,strict:!1,allowMatchingProperties:!0,allowUnionTypes:!0,strictRequired:!1,schemas:schemas});(0,import_ajv_formats.default)(ajv);var validateAlarm=ajv.compile(alarm_default),validateAnnouncement=ajv.compile(announcement_default),validateAutomation=ajv.compile(automation_default),validateCamera=ajv.compile(camera_default),validateCategory=ajv.compile(category_default),validateCourtesy=ajv.compile(courtesy_default),validateCredential=ajv.compile(credential_default),validateDeviceRouter=ajv.compile(deviceRouter_default),validateDimmer=ajv.compile(dimmer_default),validateDiscoveredDevice=ajv.compile(discoveredDevice_default),validateEmailMessage=ajv.compile(emailMessage_default),validateEnergyReport=ajv.compile(energyReport_default),validateEnergyReportShard=ajv.compile(energyReportShard_default),validateGateway=ajv.compile(gateway_default),validateIdentification=ajv.compile(identification_default),validateIssue=ajv.compile(issue_default),validateLock=ajv.compile(lock_default),validateLog=ajv.compile(log_default),validateMediaFile=ajv.compile(mediaFile_default),validateMediaSource=ajv.compile(mediaSource_default),validateMotionSensor=ajv.compile(motionSensor_default),validateOrder=ajv.compile(order_default),validateOrganization=ajv.compile(organization_default),validatePayment=ajv.compile(payment_default),validatePolicy=ajv.compile(policy_default),validateProduct=ajv.compile(product_default),validateProperty=ajv.compile(property_default),validateReservation=ajv.compile(reservation_default),validateRoom=ajv.compile(room_default),validateScene=ajv.compile(scene_default),validateShortLink=ajv.compile(shortLink_default),validateSmsMessage=ajv.compile(smsMessage_default),validateSpace=ajv.compile(space_default),validateSwitch=ajv.compile(switch_default),validateSystemUser=ajv.compile(systemUser_default),validateThermostat=ajv.compile(thermostat_default),validateTicket=ajv.compile(ticket_default),validateTimeSheet=ajv.compile(timeSheet_default),validateUser=ajv.compile(user_default),validateVendor=ajv.compile(vendor_default),validateWindowCovering=ajv.compile(windowCovering_default),Alarm=class extends Entity{static{__name(this,"Alarm")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),void 0!==data.offline&&(this.offline=data.offline),this.type=data.type,void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),this.driver=data.driver,this.areas=data.areas,this.zones=data.zones,void 0!==data.chime&&(this.chime=data.chime),void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion),void 0!==data.address&&(this.address=data.address)}};Object.defineProperty(Alarm.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"alarm.json",title:"Alarm",description:"Any smart alarm system",type:"object",required:["id","type","areas","zones","driver"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string",description:"Name of the alarm"},offline:{type:"boolean"},type:{type:"string",enum:["alarm"],default:"alarm"},systemId:{$ref:"definitions.json#/definitions/systemId"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},areas:{type:"array",items:{type:"object",properties:{number:{type:"number"},name:{type:"string"},securityMode:{type:["string","null"],enum:["arming","disarming","armed","disarmed","alarm",null]}},additionalProperties:!1}},zones:{type:"array",items:{type:"object",properties:{number:{type:"number",minimum:0},name:{type:"string"},secure:{type:["boolean","null"]},bypassed:{type:["boolean","null"]}},additionalProperties:!1}},chime:{type:"boolean",description:"Reflects whether console chime is enabled"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"},address:{$ref:"definitions.json#/definitions/address"}}}}),Object.defineProperty(Alarm.prototype,"validator",{get:__name((function(){return validateAlarm}),"get")});var Announcement=class extends Entity{static{__name(this,"Announcement")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),void 0!==data.type&&(this.type=data.type),void 0!==data.users&&(this.users=data.users),void 0!==data.group&&(this.group=data.group),void 0!==data.body&&(this.body=data.body),void 0!==data.media&&(this.media=data.media),void 0!==data.sentBy&&(this.sentBy=data.sentBy),void 0!==data.tags&&(this.tags=data.tags),void 0!==data.createdAt&&(this.createdAt=data.createdAt),void 0!==data.updatedAt&&(this.updatedAt=data.updatedAt)}};Object.defineProperty(Announcement.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"announcement.json",title:"Announcement",description:"Announcement message sent to users",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["announcement"],default:"announcement"},users:{type:"array",items:{type:"string"},minItems:1},group:{type:"string"},body:{type:"string"},media:{$ref:"mediaFile.json"},sentBy:{type:"string"},tags:{type:"array",items:{type:"string"}},createdAt:{$ref:"definitions.json#/definitions/date"},updatedAt:{$ref:"definitions.json#/definitions/date"}},additionalProperties:!1}}),Object.defineProperty(Announcement.prototype,"validator",{get:__name((function(){return validateAnnouncement}),"get")});var Automation=class extends Entity{static{__name(this,"Automation")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),this.type=data.type,void 0!==data.isEnabled&&(this.isEnabled=data.isEnabled),this.trigger=data.trigger,this.actions=data.actions,void 0!==data.createdAt&&(this.createdAt=data.createdAt),void 0!==data.updatedAt&&(this.updatedAt=data.updatedAt),void 0!==data.lastTriggeredAt&&(this.lastTriggeredAt=data.lastTriggeredAt)}get isTimeBased(){return"time"===this.discriminator||this.trigger&&"time"===this.trigger.type}get isDeviceBased(){return"device"===this.discriminator||this.trigger&&"time"!==this.trigger.type}get isRepeating(){return this.isTimeBased()&&!1!==this.trigger?.schedule?.repeat}};Object.defineProperty(Automation.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"automation.json",title:"Automation",description:"An automation is a collection of triggers and actions",type:"object",required:["id","type","trigger","actions"],properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string",description:"The friendly name of the automation"},type:{type:"string",enum:["automation"],default:"automation"},isEnabled:{type:"boolean",description:"Whether the automation is currently enabled",default:!0},trigger:{type:"object",description:"The trigger that initiates the automation",required:["discriminator","schedule"],properties:{discriminator:{type:"string",enum:["time"],description:"Type of trigger"},schedule:{type:"object",description:"Schedule for time-based triggers",required:["days","time","timezone"],properties:{days:{type:"array",description:"Days of the week (0 = Sunday, 6 = Saturday)",items:{type:"integer",minimum:0,maximum:6}},time:{type:"string",description:"Time of day to trigger the automation"},timeOffsetSeconds:{type:"integer",description:"Offset in seconds from the scheduled time",default:0},repeat:{type:"boolean",description:"Whether the schedule repeats",default:!0},timezone:{type:"string",description:"Timezone for the schedule (IANA timezone format)"}}}}},actions:{type:"array",description:"Actions to perform when the trigger conditions are met",items:{type:"object",required:["deviceId","roomId","discriminator","state"],properties:{deviceId:{type:"string",description:"ID of the device to control"},roomId:{type:"string",description:"ID of the room containing the device"},discriminator:{type:"string",description:"Type discriminator for the device (e.g., 'windowCovering', 'switch')"},duration:{type:"integer",description:"Duration in seconds to keep the device in the configured state",minimum:0},state:{type:"array",items:{type:"object",required:["property","value"],properties:{property:{type:"string",description:"Property to set (e.g., 'state', 'level', 'setpoint')"},value:{type:["string","number","boolean"],description:"Value to set the property to"}}}}}},minItems:1},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"},lastTriggeredAt:{$ref:"definitions.json#/definitions/date",description:"When the automation was last triggered"}},additionalProperties:!1}}),Object.defineProperty(Automation.prototype,"validator",{get:__name((function(){return validateAutomation}),"get")});var Camera=class extends Entity{static{__name(this,"Camera")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),this.type=data.type,void 0!==data.offline&&(this.offline=data.offline),void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),this.driver=data.driver,void 0!==data.liveStreams&&(this.liveStreams=data.liveStreams),void 0!==data.liveStream&&(this.liveStream=data.liveStream),void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion)}};Object.defineProperty(Camera.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"camera.json",title:"Camera",description:"Any smart camera",type:"object",required:["id","type","driver"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{type:"string",enum:["camera"],default:"camera"},offline:{type:"boolean"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},liveStreams:{type:"object",additionalProperties:!1,$comment:"This is now deprecated. Use liveStream instead. This will remain here for backwards compatibility.",properties:{iframe:{type:["string","null"]},hls:{type:["string","null"]},webRTC:{type:["string","null"]},rtsp:{type:["string","null"]}}},liveStream:{type:"object",additionalProperties:!1,properties:{id:{type:"string"},driver:{type:"string",enum:["cloudflare-stream","aws-kinesis","digital-watchdog","mediamtx"]},allowedOrigins:{type:"array",items:{type:"string"}},authRequired:{type:"boolean"},iframe:{type:["string","null"]},hls:{type:["string","null"]},webRTC:{type:["string","null"]},rtsp:{type:["string","null"],description:"Local RTSP stream URL",examples:["rtsp://192.168.1.4:544/channels/1","rtsp://10.145.6.129:8554/unicast"]},previewImage:{type:["string","null"],description:"Source to preview the camera stream",examples:["https://example.com/preview.jpg","data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QBYRXhpZgAATU0AKgAAAAgAA1EQAAEAAAABAQAAAFERAAQAAAABAAABAgABAA"]}}},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}}}}),Object.defineProperty(Camera.prototype,"validator",{get:__name((function(){return validateCamera}),"get")});var Category=class extends Entity{static{__name(this,"Category")}constructor(data){super(data),this.id=data.id,this.type=data.type,void 0!==data.name&&(this.name=data.name),void 0!==data.driver&&(this.driver=data.driver),void 0!==data.description&&(this.description=data.description),void 0!==data.image&&(this.image=data.image),void 0!==data.rating&&(this.rating=data.rating),this.discriminator=data.discriminator,void 0!==data.systemId&&(this.systemId=data.systemId)}};Object.defineProperty(Category.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"category.json",title:"Category",type:"object",required:["id","type","discriminator"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["category"],default:"category"},name:{type:"string",minLength:1},driver:{$ref:"definitions.json#/definitions/driver"},description:{type:"string"},image:{$ref:"mediaFile.json"},rating:{type:"number",minimum:0,maximum:10,default:9},discriminator:{type:"string",enum:["space","product","mediaFile"]},systemId:{$ref:"definitions.json#/definitions/systemId"}}}}),Object.defineProperty(Category.prototype,"validator",{get:__name((function(){return validateCategory}),"get")});var Courtesy=class extends Entity{static{__name(this,"Courtesy")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),this.type=data.type,void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),this.driver=data.driver,void 0!==data.offline&&(this.offline=data.offline),this.supportedStates=data.supportedStates,this.state=data.state,void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion)}};Object.defineProperty(Courtesy.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"courtesy.json",title:"Courtesy",description:"Any smart courtesy system",type:"object",required:["id","type","driver","supportedStates","state"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},supportedStates:{type:"array",uniqueItems:!0,items:{enum:["privacy","service","none"]}},state:{type:"string",$ref:"#/properties/supportedStates/items"},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}}}}),Object.defineProperty(Courtesy.prototype,"validator",{get:__name((function(){return validateCourtesy}),"get")});var Credential=class extends Entity{static{__name(this,"Credential")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),this.type=data.type,void 0!==data.driver&&(this.driver=data.driver),void 0!==data.discriminator&&(this.discriminator=data.discriminator),this.credential=data.credential,void 0!==data.userId&&(this.userId=data.userId),void 0!==data.organizationId&&(this.organizationId=data.organizationId),void 0!==data.propertyId&&(this.propertyId=data.propertyId),void 0!==data.deviceId&&(this.deviceId=data.deviceId),void 0!==data.userAgent&&(this.userAgent=data.userAgent),this.expires=data.expires,void 0!==data.systemId&&(this.systemId=data.systemId)}};Object.defineProperty(Credential.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"credential.json",title:"Credential",type:"object",required:["type","credential","expires"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"credential"},driver:{$ref:"definitions.json#/definitions/driver"},discriminator:{type:"string",enum:["verificationCode","token","mobileKey","pin","publicKey","passkeyChallenge"]},credential:{type:"string"},userId:{type:"string"},organizationId:{type:"string"},propertyId:{type:"string"},deviceId:{type:"string"},userAgent:{type:"string"},expires:{type:["string","object","null"]},systemId:{$ref:"definitions.json#/definitions/systemId"}}}}),Object.defineProperty(Credential.prototype,"validator",{get:__name((function(){return validateCredential}),"get")});var DeviceRouter=class extends Entity{static{__name(this,"DeviceRouter")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),void 0!==data.type&&(this.type=data.type),this.driver=data.driver,this.organizationId=data.organizationId,void 0!==data.devices&&(this.devices=data.devices)}};Object.defineProperty(DeviceRouter.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"deviceRouter.json",title:"Device Router",description:"A device router contains instructions on where to route devices based on their organization and driver.",type:"object",required:["driver","organizationId"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"deviceRouter",enum:["deviceRouter"]},driver:{type:"string"},organizationId:{type:["string","null"],description:"Reference (id) to the organization that owns this router"},devices:{type:"object",additionalProperties:!0}}}}),Object.defineProperty(DeviceRouter.prototype,"validator",{get:__name((function(){return validateDeviceRouter}),"get")});var Dimmer=class extends Entity{static{__name(this,"Dimmer")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),this.type=data.type,void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),this.driver=data.driver,void 0!==data.offline&&(this.offline=data.offline),this.level=data.level,void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion)}};Object.defineProperty(Dimmer.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"dimmer.json",title:"Dimmer",description:"Any smart dimmer",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},level:{type:["number","null"],minimum:0,maximum:100},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},required:["id","type","level","driver"]}}),Object.defineProperty(Dimmer.prototype,"validator",{get:__name((function(){return validateDimmer}),"get")});var DiscoveredDevice=class extends Entity{static{__name(this,"DiscoveredDevice")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),this.name=data.name,this.deviceId=data.deviceId,void 0!==data.type&&(this.type=data.type),void 0!==data.discriminator&&(this.discriminator=data.discriminator),void 0!==data.driver&&(this.driver=data.driver),this.deviceData=data.deviceData,void 0!==data.ignore&&(this.ignore=data.ignore),void 0!==data.organizationId&&(this.organizationId=data.organizationId),void 0!==data.propertyId&&(this.propertyId=data.propertyId)}};Object.defineProperty(DiscoveredDevice.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"discoveredDevice.json",title:"Discovered Device",description:"A device that has been discovered by Kohost, but not yet added to the Kohost system.",type:"object",required:["name","deviceId","deviceData"],properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},deviceId:{type:"string"},type:{type:"string",enum:["discoveredDevice"],default:"discoveredDevice"},discriminator:{$ref:"definitions.json#/definitions/type"},driver:{type:"string"},deviceData:{type:"object"},ignore:{type:"boolean"},organizationId:{type:["string","null"],description:"Reference (id) to the organization that owns this device"},propertyId:{type:["string","null"],description:"Reference (id) to the property that this device belongs to"}}}}),Object.defineProperty(DiscoveredDevice.prototype,"validator",{get:__name((function(){return validateDiscoveredDevice}),"get")});var EmailMessage=class extends Entity{static{__name(this,"EmailMessage")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),void 0!==data.type&&(this.type=data.type),this.to=data.to,this.from=data.from,this.subject=data.subject,this.status=data.status,void 0!==data.statusMessage&&(this.statusMessage=data.statusMessage),void 0!==data.html&&(this.html=data.html),void 0!==data.text&&(this.text=data.text),void 0!==data.driver&&(this.driver=data.driver),void 0!==data.appData&&(this.appData=data.appData),void 0!==data.createdAt&&(this.createdAt=data.createdAt),void 0!==data.updatedAt&&(this.updatedAt=data.updatedAt),void 0!==data.systemId&&(this.systemId=data.systemId)}};Object.defineProperty(EmailMessage.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"emailMessage.json",title:"Email Message",type:"object",required:["to","from","status","subject"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"emailMessage",enum:["emailMessage"]},to:{type:"string",pattern:"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$"},from:{type:"string",pattern:".*<[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+>.*",description:"Must be in the format of 'Sender <email@example.com>"},subject:{type:"string"},status:{type:"string",enum:["queued","sending","sent","deferred","delivered","undelivered","bounced","blocked","receiving","received","opened","clicked","unsubscribed","spamReport"]},statusMessage:{type:"string"},html:{type:"string"},text:{type:"string"},driver:{type:"string"},appData:{type:"object"},createdAt:{$ref:"definitions.json#/definitions/date"},updatedAt:{$ref:"definitions.json#/definitions/date"},systemId:{$ref:"definitions.json#/definitions/systemId"}}}}),Object.defineProperty(EmailMessage.prototype,"validator",{get:__name((function(){return validateEmailMessage}),"get")});var EnergyReport=class extends Entity{static{__name(this,"EnergyReport")}constructor(data){super(data),this.id=data.id,this.type=data.type,void 0!==data.reportTime&&(this.reportTime=data.reportTime),this.roomId=data.roomId,this.first=data.first,this.last=data.last,this.consumption=data.consumption,this.totals=data.totals,this.costPerKw=data.costPerKw}};Object.defineProperty(EnergyReport.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"energyReport.json",title:"Energy Report",description:"Hourly Report for Energy based on energy report shards",type:"object",required:["id","type","roomId","first","last","consumption","totals","costPerKw"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["energyReport"],default:"energyReport"},reportTime:{type:"string",enum:["hourly","daily","monthly"]},roomId:{$ref:"definitions.json#/definitions/id"},first:{type:["string","object"],format:"date-time"},last:{type:["string","object"],format:"date-time"},consumption:{type:"array",items:{type:"object",required:["id","type","kwh"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{$ref:"definitions.json#/definitions/type"},kwh:{type:"number",minimum:0}}}},totals:{type:"array",items:{type:"object",required:["lights","climate","media"],properties:{lights:{type:"number",minimum:0},climate:{type:"number",minimum:0},media:{type:"number",minimum:0}}}},costPerKw:{type:"number",minimum:0}}}}),Object.defineProperty(EnergyReport.prototype,"validator",{get:__name((function(){return validateEnergyReport}),"get")});var EnergyReportShard=class extends Entity{static{__name(this,"EnergyReportShard")}constructor(data){super(data),this.id=data.id,this.type=data.type,this.roomId=data.roomId,this.first=data.first,this.last=data.last,this.data=data.data,this.ndata=data.ndata,this.expires=data.expires}};Object.defineProperty(EnergyReportShard.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"energyReportShard.json",title:"Energy Report Shard",description:"Shard used for Energy Reports",type:"object",required:["id","type","roomId","first","last","data","ndata","expires"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["energyReportShard"],default:"energyReportShard"},roomId:{$ref:"definitions.json#/definitions/id"},first:{type:["string","object"],format:"date-time"},last:{type:["string","object"],format:"date-time"},data:{type:"array",items:{type:"object",required:["time","watts","id","type","value"],properties:{time:{type:["string","object"],format:"date-time"},watts:{$ref:"definitions.json#/definitions/watts"},id:{$ref:"definitions.json#/definitions/id"},type:{$ref:"definitions.json#/definitions/type"},value:{type:"number",minimum:0,maximum:1}}}},ndata:{type:"integer",minimum:0,maximum:1e5,default:0},expires:{type:["string","object"],format:"date-time"}}}}),Object.defineProperty(EnergyReportShard.prototype,"validator",{get:__name((function(){return validateEnergyReportShard}),"get")});var Gateway=class extends Entity{static{__name(this,"Gateway")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),void 0!==data.offline&&(this.offline=data.offline),this.type=data.type,void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),this.status=data.status,void 0!==data.systemId&&(this.systemId=data.systemId),this.driver=data.driver,void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion)}};Object.defineProperty(Gateway.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"iotGateway.json",title:"Gateway",description:"Any smart gateway that is an entrypoint for controlling devices",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},offline:{type:"boolean"},type:{$ref:"definitions.json#/definitions/type"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},status:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"},driver:{$ref:"definitions.json#/definitions/driver"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},required:["id","type","status","driver"]}}),Object.defineProperty(Gateway.prototype,"validator",{get:__name((function(){return validateGateway}),"get")});var Identification=class extends Entity{static{__name(this,"Identification")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),this.type=data.type,void 0!==data.number&&(this.number=data.number),void 0!==data.maskedNumber&&(this.maskedNumber=data.maskedNumber),void 0!==data.encryptedNumber&&(this.encryptedNumber=data.encryptedNumber),void 0!==data.issued&&(this.issued=data.issued),void 0!==data.expires&&(this.expires=data.expires),void 0!==data.verified&&(this.verified=data.verified),void 0!==data.matched&&(this.matched=data.matched),void 0!==data.firstName&&(this.firstName=data.firstName),void 0!==data.lastName&&(this.lastName=data.lastName),void 0!==data.issuingCountry&&(this.issuingCountry=data.issuingCountry),void 0!==data.systemId&&(this.systemId=data.systemId)}};Object.defineProperty(Identification.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"identification.json",title:"Identification",type:"object",required:["type"],additionalProperties:!1,oneOf:[{required:["number"]},{required:["encryptedNumber"]}],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["driversLicense","passport","identityCard","visa"]},number:{type:"string"},maskedNumber:{type:"string"},encryptedNumber:{type:"string"},issued:{type:["string","object"],format:"date-time"},expires:{type:["string","object","null"],format:"date-time"},verified:{type:"boolean"},matched:{type:"boolean"},firstName:{type:"string"},lastName:{type:"string"},issuingCountry:{type:"string",minLength:2,maxLength:2},systemId:{$ref:"definitions.json#/definitions/systemId"}}}}),Object.defineProperty(Identification.prototype,"validator",{get:__name((function(){return validateIdentification}),"get")});var Issue=class extends Entity{static{__name(this,"Issue")}constructor(data){super(data),this.id=data.id,this.type=data.type,this.name=data.name,void 0!==data.description&&(this.description=data.description),this.department=data.department,void 0!==data.autoAssign&&(this.autoAssign=data.autoAssign),void 0!==data.notify&&(this.notify=data.notify),void 0!==data.systemKey&&(this.systemKey=data.systemKey),void 0!==data.autoCreateTicket&&(this.autoCreateTicket=data.autoCreateTicket),void 0!==data.excludedResources&&(this.excludedResources=data.excludedResources)}};Object.defineProperty(Issue.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"issue.json",title:"Issue",description:"An issue associated with ticketing and concierge.",type:"object",required:["id","type","name","department"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["issue"],default:"issue"},name:{type:"string"},description:{type:"string"},department:{type:"string"},autoAssign:{type:"object",properties:{userId:{type:"string",description:"The user ID to assign tickets with this issue to."},vendorId:{type:"string",description:"The vendor ID to assign tickets with this issue to."},priority:{$ref:"ticket.json#/properties/priority",description:"The priority to assign tickets with this issue to."},tags:{type:"array",items:{type:"string"}}}},notify:{type:"array",description:"A list of entities to notify when this issue is triggered.",default:[],items:{type:"object",required:["id","discriminator"],properties:{id:{type:"string",description:"The ID of the entity to notify."},discriminator:{type:"string",enum:["user"]}}}},systemKey:{type:"string"},autoCreateTicket:{type:"boolean",default:!0},excludedResources:{type:"array",description:"A list of resources that should not trigger notifications of this issue",items:{type:"string"},default:[]}}}}),Object.defineProperty(Issue.prototype,"validator",{get:__name((function(){return validateIssue}),"get")});var Lock=class extends Entity{static{__name(this,"Lock")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),this.type=data.type,void 0!==data.offline&&(this.offline=data.offline),void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),this.driver=data.driver,this.state=data.state,void 0!==data.mode&&(this.mode=data.mode),void 0!==data.supportedModes&&(this.supportedModes=data.supportedModes),void 0!==data.batteryLevel&&(this.batteryLevel=data.batteryLevel),void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion)}};Object.defineProperty(Lock.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"lock.json",title:"Lock",description:"Any smart lock",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},offline:{type:"boolean"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},state:{type:["string","null"],enum:["locked","unlocked",null]},mode:{type:["string","null"],enum:["normal","autoLock","emergencyOpen","emergencyClose","holdOpen","lockdown",null],description:"emergencyOpen and emergencyClose are deprecated and can be removed once Salto, Paxton and Geovision drivers are updated",default:null},supportedModes:{type:"array",uniqueItems:!0,items:{enum:["normal","autoLock","emergencyOpen","emergencyClose","holdOpen","lockdown",null]}},batteryLevel:{$ref:"definitions.json#/definitions/batteryLevel"},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},required:["id","type","state","driver"]}}),Object.defineProperty(Lock.prototype,"validator",{get:__name((function(){return validateLock}),"get")});var Log=class extends Entity{static{__name(this,"Log")}constructor(data){super(data),this.type=data.type,this.timestamp=data.timestamp,this.id=data.id,this.driver=data.driver,this.name=data.name,void 0!==data.field1&&(this.field1=data.field1),void 0!==data.field2&&(this.field2=data.field2),void 0!==data.field3&&(this.field3=data.field3),void 0!==data.field4&&(this.field4=data.field4),void 0!==data.field5&&(this.field5=data.field5),void 0!==data.field6&&(this.field6=data.field6)}};Object.defineProperty(Log.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"log.json",title:"Log",type:"object",required:["type","timestamp","id","driver","name"],properties:{type:{type:"string",default:"log",enum:["log"]},timestamp:{type:"number",minimum:1655907956593},id:{$ref:"definitions.json#/definitions/id"},driver:{$ref:"definitions.json#/definitions/driver"},name:{type:"string",description:"Event name"},field1:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field2:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field3:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field4:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field5:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field6:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}}}}}),Object.defineProperty(Log.prototype,"validator",{get:__name((function(){return validateLog}),"get")});var MediaFile=class extends Entity{static{__name(this,"MediaFile")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),this.type=data.type,void 0!==data.name&&(this.name=data.name),void 0!==data.fileHash&&(this.fileHash=data.fileHash),void 0!==data.category&&(this.category=data.category),void 0!==data.mimeType&&(this.mimeType=data.mimeType),void 0!==data.data&&(this.data=data.data),void 0!==data.url&&(this.url=data.url),void 0!==data.width&&(this.width=data.width),void 0!==data.height&&(this.height=data.height),void 0!==data.size&&(this.size=data.size),void 0!==data.uploadUrl&&(this.uploadUrl=data.uploadUrl),void 0!==data.uploadUrlExpires&&(this.uploadUrlExpires=data.uploadUrlExpires),void 0!==data.createdBy&&(this.createdBy=data.createdBy),void 0!==data.systemId&&(this.systemId=data.systemId)}createImageVariant(params){if("image/*"!=this.mimeType)throw new Error("Only dynamic images can have variants");if(!this.url)throw new Error("MediaFile has no url");const query=Object.keys(params).map((key=>`${key}=${params[key]}`)).join(",");return this.url.replace(/\/public$/,`/${query}`)}};Object.defineProperty(MediaFile.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"mediaFile.json",title:"Media File",description:"Any media file",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"mediaFile",enum:["mediaFile"]},name:{type:"string"},fileHash:{type:"string"},category:{type:"string",description:"This is the category id"},mimeType:{type:"string",enum:["image/*","image/jpeg","image/png","image/gif","image/webp","image/avif","image/svg+xml","application/pdf"]},data:{type:"string"},url:{type:"string",format:"uri"},width:{type:"integer",minimum:0},height:{type:"integer",minimum:0},size:{type:"integer",minimum:0,description:"Size in bytes"},uploadUrl:{type:"string",format:"uri"},uploadUrlExpires:{$ref:"definitions.json#/definitions/date"},createdBy:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"}},additionalProperties:!1,required:["type"]}}),Object.defineProperty(MediaFile.prototype,"validator",{get:__name((function(){return validateMediaFile}),"get")});var MediaSource=class extends Entity{static{__name(this,"MediaSource")}constructor(data){super(data),this.id=data.id,this.type=data.type,this.discriminator=data.discriminator,void 0!==data.playlists&&(this.playlists=data.playlists),void 0!==data.remote&&(this.remote=data.remote),void 0!==data.name&&(this.name=data.name),this.driver=data.driver,void 0!==data.offline&&(this.offline=data.offline),this.audio=data.audio,this.video=data.video,void 0!==data.powerFeedback&&(this.powerFeedback=data.powerFeedback),void 0!==data.volumeFeedback&&(this.volumeFeedback=data.volumeFeedback),void 0!==data.muted&&(this.muted=data.muted),void 0!==data.volume&&(this.volume=data.volume),void 0!==data.brightness&&(this.brightness=data.brightness),void 0!==data.contrast&&(this.contrast=data.contrast),void 0!==data.power&&(this.power=data.power),void 0!==data.input&&(this.input=data.input),void 0!==data.supportedInputs&&(this.supportedInputs=data.supportedInputs),void 0!==data.supportedOutputs&&(this.supportedOutputs=data.supportedOutputs),void 0!==data.command&&(this.command=data.command),void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion)}};Object.defineProperty(MediaSource.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"mediaSource.json",title:"Media Source",description:"Any media source",type:"object",required:["id","type","discriminator","audio","video","driver"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"mediaSource",enum:["mediaSource"]},discriminator:{type:"string",enum:["tv","dvr","appleTv","discPlayer","mediaPlayer","paSystem","uncontrolledDevice"]},playlists:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{$ref:"definitions.json#/definitions/name"}}}},remote:{type:"string",enum:["MR22GA","XRT260","XRT270","HOF-16K 1.2","219863500","SONIFI","AKB76039803","BN59-01388A"]},name:{$ref:"definitions.json#/definitions/name"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},audio:{type:"boolean"},video:{type:"boolean"},powerFeedback:{type:"boolean"},volumeFeedback:{type:"boolean"},muted:{type:"boolean"},volume:{type:"number",minimum:0,maximum:100},brightness:{type:"number",minimum:0,maximum:100},contrast:{type:"number",minimum:0,maximum:100},power:{type:"string",enum:["on","off"]},input:{type:"string"},supportedInputs:{type:"array",items:{type:"string"}},supportedOutputs:{type:"array",items:{type:"string"}},command:{type:["string","null"],enum:["mute","volumeUp","volumeDown","brightnessUp","brightnessDown","channelUp","channelDown","number0","number1","number2","number3","number4","number5","number6","number7","number8","number9","lastChannel","display","favoriteChannel","play","playing","stop","stopped","pause","paused","fastForward","fastForwarding","rewind","rewinding","instantReplay","record","ac3","pvrMenu","guide","menu","menuUp","menuDown","menuLeft","menuRight","pageUp","pageDown","select","exit","input","power","enterChannel","enterVolume","enterBrightness","enterContrast","number10","number11","number12","number13","number14","number15","number16","number10Plus","number20Plus","number100","dash","threeChan","threeD","sixChan","a","add","alarm","am","analog","angle","antenna","antennaEast","antennaWest","aspect","audio1","audio2","audio3","audioDumming","audioLevelDown","audioLevelUp","b","back","c","component1","component2","component3","d","home","list","liveTv","discreteInputCable","powerOff","powerOn","setupMenu","skipForward","skipReverse","video1","video2","video3","video4","video5","details","hdmi1","hdmi2","hdmi3","cecDeviceList","mtsSap","red","green","yellow","blue","alert","order"]},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},additionalProperties:!1}}),Object.defineProperty(MediaSource.prototype,"validator",{get:__name((function(){return validateMediaSource}),"get")});var MotionSensor=class extends Entity{static{__name(this,"MotionSensor")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),this.type=data.type,void 0!==data.offline&&(this.offline=data.offline),this.driver=data.driver,void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion)}};Object.defineProperty(MotionSensor.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"motionSensor.json",title:"Motion Sensor",description:"Any smart motion sensor",type:"object",required:["id","type","driver"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},offline:{type:"boolean"},driver:{$ref:"definitions.json#/definitions/driver"},systemId:{$ref:"definitions.json#/definitions/systemId"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}}}}),Object.defineProperty(MotionSensor.prototype,"validator",{get:__name((function(){return validateMotionSensor}),"get")});var Order=class extends Entity{static{__name(this,"Order")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),this.type=data.type,void 0!==data.orderNumber&&(this.orderNumber=data.orderNumber),this.status=data.status,void 0!==data.userId&&(this.userId=data.userId),void 0!==data.reservationId&&(this.reservationId=data.reservationId),void 0!==data.date&&(this.date=data.date),void 0!==data.items&&(this.items=data.items),void 0!==data.taxes&&(this.taxes=data.taxes),void 0!==data.fees&&(this.fees=data.fees),void 0!==data.delivery&&(this.delivery=data.delivery),void 0!==data.payments&&(this.payments=data.payments)}getSubTotal(){return this.items.reduce(((acc,item)=>{const qty=item.quantity||1;return acc+item.price*qty}),0)}getTaxTotal(){const taxes=this.taxes;return taxes?this.items.reduce(((acc,item)=>{if(!item.taxClass)return acc;const tax=taxes.find((t=>t.class===item.taxClass));if(!tax)return acc;const{rateType:rateType,rate:rate}=tax;return"percentage"===rateType?acc+item.price*rate:acc+rate}),0):0}getDeliveryTotal(){const delivery=this.delivery;return delivery?this.items.reduce(((acc,item)=>{if(!item.deliveryClass)return acc;const d=delivery.find((d2=>d2.class===item.deliveryClass));if(!d)return acc;const{rateType:rateType,rate:rate}=d;return"percentage"===rateType?acc+item.price*rate:acc+rate}),0):0}getFeesTotal(){return this.fees.reduce(((acc,fee)=>acc+fee.price),0)}getTotal(){return this.getSubTotal()+this.getTaxTotal()+this.getDeliveryTotal()+this.getFeesTotal()}getPaymentsTotal(){return this.payments.reduce(((acc,payment)=>acc+payment.amount),0)}getBalance(){return this.getTotal()-this.getPaymentsTotal()}};Object.defineProperty(Order.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"order.json",title:"Order",description:"A purchase order for products or services.",type:"object",required:["type","status"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"order",enum:["order"]},orderNumber:{type:"string"},status:{type:"string",enum:["draft","pendingPayment","processing","outForDelivery","completed","paymentFailed","cancelled","refunded"]},userId:{$ref:"definitions.json#/definitions/id",description:"User id of purchaser"},reservationId:{$ref:"definitions.json#/definitions/id",description:"Reservation id if the order is for a reservation"},date:{$ref:"definitions.json#/definitions/date"},items:{type:"array",default:[],items:{type:"object",required:["name","price"],properties:{additionalProperties:!1,name:{type:"string"},sku:{type:"string"},quantity:{type:"number",default:1},price:{type:"number"},taxClass:{type:"string"},deliveryClass:{type:"string"},productId:{type:"string"}}}},taxes:{type:"array",default:[],items:{type:"object",required:["name","rate"],properties:{additionalProperties:!1,name:{type:"string"},class:{type:"string"},rateType:{type:"string",enum:["percentage","flat"],default:"percentage"},rate:{type:"number"},total:{type:"number"}}}},fees:{type:"array",default:[],items:{type:"object",required:["name","price"],properties:{additionalProperties:!1,name:{type:"string"},price:{type:"number"}}}},delivery:{type:"array",default:[],items:{type:"object",required:["name","rate"],properties:{additionalProperties:!1,name:{type:"string"},class:{type:"string"},rateType:{type:"string",enum:["percentage","flat"],default:"percentage"},rate:{type:"number"},total:{type:"number"}}}},payments:{type:"array",default:[],items:{type:"object",properties:{method:{type:"string",enum:["folio","invoice","amex","visa","masterCard","maestro","discover","diners","jcb","applePay","alipay","chinaUnionPay","vpay"]},name:{type:"string"},date:{$ref:"definitions.json#/definitions/date"},amount:{type:"number"},transactionReference:{type:"string"}}}}}}}),Object.defineProperty(Order.prototype,"validator",{get:__name((function(){return validateOrder}),"get")});var Organization=class extends Entity{static{__name(this,"Organization")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),void 0!==data.type&&(this.type=data.type),this.accountNumber=data.accountNumber,this.name=data.name,void 0!==data.properties&&(this.properties=data.properties),void 0!==data.hostname&&(this.hostname=data.hostname),void 0!==data.appManifest&&(this.appManifest=data.appManifest),void 0!==data.tickets&&(this.tickets=data.tickets),void 0!==data.credentials&&(this.credentials=data.credentials),void 0!==data.createdAt&&(this.createdAt=data.createdAt),void 0!==data.updatedAt&&(this.updatedAt=data.updatedAt)}};Object.defineProperty(Organization.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"organization.json",title:"Organization",type:"object",description:"An organization is a group or entity that subscribes to Kohost software.",required:["accountNumber","name"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"organization",enum:["organization"]},accountNumber:{type:["number","null"],minimum:1e4},name:{type:"string"},properties:{type:"array",items:{type:"string"}},hostname:{type:["string","null"]},appManifest:{type:"object",properties:{name:{type:"string"},short_name:{type:"string"},scope:{type:"string"},start_url:{type:"string"},themeColor:{type:"string"},backgroundColor:{type:"string"},display:{type:"string",enum:["fullscreen","standalone","minimal-ui","browser"],default:"fullscreen"},orientation:{type:"string",enum:["portrait","landscape"],default:"portrait"},splash:{type:"object",properties:{src:{type:"string"},type:{type:"string"},sizes:{type:"string"}}},icons:{type:"array",items:{type:"object",properties:{src:{type:"string"},sizes:{type:"string"},type:{type:"string"}}}},logo:{type:"object",properties:{src:{type:"string"},type:{type:"string"},sizes:{type:"string"}}}},default:{name:"Kohost",short_name:"Kohost",start_url:"/",scope:"/",display:"fullscreen",orientation:"portrait",theme_color:"#1d1f22",background_color:"#1d1f22",icons:[{src:"https://images.kohost.io/cdn-cgi/imagedelivery/vcVX2aBwdFSYr66spcFKaA/9c85047f-ccba-4b1c-3070-5463fbe93b00/w=512",sizes:"512x512",type:"image/png"}],splash:{src:"https://images.kohost.io/cdn-cgi/imagedelivery/vcVX2aBwdFSYr66spcFKaA/034fb112-5326-4d37-373e-d1cc2a4d0400/w=1500",sizes:"1500x800",type:"image/jpg"},logo:{src:"https://images.kohost.io/cdn-cgi/imagedelivery/vcVX2aBwdFSYr66spcFKaA/1e54c54d-3bac-4745-f46f-c2f98036af00/h=75",sizes:"300x75",type:"image/png"}}},tickets:{type:"object",properties:{nextTicketNumber:{type:["string","integer"],default:1}}},credentials:{type:"object",additionalProperties:!0},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"}}}}),Object.defineProperty(Organization.prototype,"validator",{get:__name((function(){return validateOrganization}),"get")});var Payment=class extends Entity{static{__name(this,"Payment")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),this.type=data.type,void 0!==data.enabled&&(this.enabled=data.enabled),void 0!==data.storageData&&(this.storageData=data.storageData),this.maskedNumber=data.maskedNumber,void 0!==data.issued&&(this.issued=data.issued),this.expires=data.expires,void 0!==data.systemId&&(this.systemId=data.systemId)}};Object.defineProperty(Payment.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"payment.json",title:"Payment",type:"object",required:["type","maskedNumber","expires"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["amex","visa","masterCard","maestro","discover","diners","jcb","applePay","alipay","chinaUnionPay","vpay"]},enabled:{type:"boolean",default:!0},storageData:{type:["string","null"]},maskedNumber:{type:"string"},issued:{type:["string","null"]},expires:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"}}}}),Object.defineProperty(Payment.prototype,"validator",{get:__name((function(){return validatePayment}),"get")});var Policy=class extends Entity{static{__name(this,"Policy")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),this.type=data.type,this.discriminator=data.discriminator,this.name=data.name,void 0!==data.description&&(this.description=data.description),this.organizationId=data.organizationId,this.propertyId=data.propertyId,this.permissions=data.permissions}};Object.defineProperty(Policy.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"policy.json",title:"Policy",description:"A policy is a set of permissions that can be applied to a user to limit their access to resources.",type:"object",required:["name","type","organizationId","propertyId","permissions","discriminator"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"policy",enum:["policy"]},discriminator:{type:"string",enum:["user"]},name:{type:"string",minLength:1},description:{type:"string"},organizationId:{type:"string"},propertyId:{type:"string"},permissions:{type:"array",items:{type:"object",required:["entities","effect"],properties:{entities:{type:"array",items:{type:"string",pattern:"^[^:]+(:.+)+$"}},effect:{type:"string",enum:["Allow","Deny"]}}}}}}}),Object.defineProperty(Policy.prototype,"validator",{get:__name((function(){return validatePolicy}),"get")});var Product=class extends Entity{static{__name(this,"Product")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),void 0!==data.type&&(this.type=data.type),this.name=data.name,this.driver=data.driver,void 0!==data.description&&(this.description=data.description),this.price=data.price,void 0!==data.tax&&(this.tax=data.tax),void 0!==data.image&&(this.image=data.image),void 0!==data.category&&(this.category=data.category),void 0!==data.imageUrl&&(this.imageUrl=data.imageUrl),void 0!==data.systemId&&(this.systemId=data.systemId)}};Object.defineProperty(Product.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"product.json",title:"Product",type:"object",required:["name","price","driver"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"product",enum:["product"]},name:{type:"string"},driver:{$ref:"definitions.json#/definitions/driver"},description:{type:"string"},price:{type:"number"},tax:{type:["number","null"]},image:{$ref:"mediaFile.json"},category:{type:"string"},imageUrl:{type:"string",format:"uri",pattern:"^https?://"},systemId:{$ref:"definitions.json#/definitions/systemId"}}}}),Object.defineProperty(Product.prototype,"validator",{get:__name((function(){return validateProduct}),"get")});var Property=class extends Entity{static{__name(this,"Property")}constructor(data){super(data),this.id=data.id,this.name=data.name,this.type=data.type,this.discriminator=data.discriminator,this.organization=data.organization,void 0!==data.departments&&(this.departments=data.departments),void 0!==data.testModeEnabled&&(this.testModeEnabled=data.testModeEnabled),void 0!==data.testMode&&(this.testMode=data.testMode),this.timezone=data.timezone,void 0!==data.smsNumber&&(this.smsNumber=data.smsNumber),void 0!==data.checkInTime&&(this.checkInTime=data.checkInTime),void 0!==data.checkOutTime&&(this.checkOutTime=data.checkOutTime),void 0!==data.address&&(this.address=data.address),void 0!==data.latitude&&(this.latitude=data.latitude),void 0!==data.longitude&&(this.longitude=data.longitude),void 0!==data.appFeatures&&(this.appFeatures=data.appFeatures),void 0!==data.notifications&&(this.notifications=data.notifications),void 0!==data.credentials&&(this.credentials=data.credentials)}};Object.defineProperty(Property.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"property.json",title:"Property",type:"object",description:"A property is a physical asset or building",required:["id","name","type","organization","timezone","discriminator"],properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{type:"string",default:"property",enum:["property"]},discriminator:{type:"string",enum:["hospitality","education","commercial","storage"]},organization:{type:["string","null"],description:"Reference (id) to the organization that owns this property"},departments:{type:"array",items:{type:"string"}},testModeEnabled:{type:"boolean"},testMode:{type:"object",properties:{notificationEmails:{type:"array",items:{type:"string"},description:"Only users with these email addresses will receive notifications in test mode, including sms, email, or push."},notificationEmailDomains:{type:"array",items:{type:"string"},description:"Only users with email addreses ending in these domains will receive notifications in test mode, including sms, email, or push."}}},timezone:{type:"string",description:"IANA timezone string",pattern:"^([a-zA-Z]+/[a-zA-Z_]+)$",examples:["America/New_York","America/Los_Angeles"]},smsNumber:{type:"string"},checkInTime:{type:"string"},checkOutTime:{type:"string"},address:{$ref:"definitions.json#/definitions/address"},latitude:{type:"number"},longitude:{type:"number"},appFeatures:{type:"object",properties:{RoomControl:{type:"object",properties:{disabledSystems:{type:"array",items:{type:"string",enum:["climate","lights","shades","tv","doors"]}},excludedDeviceIds:{type:"array",items:{type:"string"},default:[]},commonAreas:{type:"object",properties:{spaces:{type:"array",items:{type:"string"}}}},alarmConfig:{type:"object",patternProperties:{"^[a-zA-Z0-9]+$":{type:"object",properties:{zoneLockMap:{type:"object",description:"Maps zone numbers to lock ids",additionalProperties:{type:"string"}}}}},examples:[{wZz7hucY:{zoneLockMap:{1:"wc87hucc",2:"bc86hzxc",3:"zv5ah5jv"}}}]}},additionalProperties:!1},CheckIn:{type:"object",properties:{payment:{},identification:{},earlyCheckIn:{type:"object",required:["dynamic"],properties:{dynamic:{type:"boolean",default:!1},minimumPrice:{type:"number",default:10},maximumPrice:{type:"number",default:50},priceRatioPerHour:{type:"number",default:.1},minimumTime:{type:"string"}}},roomUpgrades:{},pet:{},promos:{}}},CheckOut:{type:"object",properties:{lateCheckOut:{type:"object",required:["dynamic"],properties:{dynamic:{type:"boolean",default:!1},minimumPrice:{type:"number",default:10},maximumPrice:{type:"number",default:50},priceRatioPerHour:{type:"number",default:.1}}}}},Concierge:{type:"object",properties:{timeTracking:{type:"boolean",default:!1},tipping:{type:"boolean",default:!1},feedback:{type:"boolean",default:!0},ratings:{type:"boolean",default:!0},newTicketCCs:{type:"array",items:{type:"string"},default:[]},newMessageChannel:{type:["string","null"],enum:["sms","email"],default:"sms",description:"Determines how users should be notified of new messages in the concierge system"},quickServices:{type:"array",items:{type:"object",properties:{name:{type:"string"},description:{type:"string"},department:{type:"string"},image:{$ref:"mediaFile.json"}},required:["name","description","image"]}},issues:{type:"object",properties:{syncWithPropertyId:{type:"string"}}}}},DigitalKey:{type:"object",properties:{system:{type:"string",enum:["salto","dormakaba"]},systemOnline:{type:"boolean",default:!1},systemConfig:{type:"object",properties:{legicUrl:{type:"string",format:"uri"},legicWalletName:{type:"string"},legicAppId:{type:"number"},legicTechUsername:{type:"string"},legicTechPassword:{type:"string"}},additionalProperties:!1,default:{}},enableApp:{type:"boolean"},branding:{type:"object",properties:{logo:{type:"string",format:"uri"},gradient:{type:"array",items:{type:"string",pattern:"^(?!#ffffff)(#[0-9a-fA-F]{6})$"},minItems:2,maxItems:2},highlightedGradient:{type:"array",items:{type:"string",pattern:"^(?!#ffffff)(#[0-9a-fA-F]{6})$"},minItems:2,maxItems:3}}}}},SOS:{type:"object",properties:{active:{type:"boolean"},activeEmergencies:{type:"array",items:{type:"string",enum:["medical","fire","suspiciousPerson","other","conflict","shooter"]}}}},Elevator:{type:"object"},Experiences:{type:"object"},Dining:{type:"object",properties:{system:{type:"string",enum:["gotab"]},systemConfig:{type:"object",properties:{landingUrl:{type:"string",format:"uri"},includeUserDetails:{type:"boolean"}},additionalProperties:!1}}},Rentals:{type:"object"},Shop:{type:"object"},Spa:{type:"object"},Valet:{type:"object"}},additionalProperties:!1,default:{RoomControl:{}}},notifications:{type:"object",properties:{email:{type:"object",properties:{enabled:{type:"boolean"}},additionalProperties:!1},sms:{type:"object",properties:{enabled:{type:"boolean"}},additionalProperties:!1},push:{type:"object",properties:{enabled:{type:"boolean"}},additionalProperties:!1}},additionalProperties:!1,default:{email:{enabled:!1},sms:{enabled:!1},push:{enabled:!1}}},credentials:{type:"object",additionalProperties:!0}}}}),Object.defineProperty(Property.prototype,"validator",{get:__name((function(){return validateProperty}),"get")});var Reservation=class extends Entity{static{__name(this,"Reservation")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),void 0!==data.driver&&(this.driver=data.driver),void 0!==data.primaryGuest&&(this.primaryGuest=data.primaryGuest),this.type=data.type,void 0!==data.sharedGuests&&(this.sharedGuests=data.sharedGuests),void 0!==data.spaceCategory&&(this.spaceCategory=data.spaceCategory),void 0!==data.space&&(this.space=data.space),void 0!==data.previousSpace&&(this.previousSpace=data.previousSpace),this.status=data.status,void 0!==data.mobileCheckInSpaceCategoryChanged&&(this.mobileCheckInSpaceCategoryChanged=data.mobileCheckInSpaceCategoryChanged),void 0!==data.mobileCheckInSpaceChanged&&(this.mobileCheckInSpaceChanged=data.mobileCheckInSpaceChanged),void 0!==data.mobileCheckInStatus&&(this.mobileCheckInStatus=data.mobileCheckInStatus),void 0!==data.mobileCheckInStatusMessage&&(this.mobileCheckInStatusMessage=data.mobileCheckInStatusMessage),void 0!==data.confirmationNumber&&(this.confirmationNumber=data.confirmationNumber),void 0!==data.expectedCheckInDateTime&&(this.expectedCheckInDateTime=data.expectedCheckInDateTime),this.checkInDateTime=data.checkInDateTime,this.checkOutDateTime=data.checkOutDateTime,void 0!==data.adultCount&&(this.adultCount=data.adultCount),void 0!==data.childCount&&(this.childCount=data.childCount),void 0!==data.spaceCategoryAvailabilites&&(this.spaceCategoryAvailabilites=data.spaceCategoryAvailabilites),void 0!==data.revenue&&(this.revenue=data.revenue),void 0!==data.rateSuppressed&&(this.rateSuppressed=data.rateSuppressed),void 0!==data.payment&&(this.payment=data.payment),void 0!==data.company&&(this.company=data.company),void 0!==data.travelAgent&&(this.travelAgent=data.travelAgent),void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.metadata&&(this.metadata=data.metadata),void 0!==data.updatedAt&&(this.updatedAt=data.updatedAt)}checkInTime(tz){return new Date(this.checkInDateTime).toLocaleString("default",{hour:"numeric",minute:"numeric",timeZone:tz})}checkOutTime(tz){return new Date(this.checkOutDateTime).toLocaleString("default",{hour:"numeric",minute:"numeric",timeZone:tz})}getNights(){const start=new Date(this.checkInDateTime),end=new Date(this.checkOutDateTime);let nights=Math.round((end-start)/864e5);return nights<=0&&(nights=1),nights}};Object.defineProperty(Reservation.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"reservation.json",title:"Reservation",type:"object",required:["type","status","checkInDateTime","checkOutDateTime"],properties:{id:{$ref:"definitions.json#/definitions/id"},driver:{$ref:"definitions.json#/definitions/driver"},primaryGuest:{type:"string"},type:{type:"string",default:"reservation",enum:["reservation"]},sharedGuests:{type:"array",items:{type:"string"}},spaceCategory:{type:"string"},space:{type:["string","null"]},previousSpace:{type:["string","null"],default:null,description:"Used when there was a space assigned and it changes"},status:{type:"string",enum:["reserved","checkedIn","checkedOut","cancelled","noShow","enquired","requested","optional"],description:" reserved - confirmed by both parties, before check-in\n checkedIn - checked in\n checkedOut - checked out\n cancelled - Cancelled\n noShow - No show\n enquired - Confirmed neither by the customer nor enterprise\n requested - Confirmed by the customer but not the enterprise (waitlist)\n optional - Confirmed by the enterprise but not the customer (holding)"},mobileCheckInSpaceCategoryChanged:{type:"boolean",description:"spaceCategory has changed from original."},mobileCheckInSpaceChanged:{type:"boolean"},mobileCheckInStatus:{type:"string",enum:["ready","blocked","preArrivalStepsRequired","spaceNotAssigned","spaceNotReady","checkInTimeNotStarted"]},mobileCheckInStatusMessage:{type:"string"},confirmationNumber:{type:"string"},expectedCheckInDateTime:{type:["string","object"],format:"date-time",description:"Expected arrival time of guest."},checkInDateTime:{type:["string","object"],format:"date-time"},checkOutDateTime:{type:["string","object"],format:"date-time"},adultCount:{type:"number",default:1,minimum:1},childCount:{type:"number",default:0},spaceCategoryAvailabilites:{type:"array",items:{type:"object",properties:{id:{type:"string"},price:{type:"number"},unit:{type:"string",enum:["night","stay","hour"]},isUpgrade:{type:"boolean"}}}},revenue:{$ref:"definitions.json#/definitions/revenue"},rateSuppressed:{type:"boolean"},payment:{type:"string"},company:{type:"string"},travelAgent:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"},metadata:{$ref:"definitions.json#/definitions/metadata"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"}}}}),Object.defineProperty(Reservation.prototype,"validator",{get:__name((function(){return validateReservation}),"get")});var Room=class extends Entity{static{__name(this,"Room")}constructor(data){super(data),this.id=data.id,void 0!==data.type&&(this.type=data.type),this.name=data.name,void 0!==data.floor&&(this.floor=data.floor),void 0!==data.dimmers&&(this.dimmers=data.dimmers),void 0!==data.switches&&(this.switches=data.switches),void 0!==data.thermostats&&(this.thermostats=data.thermostats),void 0!==data.locks&&(this.locks=data.locks),void 0!==data.windowCoverings&&(this.windowCoverings=data.windowCoverings),void 0!==data.courtesy&&(this.courtesy=data.courtesy),void 0!==data.cameras&&(this.cameras=data.cameras),void 0!==data.mediaSources&&(this.mediaSources=data.mediaSources),void 0!==data.motionSensors&&(this.motionSensors=data.motionSensors),void 0!==data.alarms&&(this.alarms=data.alarms),void 0!==data.occupiedAt&&(this.occupiedAt=data.occupiedAt),void 0!==data.createdAt&&(this.createdAt=data.createdAt),void 0!==data.updatedAt&&(this.updatedAt=data.updatedAt)}static getDevicePath(type){switch(type){case"tv":case"dvr":case"appleTv":case"discPlayer":case"mediaPlayer":case"uncontrolledDevice":case"mediaSource":return"mediaSources";case"courtesy":return"courtesy";case"switch":return"switches";case"dimmer":return"dimmers";case"thermostat":return"thermostats";case"lock":return"locks";case"windowCovering":return"windowCoverings";case"camera":return"cameras";case"motionSensor":return"motionSensors";case"alarm":return"alarms";default:throw new Error("Invalid device type:"+type)}}static getDeviceTypeFromPath(path){if(!["dimmers","switches","thermostats","locks","windowCoverings","courtesy","cameras","mediaSources","motionSensors","alarms"].includes(path))throw new Error("Invalid device path:"+path);switch(path){case"courtesy":return path;case"switches":return"switch";default:return path.slice(0,-1)}}get hasDimmer(){return this.dimmers?.length>0}get hasSwitch(){return this.switches?.length>0}get hasWindowCovering(){return this.windowCoverings?.length>0}get hasShade(){return this.hasWindowCovering}get hasThermostat(){return this.thermostats?.length>0}get hasClimate(){return this.hasThermostat}get hasLock(){return this.locks?.length>0}get hasCourtesy(){return this.courtesy?.length>0}get hasCamera(){return this.cameras?.length>0}get hasMedia(){return this.mediaSources?.length>0}get hasLight(){const hasDiscriminatorLight=this.switches?.some((sw=>"light"===sw.discriminator||"fan"===sw.discriminator));return this.hasDimmer||hasDiscriminatorLight}get hasAlarm(){return this.alarms?.length>0}get occupied(){const now=new Date,lastOccupied=new Date(this.occupiedAt);return now.getTime()-lastOccupied.getTime()<36e5}};Object.defineProperty(Room.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"room.json",title:"Room",description:"A room represents a physical space of controllable IoT devices",type:"object",required:["id","name"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["room"],default:"room"},name:{type:"string"},floor:{type:"string"},dimmers:{type:"array",default:[],items:{$ref:"dimmer.json"}},switches:{type:"array",default:[],items:{$ref:"switch.json"}},thermostats:{type:"array",default:[],items:{$ref:"thermostat.json"}},locks:{type:"array",default:[],items:{$ref:"lock.json"}},windowCoverings:{type:"array",default:[],items:{$ref:"windowCovering.json"}},courtesy:{type:"array",default:[],items:{$ref:"courtesy.json"}},cameras:{type:"array",default:[],items:{$ref:"camera.json"}},mediaSources:{type:"array",default:[],items:{$ref:"mediaSource.json"}},motionSensors:{type:"array",default:[],items:{$ref:"motionSensor.json"}},alarms:{type:"array",default:[],items:{$ref:"alarm.json"}},occupiedAt:{$ref:"definitions.json#/definitions/createdAt"},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"}},additionalProperties:!1}}),Object.defineProperty(Room.prototype,"validator",{get:__name((function(){return validateRoom}),"get")});var Scene=class extends Entity{static{__name(this,"Scene")}constructor(data){super(data),this.id=data.id,this.name=data.name,void 0!==data.description&&(this.description=data.description),this.type=data.type,void 0!==data.devices&&(this.devices=data.devices),void 0!==data.isDefault&&(this.isDefault=data.isDefault),void 0!==data.showOnUi&&(this.showOnUi=data.showOnUi)}};Object.defineProperty(Scene.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"scene.json",title:"Scene",description:"A room represents a physical space of controllable IoT devices",type:"object",required:["id","name","type"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},description:{type:"string"},type:{type:"string",enum:["scene"],default:"scene"},devices:{type:"object",properties:{switches:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},state:{$ref:"switch.json#/properties/state"}},default:[]}},dimmers:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},level:{$ref:"dimmer.json#/properties/level"}}},default:[]},windowCoverings:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},position:{$ref:"windowCovering.json#/properties/position"}}},default:[]},thermostats:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},hvacMode:{$ref:"thermostat.json#/properties/hvacMode"},setpoints:{$ref:"thermostat.json#/properties/setpoints"},fanMode:{$ref:"thermostat.json#/properties/fanMode"},setpointDelta:{type:"number"}}},default:[]},mediaSources:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},volume:{type:"number",minimum:0,maximum:100},commands:{type:"array",items:{type:"string"}}}}},locks:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},state:{$ref:"lock.json#/properties/state"},mode:{$ref:"lock.json#/properties/mode"}}}}},additionalProperties:!1},isDefault:{type:"boolean",default:!1},showOnUi:{type:"boolean",default:!0}}}}),Object.defineProperty(Scene.prototype,"validator",{get:__name((function(){return validateScene}),"get")});var ShortLink=class extends Entity{static{__name(this,"ShortLink")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),void 0!==data.type&&(this.type=data.type),void 0!==data.title&&(this.title=data.title),this.destination=data.destination,this.url=data.url,void 0!==data.systemId&&(this.systemId=data.systemId)}};Object.defineProperty(ShortLink.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"shortLink.json",title:"Short Link",type:"object",required:["destination","url"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"shortLink",enum:["shortLink"]},title:{type:"string"},destination:{type:"string",format:"uri"},url:{type:"string",format:"uri"},systemId:{$ref:"definitions.json#/definitions/systemId"}}}}),Object.defineProperty(ShortLink.prototype,"validator",{get:__name((function(){return validateShortLink}),"get")});var SmsMessage=class extends Entity{static{__name(this,"SmsMessage")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),void 0!==data.type&&(this.type=data.type),this.to=data.to,this.from=data.from,void 0!==data.media&&(this.media=data.media),this.status=data.status,void 0!==data.body&&(this.body=data.body),void 0!==data.driver&&(this.driver=data.driver),void 0!==data.appData&&(this.appData=data.appData),void 0!==data.createdAt&&(this.createdAt=data.createdAt),void 0!==data.updatedAt&&(this.updatedAt=data.updatedAt),void 0!==data.systemId&&(this.systemId=data.systemId)}};Object.defineProperty(SmsMessage.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"smsMessage.json",title:"Sms Message",type:"object",required:["to","from","status"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"smsMessage",enum:["smsMessage","whatsappMessage"]},to:{type:"string"},from:{type:"string"},media:{type:"string",format:"uri"},status:{type:"string",enum:["queued","accepted","sending","sent","failed","delivered","undelivered","receiving","received","read"]},body:{type:"string"},driver:{type:"string"},appData:{type:"object"},createdAt:{$ref:"definitions.json#/definitions/date"},updatedAt:{$ref:"definitions.json#/definitions/date"},systemId:{$ref:"definitions.json#/definitions/systemId"}}}}),Object.defineProperty(SmsMessage.prototype,"validator",{get:__name((function(){return validateSmsMessage}),"get")});var Space=class extends Entity{static{__name(this,"Space")}constructor(data){super(data),this.id=data.id,this.name=data.name,this.type=data.type,this.discriminator=data.discriminator,void 0!==data.driver&&(this.driver=data.driver),void 0!==data.category&&(this.category=data.category),void 0!==data.rooms&&(this.rooms=data.rooms),void 0!==data.subGroups&&(this.subGroups=data.subGroups),void 0!==data.occupied&&(this.occupied=data.occupied),void 0!==data.inUse&&(this.inUse=data.inUse),void 0!==data.eco&&(this.eco=data.eco),void 0!==data.features&&(this.features=data.features),void 0!==data.maximumOccupancy&&(this.maximumOccupancy=data.maximumOccupancy),void 0!==data.housekeepingStatus&&(this.housekeepingStatus=data.housekeepingStatus),void 0!==data.serviceStatus&&(this.serviceStatus=data.serviceStatus),void 0!==data.systemId&&(this.systemId=data.systemId)}get floor(){const floors=new Set;return this.rooms.forEach((room=>{room.floor&&floors.add(room.floor)})),1==floors.size?[...floors][0]:void 0}get hasDimmer(){return this.rooms.some((room=>room.hasDimmer))}get hasSwitch(){return this.rooms.some((room=>room.hasSwitch))}get hasWindowCovering(){return this.rooms.some((room=>room.hasWindowCovering))}get hasThermostat(){return this.rooms.some((room=>room.hasThermostat))}get hasLock(){return this.rooms.some((room=>room.hasLock))}get hasCourtesy(){return this.rooms.some((room=>room.hasCourtesy))}get hasCamera(){return this.rooms.some((room=>room.hasCamera))}get hasAlarm(){return this.rooms.some((room=>room.hasAlarm))}get hasMedia(){return this.rooms.some((room=>room.hasMedia))}};Object.defineProperty(Space.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"space.json",title:"Space",type:"object",required:["id","name","type","discriminator"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string",minLength:1},type:{type:"string",default:"space",enum:["space"]},discriminator:{type:"string",enum:["classRoom","hotelRoom","office","building","commonArea","conferenceRoom","lobby","gym","pool","restaurant","unit"]},driver:{$ref:"definitions.json#/definitions/driver"},category:{type:"string",description:"This is the category id"},rooms:{type:"array",items:{type:"string"}},subGroups:{type:"array",items:{type:"string"}},occupied:{type:"boolean"},inUse:{type:"boolean"},eco:{type:"object",additionalProperties:!1,default:{active:!1,allowed:!1,previousState:null},properties:{active:{type:"boolean",default:!1},activatedAt:{type:["string","object"],format:"date-time"},allowed:{type:"boolean",default:!1},previousState:{type:["object","null"],properties:{thermostats:{type:"object",patternProperties:{".*":{type:"object",properties:{setpoints:{$ref:"thermostat.json#/properties/setpoints"}}}}}},additionalProperties:!1}}},features:{type:"array",items:{type:"string",enum:["pet"]}},maximumOccupancy:{type:"number",minimum:1},housekeepingStatus:{type:"string",enum:["clean","dirty","inspected","pickup"]},serviceStatus:{type:"string",enum:["inService","outOfOrder","outOfService"]},systemId:{$ref:"definitions.json#/definitions/systemId"}}}}),Object.defineProperty(Space.prototype,"validator",{get:__name((function(){return validateSpace}),"get")});var Switch=class extends Entity{static{__name(this,"Switch")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),this.type=data.type,void 0!==data.discriminator&&(this.discriminator=data.discriminator),void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),this.driver=data.driver,void 0!==data.offline&&(this.offline=data.offline),this.state=data.state,void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion),void 0!==data.restoresAt&&(this.restoresAt=data.restoresAt)}};Object.defineProperty(Switch.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"switch.json",title:"Switch",description:"Any smart switch",type:"object",required:["id","type","state","driver"],properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},discriminator:{type:"string",enum:["light","fan","irrigation"]},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},state:{type:"string",enum:["on","off"]},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"},restoresAt:{type:"string",format:"date-time"}}}}),Object.defineProperty(Switch.prototype,"validator",{get:__name((function(){return validateSwitch}),"get")});var SystemUser=class extends Entity{static{__name(this,"SystemUser")}constructor(data){super(data),this.id=data.id,void 0!==data.type&&(this.type=data.type),void 0!==data.driver&&(this.driver=data.driver),this.firstName=data.firstName,this.lastName=data.lastName,void 0!==data.phone&&(this.phone=data.phone),void 0!==data.email&&(this.email=data.email),void 0!==data.address&&(this.address=data.address),void 0!==data.photo&&(this.photo=data.photo),void 0!==data.jobTitle&&(this.jobTitle=data.jobTitle),void 0!==data.dob&&(this.dob=data.dob),void 0!==data.gender&&(this.gender=data.gender),void 0!==data.roles&&(this.roles=data.roles),void 0!==data.nationality&&(this.nationality=data.nationality),void 0!==data.notes&&(this.notes=data.notes),void 0!==data.files&&(this.files=data.files),void 0!==data.identifications&&(this.identifications=data.identifications),void 0!==data.payments&&(this.payments=data.payments),void 0!==data.revenue&&(this.revenue=data.revenue),void 0!==data.createdAt&&(this.createdAt=data.createdAt),void 0!==data.updatedAt&&(this.updatedAt=data.updatedAt),void 0!==data.systemId&&(this.systemId=data.systemId)}};Object.defineProperty(SystemUser.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"systemUser.json",title:"System User",description:"A system user is a user that originated from an external 3rd party system.",type:"object",required:["id","firstName","lastName"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"systemUser",enum:["systemUser"]},driver:{$ref:"definitions.json#/definitions/driver"},firstName:{type:"string"},lastName:{type:"string"},phone:{type:["string","null"],pattern:"^\\+[0-9]{1,14}$"},email:{type:["string","null"],format:"email"},address:{$ref:"definitions.json#/definitions/address"},photo:{type:"string"},jobTitle:{type:"string"},dob:{type:"string"},gender:{type:"string",enum:["male","female"]},roles:{type:"array",items:{type:"string",enum:["Guest","User","Manager","Maintenance","Administrator","SuperAdmin"]}},nationality:{type:"string",minLength:2,maxLength:2},notes:{type:"array",items:{type:"string"}},files:{type:"array",items:{$ref:"mediaFile.json#"}},identifications:{type:"array",items:{$ref:"identification.json#"}},payments:{type:"array",items:{$ref:"payment.json#"}},revenue:{$ref:"definitions.json#/definitions/revenue"},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"},systemId:{$ref:"definitions.json#/definitions/systemId"}}}}),Object.defineProperty(SystemUser.prototype,"validator",{get:__name((function(){return validateSystemUser}),"get")});var Thermostat=class extends Entity{static{__name(this,"Thermostat")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),this.type=data.type,this.driver=data.driver,void 0!==data.offline&&(this.offline=data.offline),void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),void 0!==data.currentTemperature&&(this.currentTemperature=data.currentTemperature),void 0!==data.currentHumidity&&(this.currentHumidity=data.currentHumidity),this.hvacMode=data.hvacMode,this.hvacState=data.hvacState,this.fanMode=data.fanMode,this.fanState=data.fanState,this.temperatureScale=data.temperatureScale,void 0!==data.humidityScale&&(this.humidityScale=data.humidityScale),this.supportedHvacModes=data.supportedHvacModes,this.supportedFanModes=data.supportedFanModes,this.setpoints=data.setpoints,void 0!==data.minAutoDelta&&(this.minAutoDelta=data.minAutoDelta),void 0!==data.cycleRate&&(this.cycleRate=data.cycleRate),void 0!==data.batteryLevel&&(this.batteryLevel=data.batteryLevel),void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion)}};Object.defineProperty(Thermostat.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"thermostat.json",title:"Thermostat",description:"Any smart thermostat",type:"object",required:["id","type","hvacMode","fanMode","hvacState","fanState","setpoints","temperatureScale","supportedHvacModes","supportedFanModes","driver"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{$ref:"definitions.json#/definitions/name"},type:{$ref:"definitions.json#/definitions/type",default:"thermostat"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},currentTemperature:{type:"number"},currentHumidity:{type:"number",minimum:0},hvacMode:{type:"string",$ref:"#/properties/supportedHvacModes/items"},hvacState:{type:["string","null"],enum:["cooling","heating","off",null]},fanMode:{type:"string",$ref:"#/properties/supportedFanModes/items"},fanState:{type:["string","null"],enum:["off","low","medium","high","on",null]},temperatureScale:{type:"string",enum:["celsius","fahrenheit"],default:"fahrenheit"},humidityScale:{type:["string","null"],enum:["absolute","relative",null]},supportedHvacModes:{type:"array",uniqueItems:!0,minItems:2,items:{enum:["cool","heat","auto","off"]}},supportedFanModes:{type:"array",uniqueItems:!0,items:{enum:["auto","low","medium","high","off","on"]}},setpoints:{type:"object",additionalProperties:!1,properties:{cool:{$ref:"#/$defs/setpoint"},heat:{$ref:"#/$defs/setpoint"},auto:{$ref:"#/$defs/setpoint"}}},minAutoDelta:{type:"number",default:3},cycleRate:{type:"number"},batteryLevel:{$ref:"definitions.json#/definitions/batteryLevel"},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},$defs:{setpoint:{type:"object",additionalProperties:!1,properties:{value:{$ref:"#/$defs/setpointValue"},min:{$ref:"#/$defs/setpointMinMax"},max:{$ref:"#/$defs/setpointMinMax"}}},setpointValue:{type:"number",minimum:0,maximum:99},setpointMinMax:{type:["number","null"],minimum:0,maximum:99}}}}),Object.defineProperty(Thermostat.prototype,"validator",{get:__name((function(){return validateThermostat}),"get")});var Ticket=class extends Entity{static{__name(this,"Ticket")}constructor(data){super(data),this.id=data.id,void 0!==data.type&&(this.type=data.type),void 0!==data.number&&(this.number=data.number),void 0!==data.issueId&&(this.issueId=data.issueId),this.conversation=data.conversation,void 0!==data.subject&&(this.subject=data.subject),void 0!==data.openedBy&&(this.openedBy=data.openedBy),this.requester=data.requester,void 0!==data.assignedTo&&(this.assignedTo=data.assignedTo),void 0!==data.notify&&(this.notify=data.notify),void 0!==data.collaborators&&(this.collaborators=data.collaborators),void 0!==data.location&&(this.location=data.location),this.status=data.status,void 0!==data.priority&&(this.priority=data.priority),this.tags=data.tags,void 0!==data.department&&(this.department=data.department),void 0!==data.rating&&(this.rating=data.rating),void 0!==data.ratingComment&&(this.ratingComment=data.ratingComment),void 0!==data.tipAmount&&(this.tipAmount=data.tipAmount),void 0!==data.autoCloseAt&&(this.autoCloseAt=data.autoCloseAt),void 0!==data.scheduleDate&&(this.scheduleDate=data.scheduleDate),this.createdAt=data.createdAt,this.updatedAt=data.updatedAt,void 0!==data.solvedAt&&(this.solvedAt=data.solvedAt),void 0!==data.closedAt&&(this.closedAt=data.closedAt)}};Object.defineProperty(Ticket.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"ticket.json",title:"Ticket",description:"A ticket is a request from a user.",type:"object",required:["id","conversation","requester","status","tags","createdAt","updatedAt"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["ticket"],default:"ticket"},number:{type:"string"},issueId:{type:"string"},conversation:{type:"array",default:[],items:{type:"object",additionalProperties:!1,required:["id","discriminator","timestamp","body"],properties:{id:{type:"string"},discriminator:{type:"string",enum:["message","opened","assigned","rated","tipped","scheduled","collaboratorAdded","collaboratorRemoved","statusChanged","priorityChanged","scheduleDateChanged","locationChanged"],default:"message"},userId:{type:"string"},userName:{type:"string"},vendorId:{type:"string"},vendorName:{type:"string"},systemId:{type:"string"},systemName:{type:"string"},timestamp:{$ref:"definitions.json#/definitions/createdAt"},body:{type:"string"},parsedBody:{type:"object",additionalProperties:!1,properties:{text:{type:"string"},mentions:{type:"array",default:[],items:{type:"object",additionalProperties:!1,required:["discriminator","id","index","length","originalText"],properties:{id:{type:"string"},discriminator:{type:"string",enum:["user","vendor","system"]},index:{type:"integer"},length:{type:"integer"},originalText:{type:"string"}}}}}},readBy:{type:"array",default:[],items:{type:"string"}},media:{anyOf:[{$ref:"mediaFile.json"},{type:"null"}]}}}},subject:{type:"string"},openedBy:{type:"object",properties:{userId:{type:"string"},userName:{type:"string"},systemId:{type:"string"},systemName:{type:"string"}}},requester:{type:"object",properties:{systemId:{type:"string"},systemName:{type:"string"},systemPhoto:{anyOf:[{$ref:"mediaFile.json"},{type:"null"},{type:"string"}]},userId:{type:"string"},userName:{type:"string"},userPhoto:{anyOf:[{$ref:"mediaFile.json"},{type:"null"},{type:"string"}]},deviceId:{type:"string"},roomId:{type:"string"},reservationId:{type:"string"},spaceId:{type:"string"},spaceName:{type:"string"}}},assignedTo:{type:"object",properties:{userId:{type:"string"},userName:{type:"string"},userPhoto:{anyOf:[{$ref:"mediaFile.json"},{type:"null"},{type:"string"}]},vendorId:{type:"string"},vendorName:{type:"string"},vendorPhoto:{anyOf:[{$ref:"mediaFile.json"},{type:"null"},{type:"string"}]}}},notify:{type:"array",description:"A list of entities to notify when this ticket is created or resolved.",default:[],items:{type:"object",required:["id","discriminator"],additionalProperties:!1,properties:{id:{type:"string",description:"The ID of the entity to notify."},discriminator:{type:"string",enum:["user"]}}}},collaborators:{type:"array",default:[],items:{type:"object",required:["id","name","discriminator"],additionalProperties:!1,properties:{id:{type:"string"},name:{type:"string"},discriminator:{type:"string",enum:["user","vendor"]}}}},location:{type:"object",required:["discriminator","name"],additionalProperties:!1,properties:{id:{type:"string"},discriminator:{type:"string",enum:["space","room","property","customText"]},name:{type:"string"}}},status:{type:"string",enum:["open","pending","solved","closed"],default:"open"},priority:{type:"string",enum:["low","normal","high"],default:"normal"},tags:{type:"array",default:[],items:{type:"string"}},department:{type:"string"},rating:{type:"number",minimum:0,maximum:5},ratingComment:{type:"string"},tipAmount:{type:"string"},autoCloseAt:{$ref:"definitions.json#/definitions/date"},scheduleDate:{$ref:"definitions.json#/definitions/date"},createdAt:{$ref:"definitions.json#/definitions/date"},updatedAt:{$ref:"definitions.json#/definitions/date"},solvedAt:{$ref:"definitions.json#/definitions/date"},closedAt:{$ref:"definitions.json#/definitions/date"}}}}),Object.defineProperty(Ticket.prototype,"validator",{get:__name((function(){return validateTicket}),"get")});var TimeSheet=class extends Entity{static{__name(this,"TimeSheet")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),void 0!==data.type&&(this.type=data.type),this.userId=data.userId,this.day=data.day,void 0!==data.locked&&(this.locked=data.locked),void 0!==data.timeEntries&&(this.timeEntries=data.timeEntries)}};Object.defineProperty(TimeSheet.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"timeSheet.json",title:"Time Sheet",type:"object",required:["userId","day"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"timeSheet",enum:["timeSheet"]},userId:{$ref:"definitions.json#/definitions/id"},day:{type:["string","object"],format:"date-time"},locked:{type:"boolean",default:!1,description:"If true, the time sheet is locked and cannot be modified"},timeEntries:{type:"array",default:[],items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},discriminator:{type:"string",enum:["working","driving","meeting","break"]},start:{type:["string","object"],format:"date-time"},end:{type:["string","object"],format:"date-time"},comment:{type:"string"},ticketId:{type:"string"}},required:["start","discriminator"],additionalProperties:!1}}}}}),Object.defineProperty(TimeSheet.prototype,"validator",{get:__name((function(){return validateTimeSheet}),"get")});var User=class extends Entity{static{__name(this,"User")}constructor(data){super(data),this.id=data.id,void 0!==data.type&&(this.type=data.type),this.firstName=data.firstName,this.lastName=data.lastName,void 0!==data.phone&&(this.phone=data.phone),void 0!==data.phoneVerified&&(this.phoneVerified=data.phoneVerified),void 0!==data.email&&(this.email=data.email),void 0!==data.emailVerified&&(this.emailVerified=data.emailVerified),void 0!==data.whatsapp&&(this.whatsapp=data.whatsapp),void 0!==data.whatsappVerified&&(this.whatsappVerified=data.whatsappVerified),void 0!==data.address&&(this.address=data.address),void 0!==data.secretKey&&(this.secretKey=data.secretKey),void 0!==data.photo&&(this.photo=data.photo),void 0!==data.jobTitle&&(this.jobTitle=data.jobTitle),void 0!==data.dob&&(this.dob=data.dob),void 0!==data.gender&&(this.gender=data.gender),void 0!==data.nationality&&(this.nationality=data.nationality),void 0!==data.permissions&&(this.permissions=data.permissions),void 0!==data.preferences&&(this.preferences=data.preferences),void 0!==data.notes&&(this.notes=data.notes),void 0!==data.files&&(this.files=data.files),void 0!==data.identifications&&(this.identifications=data.identifications),void 0!==data.payments&&(this.payments=data.payments),void 0!==data.location&&(this.location=data.location),void 0!==data.reservations&&(this.reservations=data.reservations),void 0!==data.spaceName&&(this.spaceName=data.spaceName),void 0!==data.revenue&&(this.revenue=data.revenue),void 0!==data.createdAt&&(this.createdAt=data.createdAt),void 0!==data.updatedAt&&(this.updatedAt=data.updatedAt),void 0!==data.systems&&(this.systems=data.systems)}get fullName(){return`${this.firstName} ${this.lastName}`}get roles(){const roles=new Set;if(this.permissions)for(const permission of this.permissions)roles.add(permission.role);return Array.from(roles)}get isSuperAdmin(){return this.roles.includes("SuperAdmin")}get isAdmin(){return this.roles.includes("Admin")||this.roles.includes("Administrator")}get isManager(){return this.roles.includes("Manager")}get isUser(){return this.roles.includes("User")}};Object.defineProperty(User.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"user.json",title:"User",type:"object",required:["id","firstName","lastName"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"user"},firstName:{type:"string"},lastName:{type:"string"},phone:{type:["string","null"],pattern:"^\\+[0-9]{1,14}$"},phoneVerified:{type:"boolean"},email:{type:["string","null"],format:"email"},emailVerified:{type:"boolean"},whatsapp:{type:["string","null"],pattern:"^\\+[0-9]{1,14}$"},whatsappVerified:{type:"boolean"},address:{$ref:"definitions.json#/definitions/address"},secretKey:{type:"string"},photo:{$ref:"mediaFile.json#"},jobTitle:{type:"string"},dob:{type:"string"},gender:{type:"string",enum:["male","female"]},nationality:{type:"string",minLength:2,maxLength:2},permissions:{type:"array",default:[],items:{type:"object",required:["organizationId","propertyId","role"],properties:{organizationId:{type:"string",description:"The ID of the organization the permission is applies to."},propertyId:{type:"string",description:"The ID of the property the permission is applies to."},role:{type:"string",enum:["Guest","User","Agent","Manager","Maintenance","Administrator","SuperAdmin"]},timeTrackingEnabled:{type:"boolean",description:"Whether time tracking is enabled for this role."},department:{type:"string",description:"The department the user belongs to."},policyIds:{type:"array",items:{type:"string",description:"ID of a policy that is applied to this role."}},policies:{type:"array",items:{description:"A policy object populated from the policyIds array.",$ref:"policy.json"}}},additionalProperties:!1}},preferences:{type:"array",items:{type:"object",additionalProperties:!1,required:["organizationId","propertyId"],properties:{organizationId:{type:"string"},propertyId:{type:"string"},notifications:{type:"array",items:{type:"object",additionalProperties:!1,required:["discriminator","enabled"],properties:{discriminator:{type:"string",enum:["observerTicketCreated","observerTicketResolved"]},enabled:{type:"boolean"}}}}}}},notes:{type:"array",items:{type:"string"}},files:{type:"array",items:{$ref:"mediaFile.json#"}},identifications:{type:"array",items:{$ref:"identification.json#"}},payments:{type:"array",items:{$ref:"payment.json#"}},location:{type:"object",required:["accuracy","latitude","longitude","timestamp"],additionalProperties:!1,properties:{accuracy:{type:["number","null"]},latitude:{type:["number","null"]},longitude:{type:["number","null"]},timestamp:{type:["number","null"]}}},reservations:{type:"array",items:{$ref:"reservation.json"}},spaceName:{type:"string"},revenue:{$ref:"definitions.json#/definitions/revenue"},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"},systems:{type:"array",default:[],items:{type:"object",properties:{systemId:{type:"string"},propertyId:{type:"string"},driver:{type:"string"}},required:["systemId","propertyId","driver"],additionalProperties:!1}}}}}),Object.defineProperty(User.prototype,"validator",{get:__name((function(){return validateUser}),"get")});var Vendor=class extends Entity{static{__name(this,"Vendor")}constructor(data){super(data),this.id=data.id,void 0!==data.type&&(this.type=data.type),this.name=data.name,void 0!==data.phone&&(this.phone=data.phone),this.email=data.email,void 0!==data.address&&(this.address=data.address),void 0!==data.photo&&(this.photo=data.photo),void 0!==data.createdAt&&(this.createdAt=data.createdAt),void 0!==data.updatedAt&&(this.updatedAt=data.updatedAt)}};Object.defineProperty(Vendor.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"vendor.json",title:"Vendor",type:"object",required:["id","name","email"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"vendor",enum:["vendor"]},name:{type:"string"},phone:{type:["string","null"],pattern:"^\\+[0-9]{1,14}$"},email:{type:["string","null"],format:"email"},address:{$ref:"definitions.json#/definitions/address"},photo:{$ref:"mediaFile.json#"},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"}}}}),Object.defineProperty(Vendor.prototype,"validator",{get:__name((function(){return validateVendor}),"get")});var WindowCovering=class extends Entity{static{__name(this,"WindowCovering")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),this.type=data.type,void 0!==data.discriminator&&(this.discriminator=data.discriminator),void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),this.driver=data.driver,void 0!==data.offline&&(this.offline=data.offline),this.position=data.position,void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion)}};Object.defineProperty(WindowCovering.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"windowCovering.json",title:"Window Covering",description:"Any smart window covering",required:["id","type","position","driver"],additionalProperties:!1,type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type",default:"windowCovering"},discriminator:{type:"string",enum:["basic","variable"],default:"variable"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},position:{type:["number","null"],minimum:0,maximum:100},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}}}}),Object.defineProperty(WindowCovering.prototype,"validator",{get:__name((function(){return validateWindowCovering}),"get")});var useCases_exports={};__export(useCases_exports,{AssignSpaceToReservationCommand:()=>AssignSpaceToReservationCommand,AutoAssociateDiscoveredDevicesCommand:()=>AutoAssociateDiscoveredDevicesCommand,AutoCloseTicketsCommand:()=>AutoCloseTicketsCommand,BatchNotifyCheckInCommand:()=>BatchNotifyCheckInCommand,BatchNotifyCheckOutCommand:()=>BatchNotifyCheckOutCommand,BatchNotifyMissedCheckOutCommand:()=>BatchNotifyMissedCheckOutCommand,BatchNotifyPreArrivalCommand:()=>BatchNotifyPreArrivalCommand,BulkUpdateIssueCommand:()=>BulkUpdateIssueCommand,CheckInReservationCommand:()=>CheckInReservationCommand,CheckOutReservationCommand:()=>CheckOutReservationCommand,CheckVerificationCodeCommand:()=>CheckVerificationCodeCommand,CreateAlarmCommand:()=>CreateAlarmCommand,CreateAnnouncementCommand:()=>CreateAnnouncementCommand,CreateAutomationCommand:()=>CreateAutomationCommand,CreateCameraCommand:()=>CreateCameraCommand,CreateCategoryCommand:()=>CreateCategoryCommand,CreateCourtesyCommand:()=>CreateCourtesyCommand,CreateDefaultScenesCommand:()=>CreateDefaultScenesCommand,CreateDimmerCommand:()=>CreateDimmerCommand,CreateDiscoveredDeviceAssociationCommand:()=>CreateDiscoveredDeviceAssociationCommand,CreateDiscoveredDeviceAssociationMapCommand:()=>CreateDiscoveredDeviceAssociationMapCommand,CreateDiscoveredDeviceCommand:()=>CreateDiscoveredDeviceCommand,CreateImageUploadEndpointCommand:()=>CreateImageUploadEndpointCommand,CreateIssueCommand:()=>CreateIssueCommand,CreateLockCommand:()=>CreateLockCommand,CreateMediaSourceCommand:()=>CreateMediaSourceCommand,CreateOrganizationCommand:()=>CreateOrganizationCommand,CreatePolicyCommand:()=>CreatePolicyCommand,CreatePropertyCommand:()=>CreatePropertyCommand,CreateReservationCommand:()=>CreateReservationCommand,CreateRoomCommand:()=>CreateRoomCommand,CreateRoomInSpaceCommand:()=>CreateRoomInSpaceCommand,CreateSceneCommand:()=>CreateSceneCommand,CreateSpaceCommand:()=>CreateSpaceCommand,CreateSwitchCommand:()=>CreateSwitchCommand,CreateThermostatCommand:()=>CreateThermostatCommand,CreateTicketCommand:()=>CreateTicketCommand,CreateTicketMessageCommand:()=>CreateTicketMessageCommand,CreateTimeSheetCommand:()=>CreateTimeSheetCommand,CreateTimeSheetTimeEntryCommand:()=>CreateTimeSheetTimeEntryCommand,CreateUserCommand:()=>CreateUserCommand,CreateUserMobileKeyCommand:()=>CreateUserMobileKeyCommand,CreateVendorCommand:()=>CreateVendorCommand,CreateWindowCoveringCommand:()=>CreateWindowCoveringCommand,DeleteAlarmCommand:()=>DeleteAlarmCommand,DeleteAnnouncementCommand:()=>DeleteAnnouncementCommand,DeleteAutomationCommand:()=>DeleteAutomationCommand,DeleteCameraCommand:()=>DeleteCameraCommand,DeleteCategoryCommand:()=>DeleteCategoryCommand,DeleteCourtesyCommand:()=>DeleteCourtesyCommand,DeleteDimmerCommand:()=>DeleteDimmerCommand,DeleteDiscoveredDeviceCommand:()=>DeleteDiscoveredDeviceCommand,DeleteIssueCommand:()=>DeleteIssueCommand,DeleteLockCommand:()=>DeleteLockCommand,DeleteMediaFileCommand:()=>DeleteMediaFileCommand,DeleteMediaSourceCommand:()=>DeleteMediaSourceCommand,DeletePolicyCommand:()=>DeletePolicyCommand,DeleteReservationCommand:()=>DeleteReservationCommand,DeleteRoomCommand:()=>DeleteRoomCommand,DeleteSpaceCommand:()=>DeleteSpaceCommand,DeleteSwitchCommand:()=>DeleteSwitchCommand,DeleteThermostatCommand:()=>DeleteThermostatCommand,DeleteTicketCommand:()=>DeleteTicketCommand,DeleteTimeSheetCommand:()=>DeleteTimeSheetCommand,DeleteTimeSheetTimeEntryCommand:()=>DeleteTimeSheetTimeEntryCommand,DeleteUserCommand:()=>DeleteUserCommand,DeleteUserCredentialCommand:()=>DeleteUserCredentialCommand,DeleteVendorCommand:()=>DeleteVendorCommand,DeleteWindowCoveringCommand:()=>DeleteWindowCoveringCommand,DescribeAlarmCommand:()=>DescribeAlarmCommand,DescribeAlarmConfigCommand:()=>DescribeAlarmConfigCommand,DescribeAnnouncementCommand:()=>DescribeAnnouncementCommand,DescribeAutomationCommand:()=>DescribeAutomationCommand,DescribeCameraCommand:()=>DescribeCameraCommand,DescribeCategoryCommand:()=>DescribeCategoryCommand,DescribeCourtesyCommand:()=>DescribeCourtesyCommand,DescribeDimmerCommand:()=>DescribeDimmerCommand,DescribeDiscoveredDeviceCommand:()=>DescribeDiscoveredDeviceCommand,DescribeIssueCommand:()=>DescribeIssueCommand,DescribeLockCommand:()=>DescribeLockCommand,DescribeLockCredentialCommand:()=>DescribeLockCredentialCommand,DescribeMediaSourceCommand:()=>DescribeMediaSourceCommand,DescribeMyAuthCommand:()=>DescribeMyAuthCommand,DescribeMyMobileKeyAppCommand:()=>DescribeMyMobileKeyAppCommand,DescribeMyOrganizationCommand:()=>DescribeMyOrganizationCommand,DescribeMyPasskeyRegistrationsCommand:()=>DescribeMyPasskeyRegistrationsCommand,DescribeOrganizationCommand:()=>DescribeOrganizationCommand,DescribePolicyCommand:()=>DescribePolicyCommand,DescribeProductCommand:()=>DescribeProductCommand,DescribePropertyCommand:()=>DescribePropertyCommand,DescribeReservationCommand:()=>DescribeReservationCommand,DescribeReservationEarlyCheckInProductsCommand:()=>DescribeReservationEarlyCheckInProductsCommand,DescribeReservationLateCheckOutProductsCommand:()=>DescribeReservationLateCheckOutProductsCommand,DescribeReservationPetProductsCommand:()=>DescribeReservationPetProductsCommand,DescribeReservationPromosCommand:()=>DescribeReservationPromosCommand,DescribeReservationRoomUpgradesCommand:()=>DescribeReservationRoomUpgradesCommand,DescribeRoomCommand:()=>DescribeRoomCommand,DescribeSOSCommand:()=>DescribeSOSCommand,DescribeSelfCommand:()=>DescribeSelfCommand,DescribeSpaceCommand:()=>DescribeSpaceCommand,DescribeSwitchCommand:()=>DescribeSwitchCommand,DescribeThermostatCommand:()=>DescribeThermostatCommand,DescribeTicketCommand:()=>DescribeTicketCommand,DescribeTicketFiltersCommand:()=>DescribeTicketFiltersCommand,DescribeTicketStatsCommand:()=>DescribeTicketStatsCommand,DescribeTimeSheetCommand:()=>DescribeTimeSheetCommand,DescribeTimeSheetStatsCommand:()=>DescribeTimeSheetStatsCommand,DescribeUserCommand:()=>DescribeUserCommand,DescribeVendorCommand:()=>DescribeVendorCommand,DescribeWindowCoveringCommand:()=>DescribeWindowCoveringCommand,DiscoverReservationsCommand:()=>DiscoverReservationsCommand,EmailUserAccountSetupCommand:()=>EmailUserAccountSetupCommand,FinishRegisterPasskeyCommand:()=>FinishRegisterPasskeyCommand,LeaveTicketCommand:()=>LeaveTicketCommand,ListAlarmsCommand:()=>ListAlarmsCommand,ListAnnouncementsCommand:()=>ListAnnouncementsCommand,ListAutomationsCommand:()=>ListAutomationsCommand,ListCameraStreamPreviewsCommand:()=>ListCameraStreamPreviewsCommand,ListCamerasCommand:()=>ListCamerasCommand,ListCategoriesCommand:()=>ListCategoriesCommand,ListCourtesyCommand:()=>ListCourtesyCommand,ListDimmersCommand:()=>ListDimmersCommand,ListDiscoveredDevicesCommand:()=>ListDiscoveredDevicesCommand,ListIssuesCommand:()=>ListIssuesCommand,ListLocksCommand:()=>ListLocksCommand,ListMediaSourcesCommand:()=>ListMediaSourcesCommand,ListMyOrdersCommand:()=>ListMyOrdersCommand,ListMyPropertiesCommand:()=>ListMyPropertiesCommand,ListMyReservationsCommand:()=>ListMyReservationsCommand,ListMySpacesCommand:()=>ListMySpacesCommand,ListMyTicketsCommand:()=>ListMyTicketsCommand,ListMyTimeSheetsCommand:()=>ListMyTimeSheetsCommand,ListOrdersCommand:()=>ListOrdersCommand,ListOrganizationsCommand:()=>ListOrganizationsCommand,ListPoliciesCommand:()=>ListPoliciesCommand,ListProductsCommand:()=>ListProductsCommand,ListPropertiesCommand:()=>ListPropertiesCommand,ListReservationsCommand:()=>ListReservationsCommand,ListRoomsCommand:()=>ListRoomsCommand,ListRoomsInSpaceCommand:()=>ListRoomsInSpaceCommand,ListScenesCommand:()=>ListScenesCommand,ListSpacesCommand:()=>ListSpacesCommand,ListSwitchesCommand:()=>ListSwitchesCommand,ListTeamCommand:()=>ListTeamCommand,ListThermostatsCommand:()=>ListThermostatsCommand,ListTicketLocationsCommand:()=>ListTicketLocationsCommand,ListTicketsCommand:()=>ListTicketsCommand,ListTimeSheetsCommand:()=>ListTimeSheetsCommand,ListUserMobileKeysCommand:()=>ListUserMobileKeysCommand,ListUserOrdersCommand:()=>ListUserOrdersCommand,ListUserReservationsCommand:()=>ListUserReservationsCommand,ListUserSpacesCommand:()=>ListUserSpacesCommand,ListUsersCommand:()=>ListUsersCommand,ListVendorsCommand:()=>ListVendorsCommand,ListWindowCoveringsCommand:()=>ListWindowCoveringsCommand,LoginFinishCommand:()=>LoginFinishCommand,LoginStartCommand:()=>LoginStartCommand,LogoutSelfCommand:()=>LogoutSelfCommand,LogoutUserCommand:()=>LogoutUserCommand,MatchUserIdentificationCommand:()=>MatchUserIdentificationCommand,OCRDocumentCommand:()=>OCRDocumentCommand,PurchaseReservationEarlyCheckInProductsCommand:()=>PurchaseReservationEarlyCheckInProductsCommand,PurchaseReservationLateCheckOutProductsCommand:()=>PurchaseReservationLateCheckOutProductsCommand,PurchaseReservationPetProductsCommand:()=>PurchaseReservationPetProductsCommand,PurchaseReservationPromosCommand:()=>PurchaseReservationPromosCommand,PurchaseReservationRoomUpgradesCommand:()=>PurchaseReservationRoomUpgradesCommand,RefreshTokenCommand:()=>RefreshTokenCommand,RequestLoginTokenCommand:()=>RequestLoginTokenCommand,SendCheckInSMSCommand:()=>SendCheckInSMSCommand,SendCheckOutSMSCommand:()=>SendCheckOutSMSCommand,SendPreArrivalEmailCommand:()=>SendPreArrivalEmailCommand,SendPreArrivalSMSCommand:()=>SendPreArrivalSMSCommand,SendRoomControlSMSCommand:()=>SendRoomControlSMSCommand,SendVerificationCodeCommand:()=>SendVerificationCodeCommand,SetAlarmCommand:()=>SetAlarmCommand,SetCameraCommand:()=>SetCameraCommand,SetCourtesyCommand:()=>SetCourtesyCommand,SetDimmerCommand:()=>SetDimmerCommand,SetLockCommand:()=>SetLockCommand,SetMediaSourceCommand:()=>SetMediaSourceCommand,SetRoomSceneCommand:()=>SetRoomSceneCommand,SetSceneCommand:()=>SetSceneCommand,SetSpaceSceneCommand:()=>SetSpaceSceneCommand,SetSwitchCommand:()=>SetSwitchCommand,SetThermostatCommand:()=>SetThermostatCommand,SetWindowCoveringCommand:()=>SetWindowCoveringCommand,StartRegisterPasskeyCommand:()=>StartRegisterPasskeyCommand,StartSOSCommand:()=>StartSOSCommand,StopSOSCommand:()=>StopSOSCommand,TipUserCommand:()=>TipUserCommand,UpdateAlarmCommand:()=>UpdateAlarmCommand,UpdateAnnouncementCommand:()=>UpdateAnnouncementCommand,UpdateAutomationCommand:()=>UpdateAutomationCommand,UpdateCameraCommand:()=>UpdateCameraCommand,UpdateCategoryCommand:()=>UpdateCategoryCommand,UpdateCourtesyCommand:()=>UpdateCourtesyCommand,UpdateDimmerCommand:()=>UpdateDimmerCommand,UpdateDiscoveredDeviceCommand:()=>UpdateDiscoveredDeviceCommand,UpdateIssueCommand:()=>UpdateIssueCommand,UpdateLockCommand:()=>UpdateLockCommand,UpdateMediaSourceCommand:()=>UpdateMediaSourceCommand,UpdateMessageReadStatusCommand:()=>UpdateMessageReadStatusCommand,UpdateOrganizationCommand:()=>UpdateOrganizationCommand,UpdatePolicyCommand:()=>UpdatePolicyCommand,UpdatePropertyCommand:()=>UpdatePropertyCommand,UpdatePropertySettingsCommand:()=>UpdatePropertySettingsCommand,UpdateReservationCommand:()=>UpdateReservationCommand,UpdateReservationExpectedArrivalTimeCommand:()=>UpdateReservationExpectedArrivalTimeCommand,UpdateRoomCommand:()=>UpdateRoomCommand,UpdateSelfCommand:()=>UpdateSelfCommand,UpdateSpaceCommand:()=>UpdateSpaceCommand,UpdateSwitchCommand:()=>UpdateSwitchCommand,UpdateThermostatCommand:()=>UpdateThermostatCommand,UpdateTicketCommand:()=>UpdateTicketCommand,UpdateTicketStatusCommand:()=>UpdateTicketStatusCommand,UpdateTimeSheetCommand:()=>UpdateTimeSheetCommand,UpdateTimeSheetTimeEntryCommand:()=>UpdateTimeSheetTimeEntryCommand,UpdateUserCommand:()=>UpdateUserCommand,UpdateVendorCommand:()=>UpdateVendorCommand,UpdateWindowCoveringCommand:()=>UpdateWindowCoveringCommand,UploadImageCommand:()=>UploadImageCommand,UpsertDiscoveredDeviceCommand:()=>UpsertDiscoveredDeviceCommand});var AssignSpaceToReservationCommand=class _AssignSpaceToReservationCommand{static{__name(this,"AssignSpaceToReservationCommand")}constructor(commandConfig,options={}){const pathParams=_AssignSpaceToReservationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_AssignSpaceToReservationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_AssignSpaceToReservationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/space";static method="post"},AutoAssociateDiscoveredDevicesCommand=class _AutoAssociateDiscoveredDevicesCommand{static{__name(this,"AutoAssociateDiscoveredDevicesCommand")}constructor(commandConfig,options={}){const pathParams=_AutoAssociateDiscoveredDevicesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_AutoAssociateDiscoveredDevicesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_AutoAssociateDiscoveredDevicesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/discoveredDevices/autoAssociate";static method="post"},AutoCloseTicketsCommand=class _AutoCloseTicketsCommand{static{__name(this,"AutoCloseTicketsCommand")}constructor(commandConfig,options={}){const pathParams=_AutoCloseTicketsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_AutoCloseTicketsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_AutoCloseTicketsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/tickets/autoClose";static method="post"},BatchNotifyCheckInCommand=class _BatchNotifyCheckInCommand{static{__name(this,"BatchNotifyCheckInCommand")}constructor(commandConfig,options={}){const pathParams=_BatchNotifyCheckInCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_BatchNotifyCheckInCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_BatchNotifyCheckInCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/reservations/batchNotifyCheckIn";static method="post"},BatchNotifyCheckOutCommand=class _BatchNotifyCheckOutCommand{static{__name(this,"BatchNotifyCheckOutCommand")}constructor(commandConfig,options={}){const pathParams=_BatchNotifyCheckOutCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_BatchNotifyCheckOutCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_BatchNotifyCheckOutCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/reservations/batchNotifyCheckIn";static method="post"},BatchNotifyMissedCheckOutCommand=class _BatchNotifyMissedCheckOutCommand{static{__name(this,"BatchNotifyMissedCheckOutCommand")}constructor(commandConfig,options={}){const pathParams=_BatchNotifyMissedCheckOutCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_BatchNotifyMissedCheckOutCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_BatchNotifyMissedCheckOutCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/reservations/batchNotifyMissedCheckOut";static method="post"},BatchNotifyPreArrivalCommand=class _BatchNotifyPreArrivalCommand{static{__name(this,"BatchNotifyPreArrivalCommand")}constructor(commandConfig,options={}){const pathParams=_BatchNotifyPreArrivalCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_BatchNotifyPreArrivalCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_BatchNotifyPreArrivalCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/reservations/batchNotifyPreArrival";static method="post"},BulkUpdateIssueCommand=class _BulkUpdateIssueCommand{static{__name(this,"BulkUpdateIssueCommand")}constructor(commandConfig,options={}){const pathParams=_BulkUpdateIssueCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_BulkUpdateIssueCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_BulkUpdateIssueCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/issues";static method="put"},CheckInReservationCommand=class _CheckInReservationCommand{static{__name(this,"CheckInReservationCommand")}constructor(commandConfig,options={}){const pathParams=_CheckInReservationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CheckInReservationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CheckInReservationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/checkin";static method="post"},CheckOutReservationCommand=class _CheckOutReservationCommand{static{__name(this,"CheckOutReservationCommand")}constructor(commandConfig,options={}){const pathParams=_CheckOutReservationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CheckOutReservationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CheckOutReservationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/checkout";static method="post"},CheckVerificationCodeCommand=class _CheckVerificationCodeCommand{static{__name(this,"CheckVerificationCodeCommand")}constructor(commandConfig,options={}){const pathParams=_CheckVerificationCodeCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CheckVerificationCodeCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CheckVerificationCodeCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/users/:id/checkVerificationCode";static method="post"},CreateAlarmCommand=class _CreateAlarmCommand{static{__name(this,"CreateAlarmCommand")}constructor(commandConfig,options={}){const pathParams=_CreateAlarmCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateAlarmCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateAlarmCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/alarms";static method="post"},CreateAnnouncementCommand=class _CreateAnnouncementCommand{static{__name(this,"CreateAnnouncementCommand")}constructor(commandConfig,options={}){const pathParams=_CreateAnnouncementCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateAnnouncementCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateAnnouncementCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/announcements";static method="post"},CreateAutomationCommand=class _CreateAutomationCommand{static{__name(this,"CreateAutomationCommand")}constructor(commandConfig,options={}){const pathParams=_CreateAutomationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateAutomationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateAutomationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/automations";static method="post"},CreateCameraCommand=class _CreateCameraCommand{static{__name(this,"CreateCameraCommand")}constructor(commandConfig,options={}){const pathParams=_CreateCameraCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateCameraCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateCameraCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/cameras";static method="post"},CreateCategoryCommand=class _CreateCategoryCommand{static{__name(this,"CreateCategoryCommand")}constructor(commandConfig,options={}){const pathParams=_CreateCategoryCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateCategoryCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateCategoryCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/categories";static method="post"},CreateCourtesyCommand=class _CreateCourtesyCommand{static{__name(this,"CreateCourtesyCommand")}constructor(commandConfig,options={}){const pathParams=_CreateCourtesyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateCourtesyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateCourtesyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/courtesy";static method="post"},CreateDefaultScenesCommand=class _CreateDefaultScenesCommand{static{__name(this,"CreateDefaultScenesCommand")}constructor(commandConfig,options={}){const pathParams=_CreateDefaultScenesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateDefaultScenesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateDefaultScenesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/scenes/default";static method="post"},CreateDimmerCommand=class _CreateDimmerCommand{static{__name(this,"CreateDimmerCommand")}constructor(commandConfig,options={}){const pathParams=_CreateDimmerCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateDimmerCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateDimmerCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/dimmers";static method="post"},CreateDiscoveredDeviceCommand=class _CreateDiscoveredDeviceCommand{static{__name(this,"CreateDiscoveredDeviceCommand")}constructor(commandConfig,options={}){const pathParams=_CreateDiscoveredDeviceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateDiscoveredDeviceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateDiscoveredDeviceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/discoveredDevices";static method="post"},CreateDiscoveredDeviceAssociationCommand=class _CreateDiscoveredDeviceAssociationCommand{static{__name(this,"CreateDiscoveredDeviceAssociationCommand")}constructor(commandConfig,options={}){const pathParams=_CreateDiscoveredDeviceAssociationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateDiscoveredDeviceAssociationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateDiscoveredDeviceAssociationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/discoveredDevices/:id/associate";static method="post"},CreateDiscoveredDeviceAssociationMapCommand=class _CreateDiscoveredDeviceAssociationMapCommand{static{__name(this,"CreateDiscoveredDeviceAssociationMapCommand")}constructor(commandConfig,options={}){const pathParams=_CreateDiscoveredDeviceAssociationMapCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateDiscoveredDeviceAssociationMapCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateDiscoveredDeviceAssociationMapCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/discoveredDevices/associationMap";static method="get"},CreateImageUploadEndpointCommand=class _CreateImageUploadEndpointCommand{static{__name(this,"CreateImageUploadEndpointCommand")}constructor(commandConfig,options={}){const pathParams=_CreateImageUploadEndpointCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateImageUploadEndpointCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateImageUploadEndpointCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/mediaFiles/imageUploadEndpoint";static method="post"},CreateIssueCommand=class _CreateIssueCommand{static{__name(this,"CreateIssueCommand")}constructor(commandConfig,options={}){const pathParams=_CreateIssueCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateIssueCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateIssueCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/issues";static method="post"},CreateLockCommand=class _CreateLockCommand{static{__name(this,"CreateLockCommand")}constructor(commandConfig,options={}){const pathParams=_CreateLockCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateLockCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateLockCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/locks";static method="post"},CreateMediaSourceCommand=class _CreateMediaSourceCommand{static{__name(this,"CreateMediaSourceCommand")}constructor(commandConfig,options={}){const pathParams=_CreateMediaSourceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateMediaSourceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateMediaSourceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/mediaSources";static method="post"},CreateOrganizationCommand=class _CreateOrganizationCommand{static{__name(this,"CreateOrganizationCommand")}constructor(commandConfig,options={}){const pathParams=_CreateOrganizationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateOrganizationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateOrganizationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/organizations";static method="post"},CreatePolicyCommand=class _CreatePolicyCommand{static{__name(this,"CreatePolicyCommand")}constructor(commandConfig,options={}){const pathParams=_CreatePolicyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreatePolicyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreatePolicyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/policies";static method="post"},CreatePropertyCommand=class _CreatePropertyCommand{static{__name(this,"CreatePropertyCommand")}constructor(commandConfig,options={}){const pathParams=_CreatePropertyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreatePropertyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreatePropertyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/properties";static method="post"},CreateReservationCommand=class _CreateReservationCommand{static{__name(this,"CreateReservationCommand")}constructor(commandConfig,options={}){const pathParams=_CreateReservationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateReservationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateReservationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/reservations";static method="post"},CreateRoomCommand=class _CreateRoomCommand{static{__name(this,"CreateRoomCommand")}constructor(commandConfig,options={}){const pathParams=_CreateRoomCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateRoomCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateRoomCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/rooms";static method="post"},CreateRoomInSpaceCommand=class _CreateRoomInSpaceCommand{static{__name(this,"CreateRoomInSpaceCommand")}constructor(commandConfig,options={}){const pathParams=_CreateRoomInSpaceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateRoomInSpaceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateRoomInSpaceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/spaces/:id/rooms";static method="post"},CreateSceneCommand=class _CreateSceneCommand{static{__name(this,"CreateSceneCommand")}constructor(commandConfig,options={}){const pathParams=_CreateSceneCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateSceneCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateSceneCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/scenes";static method="post"},CreateSpaceCommand=class _CreateSpaceCommand{static{__name(this,"CreateSpaceCommand")}constructor(commandConfig,options={}){const pathParams=_CreateSpaceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateSpaceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateSpaceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/spaces";static method="post"},CreateSwitchCommand=class _CreateSwitchCommand{static{__name(this,"CreateSwitchCommand")}constructor(commandConfig,options={}){const pathParams=_CreateSwitchCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateSwitchCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateSwitchCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/switches";static method="post"},CreateThermostatCommand=class _CreateThermostatCommand{static{__name(this,"CreateThermostatCommand")}constructor(commandConfig,options={}){const pathParams=_CreateThermostatCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateThermostatCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateThermostatCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/thermostats";static method="post"},CreateTicketCommand=class _CreateTicketCommand{static{__name(this,"CreateTicketCommand")}constructor(commandConfig,options={}){const pathParams=_CreateTicketCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateTicketCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateTicketCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/tickets";static method="post"},CreateTicketMessageCommand=class _CreateTicketMessageCommand{static{__name(this,"CreateTicketMessageCommand")}constructor(commandConfig,options={}){const pathParams=_CreateTicketMessageCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateTicketMessageCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateTicketMessageCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/tickets/:id/messages";static method="post"},CreateTimeSheetCommand=class _CreateTimeSheetCommand{static{__name(this,"CreateTimeSheetCommand")}constructor(commandConfig,options={}){const pathParams=_CreateTimeSheetCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateTimeSheetCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateTimeSheetCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/timesheets";static method="post"},CreateTimeSheetTimeEntryCommand=class _CreateTimeSheetTimeEntryCommand{static{__name(this,"CreateTimeSheetTimeEntryCommand")}constructor(commandConfig,options={}){const pathParams=_CreateTimeSheetTimeEntryCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateTimeSheetTimeEntryCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateTimeSheetTimeEntryCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["timeSheetId"];static url="/timesheets/:timeSheetId/timeEntries";static method="post"},CreateUserCommand=class _CreateUserCommand{static{__name(this,"CreateUserCommand")}constructor(commandConfig,options={}){const pathParams=_CreateUserCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateUserCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateUserCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/users";static method="post"},CreateUserMobileKeyCommand=class _CreateUserMobileKeyCommand{static{__name(this,"CreateUserMobileKeyCommand")}constructor(commandConfig,options={}){const pathParams=_CreateUserMobileKeyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateUserMobileKeyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateUserMobileKeyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/users/:id/mobileKeys";static method="post"},CreateVendorCommand=class _CreateVendorCommand{static{__name(this,"CreateVendorCommand")}constructor(commandConfig,options={}){const pathParams=_CreateVendorCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateVendorCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateVendorCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/vendors";static method="post"},CreateWindowCoveringCommand=class _CreateWindowCoveringCommand{static{__name(this,"CreateWindowCoveringCommand")}constructor(commandConfig,options={}){const pathParams=_CreateWindowCoveringCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateWindowCoveringCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateWindowCoveringCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/windowCoverings";static method="post"},DeleteAlarmCommand=class _DeleteAlarmCommand{static{__name(this,"DeleteAlarmCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteAlarmCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteAlarmCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteAlarmCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/alarms/:id";static method="delete"},DeleteAnnouncementCommand=class _DeleteAnnouncementCommand{static{__name(this,"DeleteAnnouncementCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteAnnouncementCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteAnnouncementCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteAnnouncementCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/announcements/:id";static method="delete"},DeleteAutomationCommand=class _DeleteAutomationCommand{static{__name(this,"DeleteAutomationCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteAutomationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteAutomationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteAutomationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/automations/:id";static method="delete"},DeleteCameraCommand=class _DeleteCameraCommand{static{__name(this,"DeleteCameraCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteCameraCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteCameraCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteCameraCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/cameras/:id";static method="delete"},DeleteCategoryCommand=class _DeleteCategoryCommand{static{__name(this,"DeleteCategoryCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteCategoryCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteCategoryCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteCategoryCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/categories/:id";static method="delete"},DeleteCourtesyCommand=class _DeleteCourtesyCommand{static{__name(this,"DeleteCourtesyCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteCourtesyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteCourtesyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteCourtesyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/courtesy/:id";static method="delete"},DeleteDimmerCommand=class _DeleteDimmerCommand{static{__name(this,"DeleteDimmerCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteDimmerCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteDimmerCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteDimmerCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/dimmers/:id";static method="delete"},DeleteDiscoveredDeviceCommand=class _DeleteDiscoveredDeviceCommand{static{__name(this,"DeleteDiscoveredDeviceCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteDiscoveredDeviceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteDiscoveredDeviceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteDiscoveredDeviceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/discoveredDevices/:id";static method="delete"},DeleteIssueCommand=class _DeleteIssueCommand{static{__name(this,"DeleteIssueCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteIssueCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteIssueCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteIssueCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/issues/:id";static method="delete"},DeleteLockCommand=class _DeleteLockCommand{static{__name(this,"DeleteLockCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteLockCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteLockCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteLockCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/locks/:id";static method="delete"},DeleteMediaFileCommand=class _DeleteMediaFileCommand{static{__name(this,"DeleteMediaFileCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteMediaFileCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteMediaFileCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteMediaFileCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/mediaFiles/:id";static method="delete"},DeleteMediaSourceCommand=class _DeleteMediaSourceCommand{static{__name(this,"DeleteMediaSourceCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteMediaSourceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteMediaSourceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteMediaSourceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/mediaSources/:id";static method="delete"},DeletePolicyCommand=class _DeletePolicyCommand{static{__name(this,"DeletePolicyCommand")}constructor(commandConfig,options={}){const pathParams=_DeletePolicyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeletePolicyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeletePolicyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/policies/:id";static method="delete"},DeleteReservationCommand=class _DeleteReservationCommand{static{__name(this,"DeleteReservationCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteReservationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteReservationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteReservationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id";static method="delete"},DeleteRoomCommand=class _DeleteRoomCommand{static{__name(this,"DeleteRoomCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteRoomCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteRoomCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteRoomCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/rooms/:id";static method="delete"},DeleteSpaceCommand=class _DeleteSpaceCommand{static{__name(this,"DeleteSpaceCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteSpaceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteSpaceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteSpaceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/spaces/:id";static method="delete"},DeleteSwitchCommand=class _DeleteSwitchCommand{static{__name(this,"DeleteSwitchCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteSwitchCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteSwitchCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteSwitchCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/switches/:id";static method="delete"},DeleteThermostatCommand=class _DeleteThermostatCommand{static{__name(this,"DeleteThermostatCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteThermostatCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteThermostatCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteThermostatCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/thermostats/:id";static method="delete"},DeleteTicketCommand=class _DeleteTicketCommand{static{__name(this,"DeleteTicketCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteTicketCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteTicketCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteTicketCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/tickets/:id";static method="delete"},DeleteTimeSheetCommand=class _DeleteTimeSheetCommand{static{__name(this,"DeleteTimeSheetCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteTimeSheetCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteTimeSheetCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteTimeSheetCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/timesheets/:id";static method="delete"},DeleteTimeSheetTimeEntryCommand=class _DeleteTimeSheetTimeEntryCommand{static{__name(this,"DeleteTimeSheetTimeEntryCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteTimeSheetTimeEntryCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteTimeSheetTimeEntryCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteTimeSheetTimeEntryCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["timeSheetId","id"];static url="/timesheets/:timeSheetId/timeEntries/:id";static method="delete"},DeleteUserCommand=class _DeleteUserCommand{static{__name(this,"DeleteUserCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteUserCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteUserCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteUserCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/users/:id";static method="delete"},DeleteUserCredentialCommand=class _DeleteUserCredentialCommand{static{__name(this,"DeleteUserCredentialCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteUserCredentialCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteUserCredentialCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteUserCredentialCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/users/me/accessCredentials/:id";static method="delete"},DeleteVendorCommand=class _DeleteVendorCommand{static{__name(this,"DeleteVendorCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteVendorCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteVendorCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteVendorCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/vendors/:id";static method="delete"},DeleteWindowCoveringCommand=class _DeleteWindowCoveringCommand{static{__name(this,"DeleteWindowCoveringCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteWindowCoveringCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteWindowCoveringCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteWindowCoveringCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/windowCoverings/:id";static method="delete"},DescribeAlarmCommand=class _DescribeAlarmCommand{static{__name(this,"DescribeAlarmCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeAlarmCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeAlarmCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeAlarmCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/alarms/:id";static method="get"},DescribeAlarmConfigCommand=class _DescribeAlarmConfigCommand{static{__name(this,"DescribeAlarmConfigCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeAlarmConfigCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeAlarmConfigCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeAlarmConfigCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/alarms/:id/config";static method="get"},DescribeAnnouncementCommand=class _DescribeAnnouncementCommand{static{__name(this,"DescribeAnnouncementCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeAnnouncementCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeAnnouncementCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeAnnouncementCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/announcements/:id";static method="get"},DescribeAutomationCommand=class _DescribeAutomationCommand{static{__name(this,"DescribeAutomationCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeAutomationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeAutomationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeAutomationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/automations/:id";static method="get"},DescribeCameraCommand=class _DescribeCameraCommand{static{__name(this,"DescribeCameraCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeCameraCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeCameraCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeCameraCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/cameras/:id";static method="get"},DescribeCategoryCommand=class _DescribeCategoryCommand{static{__name(this,"DescribeCategoryCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeCategoryCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeCategoryCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeCategoryCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/categories/:id";static method="get"},DescribeCourtesyCommand=class _DescribeCourtesyCommand{static{__name(this,"DescribeCourtesyCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeCourtesyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeCourtesyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeCourtesyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/courtesy/:id";static method="get"},DescribeDimmerCommand=class _DescribeDimmerCommand{static{__name(this,"DescribeDimmerCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeDimmerCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeDimmerCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeDimmerCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/dimmers/:id";static method="get"},DescribeDiscoveredDeviceCommand=class _DescribeDiscoveredDeviceCommand{static{__name(this,"DescribeDiscoveredDeviceCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeDiscoveredDeviceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeDiscoveredDeviceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeDiscoveredDeviceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/discoveredDevices/:id";static method="get"},DescribeIssueCommand=class _DescribeIssueCommand{static{__name(this,"DescribeIssueCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeIssueCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeIssueCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeIssueCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/issues/:id";static method="get"},DescribeLockCommand=class _DescribeLockCommand{static{__name(this,"DescribeLockCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeLockCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeLockCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeLockCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/locks/:id";static method="get"},DescribeLockCredentialCommand=class _DescribeLockCredentialCommand{static{__name(this,"DescribeLockCredentialCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeLockCredentialCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeLockCredentialCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeLockCredentialCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/locks/:id/credential";static method="post"},DescribeMediaSourceCommand=class _DescribeMediaSourceCommand{static{__name(this,"DescribeMediaSourceCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeMediaSourceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeMediaSourceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeMediaSourceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/mediaSources/:id";static method="get"},DescribeMyAuthCommand=class _DescribeMyAuthCommand{static{__name(this,"DescribeMyAuthCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeMyAuthCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeMyAuthCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeMyAuthCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/auth/me";static method="get"},DescribeMyMobileKeyAppCommand=class _DescribeMyMobileKeyAppCommand{static{__name(this,"DescribeMyMobileKeyAppCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeMyMobileKeyAppCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeMyMobileKeyAppCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeMyMobileKeyAppCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/users/me/accessCredentials";static method="get"},DescribeMyOrganizationCommand=class _DescribeMyOrganizationCommand{static{__name(this,"DescribeMyOrganizationCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeMyOrganizationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeMyOrganizationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeMyOrganizationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/organizations/mine";static method="get"},DescribeMyPasskeyRegistrationsCommand=class _DescribeMyPasskeyRegistrationsCommand{static{__name(this,"DescribeMyPasskeyRegistrationsCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeMyPasskeyRegistrationsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeMyPasskeyRegistrationsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeMyPasskeyRegistrationsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/users/me/passkeyRegistrations";static method="get"},DescribeOrganizationCommand=class _DescribeOrganizationCommand{static{__name(this,"DescribeOrganizationCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeOrganizationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeOrganizationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeOrganizationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/organizations/:id";static method="get"},DescribePolicyCommand=class _DescribePolicyCommand{static{__name(this,"DescribePolicyCommand")}constructor(commandConfig,options={}){const pathParams=_DescribePolicyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribePolicyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribePolicyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/policies/:id";static method="get"},DescribeProductCommand=class _DescribeProductCommand{static{__name(this,"DescribeProductCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeProductCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeProductCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeProductCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/products/:id";static method="get"},DescribePropertyCommand=class _DescribePropertyCommand{static{__name(this,"DescribePropertyCommand")}constructor(commandConfig,options={}){const pathParams=_DescribePropertyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribePropertyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribePropertyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/properties/:id";static method="get"},DescribeReservationCommand=class _DescribeReservationCommand{static{__name(this,"DescribeReservationCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeReservationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeReservationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeReservationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id";static method="get"},DescribeReservationEarlyCheckInProductsCommand=class _DescribeReservationEarlyCheckInProductsCommand{static{__name(this,"DescribeReservationEarlyCheckInProductsCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeReservationEarlyCheckInProductsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeReservationEarlyCheckInProductsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeReservationEarlyCheckInProductsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/products/earlyCheckIn";static method="get"},DescribeReservationLateCheckOutProductsCommand=class _DescribeReservationLateCheckOutProductsCommand{static{__name(this,"DescribeReservationLateCheckOutProductsCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeReservationLateCheckOutProductsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeReservationLateCheckOutProductsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeReservationLateCheckOutProductsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/products/lateCheckOut";static method="get"},DescribeReservationPetProductsCommand=class _DescribeReservationPetProductsCommand{static{__name(this,"DescribeReservationPetProductsCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeReservationPetProductsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeReservationPetProductsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeReservationPetProductsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/products/pet";static method="get"},DescribeReservationPromosCommand=class _DescribeReservationPromosCommand{static{__name(this,"DescribeReservationPromosCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeReservationPromosCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeReservationPromosCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeReservationPromosCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/products/promo";static method="get"},DescribeReservationRoomUpgradesCommand=class _DescribeReservationRoomUpgradesCommand{static{__name(this,"DescribeReservationRoomUpgradesCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeReservationRoomUpgradesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeReservationRoomUpgradesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeReservationRoomUpgradesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/products/roomUpgrades";static method="get"},DescribeRoomCommand=class _DescribeRoomCommand{static{__name(this,"DescribeRoomCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeRoomCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeRoomCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeRoomCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/rooms/:id";static method="get"},DescribeSOSCommand=class _DescribeSOSCommand{static{__name(this,"DescribeSOSCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeSOSCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeSOSCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeSOSCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/sos";static method="get"},DescribeSelfCommand=class _DescribeSelfCommand{static{__name(this,"DescribeSelfCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeSelfCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeSelfCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeSelfCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/users/me";static method="get"},DescribeSpaceCommand=class _DescribeSpaceCommand{static{__name(this,"DescribeSpaceCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeSpaceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeSpaceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeSpaceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/spaces/:id";static method="get"},DescribeSwitchCommand=class _DescribeSwitchCommand{static{__name(this,"DescribeSwitchCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeSwitchCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeSwitchCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeSwitchCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/switches/:id";static method="get"},DescribeThermostatCommand=class _DescribeThermostatCommand{static{__name(this,"DescribeThermostatCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeThermostatCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeThermostatCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeThermostatCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/thermostats/:id";static method="get"},DescribeTicketCommand=class _DescribeTicketCommand{static{__name(this,"DescribeTicketCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeTicketCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeTicketCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeTicketCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/tickets/:id";static method="get"},DescribeTicketFiltersCommand=class _DescribeTicketFiltersCommand{static{__name(this,"DescribeTicketFiltersCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeTicketFiltersCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeTicketFiltersCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeTicketFiltersCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/tickets/filters";static method="get"},DescribeTicketStatsCommand=class _DescribeTicketStatsCommand{static{__name(this,"DescribeTicketStatsCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeTicketStatsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeTicketStatsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeTicketStatsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/tickets/stats";static method="get"},DescribeTimeSheetCommand=class _DescribeTimeSheetCommand{static{__name(this,"DescribeTimeSheetCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeTimeSheetCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeTimeSheetCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeTimeSheetCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/timesheets/:id";static method="get"},DescribeTimeSheetStatsCommand=class _DescribeTimeSheetStatsCommand{static{__name(this,"DescribeTimeSheetStatsCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeTimeSheetStatsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeTimeSheetStatsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeTimeSheetStatsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/timesheets/stats";static method="get"},DescribeUserCommand=class _DescribeUserCommand{static{__name(this,"DescribeUserCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeUserCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeUserCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeUserCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/users/:id";static method="get"},DescribeVendorCommand=class _DescribeVendorCommand{static{__name(this,"DescribeVendorCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeVendorCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeVendorCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeVendorCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/vendors/:id";static method="get"},DescribeWindowCoveringCommand=class _DescribeWindowCoveringCommand{static{__name(this,"DescribeWindowCoveringCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeWindowCoveringCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeWindowCoveringCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeWindowCoveringCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/windowCoverings/:id";static method="get"},DiscoverReservationsCommand=class _DiscoverReservationsCommand{static{__name(this,"DiscoverReservationsCommand")}constructor(commandConfig,options={}){const pathParams=_DiscoverReservationsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DiscoverReservationsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DiscoverReservationsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/reservations/discover";static method="get"},EmailUserAccountSetupCommand=class _EmailUserAccountSetupCommand{static{__name(this,"EmailUserAccountSetupCommand")}constructor(commandConfig,options={}){const pathParams=_EmailUserAccountSetupCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_EmailUserAccountSetupCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_EmailUserAccountSetupCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/users/:id/email/setup";static method="post"},FinishRegisterPasskeyCommand=class _FinishRegisterPasskeyCommand{static{__name(this,"FinishRegisterPasskeyCommand")}constructor(commandConfig,options={}){const pathParams=_FinishRegisterPasskeyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_FinishRegisterPasskeyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_FinishRegisterPasskeyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/auth/registerPasskey/finish";static method="post"},LeaveTicketCommand=class _LeaveTicketCommand{static{__name(this,"LeaveTicketCommand")}constructor(commandConfig,options={}){const pathParams=_LeaveTicketCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_LeaveTicketCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_LeaveTicketCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/tickets/:id/leave";static method="post"},ListAlarmsCommand=class _ListAlarmsCommand{static{__name(this,"ListAlarmsCommand")}constructor(commandConfig,options={}){const pathParams=_ListAlarmsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListAlarmsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListAlarmsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/alarms";static method="get"},ListAnnouncementsCommand=class _ListAnnouncementsCommand{static{__name(this,"ListAnnouncementsCommand")}constructor(commandConfig,options={}){const pathParams=_ListAnnouncementsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListAnnouncementsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListAnnouncementsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/announcements";static method="get"},ListAutomationsCommand=class _ListAutomationsCommand{static{__name(this,"ListAutomationsCommand")}constructor(commandConfig,options={}){const pathParams=_ListAutomationsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListAutomationsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListAutomationsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/automations";static method="get"},ListCameraStreamPreviewsCommand=class _ListCameraStreamPreviewsCommand{static{__name(this,"ListCameraStreamPreviewsCommand")}constructor(commandConfig,options={}){const pathParams=_ListCameraStreamPreviewsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListCameraStreamPreviewsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListCameraStreamPreviewsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/cameras/stream-previews";static method="get"},ListCamerasCommand=class _ListCamerasCommand{static{__name(this,"ListCamerasCommand")}constructor(commandConfig,options={}){const pathParams=_ListCamerasCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListCamerasCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListCamerasCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/cameras";static method="get"},ListCategoriesCommand=class _ListCategoriesCommand{static{__name(this,"ListCategoriesCommand")}constructor(commandConfig,options={}){const pathParams=_ListCategoriesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListCategoriesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListCategoriesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/categories";static method="get"},ListCourtesyCommand=class _ListCourtesyCommand{static{__name(this,"ListCourtesyCommand")}constructor(commandConfig,options={}){const pathParams=_ListCourtesyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListCourtesyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListCourtesyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/courtesy";static method="get"},ListDimmersCommand=class _ListDimmersCommand{static{__name(this,"ListDimmersCommand")}constructor(commandConfig,options={}){const pathParams=_ListDimmersCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListDimmersCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListDimmersCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/dimmers";static method="get"},ListDiscoveredDevicesCommand=class _ListDiscoveredDevicesCommand{static{__name(this,"ListDiscoveredDevicesCommand")}constructor(commandConfig,options={}){const pathParams=_ListDiscoveredDevicesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListDiscoveredDevicesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListDiscoveredDevicesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/discoveredDevices";static method="get"},ListIssuesCommand=class _ListIssuesCommand{static{__name(this,"ListIssuesCommand")}constructor(commandConfig,options={}){const pathParams=_ListIssuesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListIssuesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListIssuesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/issues";static method="get"},ListLocksCommand=class _ListLocksCommand{static{__name(this,"ListLocksCommand")}constructor(commandConfig,options={}){const pathParams=_ListLocksCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListLocksCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListLocksCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/locks";static method="get"},ListMediaSourcesCommand=class _ListMediaSourcesCommand{static{__name(this,"ListMediaSourcesCommand")}constructor(commandConfig,options={}){const pathParams=_ListMediaSourcesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListMediaSourcesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListMediaSourcesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/mediaSources";static method="get"},ListMyOrdersCommand=class _ListMyOrdersCommand{static{__name(this,"ListMyOrdersCommand")}constructor(commandConfig,options={}){const pathParams=_ListMyOrdersCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListMyOrdersCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListMyOrdersCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/orders/mine";static method="get"},ListMyPropertiesCommand=class _ListMyPropertiesCommand{static{__name(this,"ListMyPropertiesCommand")}constructor(commandConfig,options={}){const pathParams=_ListMyPropertiesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListMyPropertiesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListMyPropertiesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/properties/mine";static method="get"},ListMyReservationsCommand=class _ListMyReservationsCommand{static{__name(this,"ListMyReservationsCommand")}constructor(commandConfig,options={}){const pathParams=_ListMyReservationsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListMyReservationsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListMyReservationsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/reservations/mine";static method="get"},ListMySpacesCommand=class _ListMySpacesCommand{static{__name(this,"ListMySpacesCommand")}constructor(commandConfig,options={}){const pathParams=_ListMySpacesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListMySpacesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListMySpacesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/spaces/mine";static method="get"},ListMyTicketsCommand=class _ListMyTicketsCommand{static{__name(this,"ListMyTicketsCommand")}constructor(commandConfig,options={}){const pathParams=_ListMyTicketsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListMyTicketsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListMyTicketsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/tickets/mine";static method="get"},ListMyTimeSheetsCommand=class _ListMyTimeSheetsCommand{static{__name(this,"ListMyTimeSheetsCommand")}constructor(commandConfig,options={}){const pathParams=_ListMyTimeSheetsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListMyTimeSheetsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListMyTimeSheetsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/timesheets/mine";static method="get"},ListOrdersCommand=class _ListOrdersCommand{static{__name(this,"ListOrdersCommand")}constructor(commandConfig,options={}){const pathParams=_ListOrdersCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListOrdersCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListOrdersCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/orders";static method="get"},ListOrganizationsCommand=class _ListOrganizationsCommand{static{__name(this,"ListOrganizationsCommand")}constructor(commandConfig,options={}){const pathParams=_ListOrganizationsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListOrganizationsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListOrganizationsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/organizations";static method="get"},ListPoliciesCommand=class _ListPoliciesCommand{static{__name(this,"ListPoliciesCommand")}constructor(commandConfig,options={}){const pathParams=_ListPoliciesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListPoliciesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListPoliciesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/policies";static method="get"},ListProductsCommand=class _ListProductsCommand{static{__name(this,"ListProductsCommand")}constructor(commandConfig,options={}){const pathParams=_ListProductsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListProductsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListProductsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/products";static method="get"},ListPropertiesCommand=class _ListPropertiesCommand{static{__name(this,"ListPropertiesCommand")}constructor(commandConfig,options={}){const pathParams=_ListPropertiesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListPropertiesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListPropertiesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/properties";static method="get"},ListReservationsCommand=class _ListReservationsCommand{static{__name(this,"ListReservationsCommand")}constructor(commandConfig,options={}){const pathParams=_ListReservationsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListReservationsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListReservationsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/reservations";static method="get"},ListRoomsCommand=class _ListRoomsCommand{static{__name(this,"ListRoomsCommand")}constructor(commandConfig,options={}){const pathParams=_ListRoomsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListRoomsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListRoomsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/rooms";static method="get"},ListRoomsInSpaceCommand=class _ListRoomsInSpaceCommand{static{__name(this,"ListRoomsInSpaceCommand")}constructor(commandConfig,options={}){const pathParams=_ListRoomsInSpaceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListRoomsInSpaceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListRoomsInSpaceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/spaces/:id/rooms";static method="get"},ListScenesCommand=class _ListScenesCommand{static{__name(this,"ListScenesCommand")}constructor(commandConfig,options={}){const pathParams=_ListScenesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListScenesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListScenesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/scenes";static method="get"},ListSpacesCommand=class _ListSpacesCommand{static{__name(this,"ListSpacesCommand")}constructor(commandConfig,options={}){const pathParams=_ListSpacesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListSpacesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListSpacesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/spaces";static method="get"},ListSwitchesCommand=class _ListSwitchesCommand{static{__name(this,"ListSwitchesCommand")}constructor(commandConfig,options={}){const pathParams=_ListSwitchesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListSwitchesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListSwitchesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/switches";static method="get"},ListTeamCommand=class _ListTeamCommand{static{__name(this,"ListTeamCommand")}constructor(commandConfig,options={}){const pathParams=_ListTeamCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListTeamCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListTeamCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/team";static method="get"},ListThermostatsCommand=class _ListThermostatsCommand{static{__name(this,"ListThermostatsCommand")}constructor(commandConfig,options={}){const pathParams=_ListThermostatsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListThermostatsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListThermostatsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/thermostats";static method="get"},ListTicketLocationsCommand=class _ListTicketLocationsCommand{static{__name(this,"ListTicketLocationsCommand")}constructor(commandConfig,options={}){const pathParams=_ListTicketLocationsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListTicketLocationsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListTicketLocationsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/tickets/locations";static method="get"},ListTicketsCommand=class _ListTicketsCommand{static{__name(this,"ListTicketsCommand")}constructor(commandConfig,options={}){const pathParams=_ListTicketsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListTicketsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListTicketsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/tickets";static method="get"},ListTimeSheetsCommand=class _ListTimeSheetsCommand{static{__name(this,"ListTimeSheetsCommand")}constructor(commandConfig,options={}){const pathParams=_ListTimeSheetsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListTimeSheetsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListTimeSheetsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/timesheets";static method="get"},ListUserMobileKeysCommand=class _ListUserMobileKeysCommand{static{__name(this,"ListUserMobileKeysCommand")}constructor(commandConfig,options={}){const pathParams=_ListUserMobileKeysCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListUserMobileKeysCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListUserMobileKeysCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/users/:id/mobileKeys";static method="get"},ListUserOrdersCommand=class _ListUserOrdersCommand{static{__name(this,"ListUserOrdersCommand")}constructor(commandConfig,options={}){const pathParams=_ListUserOrdersCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListUserOrdersCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListUserOrdersCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/users/:id/orders";static method="get"},ListUserReservationsCommand=class _ListUserReservationsCommand{static{__name(this,"ListUserReservationsCommand")}constructor(commandConfig,options={}){const pathParams=_ListUserReservationsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListUserReservationsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListUserReservationsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/users/:id/reservations";static method="get"},ListUserSpacesCommand=class _ListUserSpacesCommand{static{__name(this,"ListUserSpacesCommand")}constructor(commandConfig,options={}){const pathParams=_ListUserSpacesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListUserSpacesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListUserSpacesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/users/:id/spaces";static method="get"},ListUsersCommand=class _ListUsersCommand{static{__name(this,"ListUsersCommand")}constructor(commandConfig,options={}){const pathParams=_ListUsersCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListUsersCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListUsersCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/users";static method="get"},ListVendorsCommand=class _ListVendorsCommand{static{__name(this,"ListVendorsCommand")}constructor(commandConfig,options={}){const pathParams=_ListVendorsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListVendorsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListVendorsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/vendors";static method="get"},ListWindowCoveringsCommand=class _ListWindowCoveringsCommand{static{__name(this,"ListWindowCoveringsCommand")}constructor(commandConfig,options={}){const pathParams=_ListWindowCoveringsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListWindowCoveringsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListWindowCoveringsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/windowCoverings";static method="get"},LoginFinishCommand=class _LoginFinishCommand{static{__name(this,"LoginFinishCommand")}constructor(commandConfig,options={}){const pathParams=_LoginFinishCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_LoginFinishCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_LoginFinishCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/auth/finish";static method="post"},LoginStartCommand=class _LoginStartCommand{static{__name(this,"LoginStartCommand")}constructor(commandConfig,options={}){const pathParams=_LoginStartCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_LoginStartCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_LoginStartCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/auth/start";static method="post"},LogoutSelfCommand=class _LogoutSelfCommand{static{__name(this,"LogoutSelfCommand")}constructor(commandConfig,options={}){const pathParams=_LogoutSelfCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_LogoutSelfCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_LogoutSelfCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/auth/user/me/logout";static method="post"},LogoutUserCommand=class _LogoutUserCommand{static{__name(this,"LogoutUserCommand")}constructor(commandConfig,options={}){const pathParams=_LogoutUserCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_LogoutUserCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_LogoutUserCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/auth/user/:id/logout";static method="post"},MatchUserIdentificationCommand=class _MatchUserIdentificationCommand{static{__name(this,"MatchUserIdentificationCommand")}constructor(commandConfig,options={}){const pathParams=_MatchUserIdentificationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_MatchUserIdentificationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_MatchUserIdentificationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/users/:id/identifications/match";static method="post"},OCRDocumentCommand=class _OCRDocumentCommand{static{__name(this,"OCRDocumentCommand")}constructor(commandConfig,options={}){const pathParams=_OCRDocumentCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_OCRDocumentCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_OCRDocumentCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/documents/ocr";static method="post"},PurchaseReservationEarlyCheckInProductsCommand=class _PurchaseReservationEarlyCheckInProductsCommand{static{__name(this,"PurchaseReservationEarlyCheckInProductsCommand")}constructor(commandConfig,options={}){const pathParams=_PurchaseReservationEarlyCheckInProductsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_PurchaseReservationEarlyCheckInProductsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_PurchaseReservationEarlyCheckInProductsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/products/earlyCheckIn";static method="post"},PurchaseReservationLateCheckOutProductsCommand=class _PurchaseReservationLateCheckOutProductsCommand{static{__name(this,"PurchaseReservationLateCheckOutProductsCommand")}constructor(commandConfig,options={}){const pathParams=_PurchaseReservationLateCheckOutProductsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_PurchaseReservationLateCheckOutProductsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_PurchaseReservationLateCheckOutProductsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/products/lateCheckOut";static method="post"},PurchaseReservationPetProductsCommand=class _PurchaseReservationPetProductsCommand{static{__name(this,"PurchaseReservationPetProductsCommand")}constructor(commandConfig,options={}){const pathParams=_PurchaseReservationPetProductsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_PurchaseReservationPetProductsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_PurchaseReservationPetProductsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/products/pet";static method="post"},PurchaseReservationPromosCommand=class _PurchaseReservationPromosCommand{static{__name(this,"PurchaseReservationPromosCommand")}constructor(commandConfig,options={}){const pathParams=_PurchaseReservationPromosCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_PurchaseReservationPromosCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_PurchaseReservationPromosCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/products/promo";static method="post"},PurchaseReservationRoomUpgradesCommand=class _PurchaseReservationRoomUpgradesCommand{static{__name(this,"PurchaseReservationRoomUpgradesCommand")}constructor(commandConfig,options={}){const pathParams=_PurchaseReservationRoomUpgradesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_PurchaseReservationRoomUpgradesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_PurchaseReservationRoomUpgradesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/products/roomUpgrades";static method="post"},RequestLoginTokenCommand=class _RequestLoginTokenCommand{static{__name(this,"RequestLoginTokenCommand")}constructor(commandConfig,options={}){const pathParams=_RequestLoginTokenCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_RequestLoginTokenCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_RequestLoginTokenCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/auth/loginToken";static method="get"},SendCheckInSMSCommand=class _SendCheckInSMSCommand{static{__name(this,"SendCheckInSMSCommand")}constructor(commandConfig,options={}){const pathParams=_SendCheckInSMSCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SendCheckInSMSCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SendCheckInSMSCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/sendCheckInSMS";static method="post"},SendCheckOutSMSCommand=class _SendCheckOutSMSCommand{static{__name(this,"SendCheckOutSMSCommand")}constructor(commandConfig,options={}){const pathParams=_SendCheckOutSMSCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SendCheckOutSMSCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SendCheckOutSMSCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/sendCheckOutSMS";static method="post"},SendPreArrivalEmailCommand=class _SendPreArrivalEmailCommand{static{__name(this,"SendPreArrivalEmailCommand")}constructor(commandConfig,options={}){const pathParams=_SendPreArrivalEmailCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SendPreArrivalEmailCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SendPreArrivalEmailCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/sendPreArrivalEmail";static method="post"},SendPreArrivalSMSCommand=class _SendPreArrivalSMSCommand{static{__name(this,"SendPreArrivalSMSCommand")}constructor(commandConfig,options={}){const pathParams=_SendPreArrivalSMSCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SendPreArrivalSMSCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SendPreArrivalSMSCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/sendPreArrivalSMS";static method="post"},SendRoomControlSMSCommand=class _SendRoomControlSMSCommand{static{__name(this,"SendRoomControlSMSCommand")}constructor(commandConfig,options={}){const pathParams=_SendRoomControlSMSCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SendRoomControlSMSCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SendRoomControlSMSCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/sendRoomControlSMS";static method="post"},SendVerificationCodeCommand=class _SendVerificationCodeCommand{static{__name(this,"SendVerificationCodeCommand")}constructor(commandConfig,options={}){const pathParams=_SendVerificationCodeCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SendVerificationCodeCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SendVerificationCodeCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/users/:id/sendVerificationCode";static method="post"},SetAlarmCommand=class _SetAlarmCommand{static{__name(this,"SetAlarmCommand")}constructor(commandConfig,options={}){const pathParams=_SetAlarmCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SetAlarmCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SetAlarmCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/alarms/:id";static method="post"},SetCameraCommand=class _SetCameraCommand{static{__name(this,"SetCameraCommand")}constructor(commandConfig,options={}){const pathParams=_SetCameraCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SetCameraCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SetCameraCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/cameras/:id";static method="post"},SetCourtesyCommand=class _SetCourtesyCommand{static{__name(this,"SetCourtesyCommand")}constructor(commandConfig,options={}){const pathParams=_SetCourtesyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SetCourtesyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SetCourtesyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/courtesy/:id";static method="post"},SetDimmerCommand=class _SetDimmerCommand{static{__name(this,"SetDimmerCommand")}constructor(commandConfig,options={}){const pathParams=_SetDimmerCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SetDimmerCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SetDimmerCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/dimmers/:id";static method="post"},SetLockCommand=class _SetLockCommand{static{__name(this,"SetLockCommand")}constructor(commandConfig,options={}){const pathParams=_SetLockCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SetLockCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SetLockCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/locks/:id";static method="post"},SetMediaSourceCommand=class _SetMediaSourceCommand{static{__name(this,"SetMediaSourceCommand")}constructor(commandConfig,options={}){const pathParams=_SetMediaSourceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SetMediaSourceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SetMediaSourceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/mediaSources/:id";static method="post"},SetRoomSceneCommand=class _SetRoomSceneCommand{static{__name(this,"SetRoomSceneCommand")}constructor(commandConfig,options={}){const pathParams=_SetRoomSceneCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SetRoomSceneCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SetRoomSceneCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/scenes/:id";static method="post"},SetSceneCommand=class _SetSceneCommand{static{__name(this,"SetSceneCommand")}constructor(commandConfig,options={}){const pathParams=_SetSceneCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SetSceneCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SetSceneCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/scenes/:id";static method="post"},SetSpaceSceneCommand=class _SetSpaceSceneCommand{static{__name(this,"SetSpaceSceneCommand")}constructor(commandConfig,options={}){const pathParams=_SetSpaceSceneCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SetSpaceSceneCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SetSpaceSceneCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["spaceId","id"];static url="/spaces/:spaceId/scenes/:id";static method="post"},SetSwitchCommand=class _SetSwitchCommand{static{__name(this,"SetSwitchCommand")}constructor(commandConfig,options={}){const pathParams=_SetSwitchCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SetSwitchCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SetSwitchCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/switches/:id";static method="post"},SetThermostatCommand=class _SetThermostatCommand{static{__name(this,"SetThermostatCommand")}constructor(commandConfig,options={}){const pathParams=_SetThermostatCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SetThermostatCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SetThermostatCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/thermostats/:id";static method="post"},SetWindowCoveringCommand=class _SetWindowCoveringCommand{static{__name(this,"SetWindowCoveringCommand")}constructor(commandConfig,options={}){const pathParams=_SetWindowCoveringCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SetWindowCoveringCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SetWindowCoveringCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/windowCoverings/:id";static method="post"},StartRegisterPasskeyCommand=class _StartRegisterPasskeyCommand{static{__name(this,"StartRegisterPasskeyCommand")}constructor(commandConfig,options={}){const pathParams=_StartRegisterPasskeyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_StartRegisterPasskeyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_StartRegisterPasskeyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/auth/registerPasskey/start";static method="post"},StartSOSCommand=class _StartSOSCommand{static{__name(this,"StartSOSCommand")}constructor(commandConfig,options={}){const pathParams=_StartSOSCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_StartSOSCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_StartSOSCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/sos/start";static method="post"},StopSOSCommand=class _StopSOSCommand{static{__name(this,"StopSOSCommand")}constructor(commandConfig,options={}){const pathParams=_StopSOSCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_StopSOSCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_StopSOSCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/sos/stop";static method="post"},TipUserCommand=class _TipUserCommand{static{__name(this,"TipUserCommand")}constructor(commandConfig,options={}){const pathParams=_TipUserCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_TipUserCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_TipUserCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/users/:id/tip";static method="post"},UpdateAlarmCommand=class _UpdateAlarmCommand{static{__name(this,"UpdateAlarmCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateAlarmCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateAlarmCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateAlarmCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/alarms/:id";static method="put"},UpdateAnnouncementCommand=class _UpdateAnnouncementCommand{static{__name(this,"UpdateAnnouncementCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateAnnouncementCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateAnnouncementCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateAnnouncementCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/announcements/:id";static method="put"},UpdateAutomationCommand=class _UpdateAutomationCommand{static{__name(this,"UpdateAutomationCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateAutomationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateAutomationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateAutomationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/automations/:id";static method="put"},UpdateCameraCommand=class _UpdateCameraCommand{static{__name(this,"UpdateCameraCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateCameraCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateCameraCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateCameraCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/cameras/:id";static method="put"},UpdateCategoryCommand=class _UpdateCategoryCommand{static{__name(this,"UpdateCategoryCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateCategoryCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateCategoryCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateCategoryCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/categories/:id";static method="put"},UpdateCourtesyCommand=class _UpdateCourtesyCommand{static{__name(this,"UpdateCourtesyCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateCourtesyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateCourtesyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateCourtesyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/courtesy/:id";static method="put"},UpdateDimmerCommand=class _UpdateDimmerCommand{static{__name(this,"UpdateDimmerCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateDimmerCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateDimmerCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateDimmerCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/dimmers/:id";static method="put"},UpdateDiscoveredDeviceCommand=class _UpdateDiscoveredDeviceCommand{static{__name(this,"UpdateDiscoveredDeviceCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateDiscoveredDeviceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateDiscoveredDeviceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateDiscoveredDeviceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/discoveredDevices/:id";static method="put"},UpdateIssueCommand=class _UpdateIssueCommand{static{__name(this,"UpdateIssueCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateIssueCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateIssueCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateIssueCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/issues/:id";static method="put"},UpdateLockCommand=class _UpdateLockCommand{static{__name(this,"UpdateLockCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateLockCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateLockCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateLockCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/locks/:id";static method="put"},UpdateMediaSourceCommand=class _UpdateMediaSourceCommand{static{__name(this,"UpdateMediaSourceCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateMediaSourceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateMediaSourceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateMediaSourceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/mediaSources/:id";static method="put"},UpdateMessageReadStatusCommand=class _UpdateMessageReadStatusCommand{static{__name(this,"UpdateMessageReadStatusCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateMessageReadStatusCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateMessageReadStatusCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateMessageReadStatusCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/tickets/:id/readAll";static method="post"},UpdateOrganizationCommand=class _UpdateOrganizationCommand{static{__name(this,"UpdateOrganizationCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateOrganizationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateOrganizationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateOrganizationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/organizations/:id";static method="put"},UpdatePolicyCommand=class _UpdatePolicyCommand{static{__name(this,"UpdatePolicyCommand")}constructor(commandConfig,options={}){const pathParams=_UpdatePolicyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdatePolicyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdatePolicyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/policies/:id";static method="put"},UpdatePropertyCommand=class _UpdatePropertyCommand{static{__name(this,"UpdatePropertyCommand")}constructor(commandConfig,options={}){const pathParams=_UpdatePropertyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdatePropertyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdatePropertyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/properties/:id";static method="put"},UpdatePropertySettingsCommand=class _UpdatePropertySettingsCommand{static{__name(this,"UpdatePropertySettingsCommand")}constructor(commandConfig,options={}){const pathParams=_UpdatePropertySettingsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdatePropertySettingsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdatePropertySettingsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/properties/:id/settings";static method="put"},UpdateReservationCommand=class _UpdateReservationCommand{static{__name(this,"UpdateReservationCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateReservationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateReservationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateReservationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id";static method="put"},UpdateReservationExpectedArrivalTimeCommand=class _UpdateReservationExpectedArrivalTimeCommand{static{__name(this,"UpdateReservationExpectedArrivalTimeCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateReservationExpectedArrivalTimeCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateReservationExpectedArrivalTimeCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateReservationExpectedArrivalTimeCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/expectedArrivalTime";static method="put"},UpdateRoomCommand=class _UpdateRoomCommand{static{__name(this,"UpdateRoomCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateRoomCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateRoomCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateRoomCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/rooms/:id";static method="put"},UpdateSelfCommand=class _UpdateSelfCommand{static{__name(this,"UpdateSelfCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateSelfCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateSelfCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateSelfCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/users/me";static method="put"},UpdateSpaceCommand=class _UpdateSpaceCommand{static{__name(this,"UpdateSpaceCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateSpaceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateSpaceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateSpaceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/spaces/:id";static method="put"},UpdateSwitchCommand=class _UpdateSwitchCommand{static{__name(this,"UpdateSwitchCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateSwitchCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateSwitchCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateSwitchCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/switches/:id";static method="put"},UpdateThermostatCommand=class _UpdateThermostatCommand{static{__name(this,"UpdateThermostatCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateThermostatCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateThermostatCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateThermostatCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/thermostats/:id";static method="put"},UpdateTicketCommand=class _UpdateTicketCommand{static{__name(this,"UpdateTicketCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateTicketCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateTicketCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateTicketCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/tickets/:id";static method="put"},UpdateTicketStatusCommand=class _UpdateTicketStatusCommand{static{__name(this,"UpdateTicketStatusCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateTicketStatusCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateTicketStatusCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateTicketStatusCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/tickets/:id/status";static method="put"},UpdateTimeSheetCommand=class _UpdateTimeSheetCommand{static{__name(this,"UpdateTimeSheetCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateTimeSheetCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateTimeSheetCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateTimeSheetCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/timesheets/:id";static method="put"},UpdateTimeSheetTimeEntryCommand=class _UpdateTimeSheetTimeEntryCommand{static{__name(this,"UpdateTimeSheetTimeEntryCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateTimeSheetTimeEntryCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateTimeSheetTimeEntryCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateTimeSheetTimeEntryCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["timeSheetId","id"];static url="/timesheets/:timeSheetId/timeEntries/:id";static method="put"},UpdateUserCommand=class _UpdateUserCommand{static{__name(this,"UpdateUserCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateUserCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateUserCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateUserCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/users/:id";static method="put"},UpdateVendorCommand=class _UpdateVendorCommand{static{__name(this,"UpdateVendorCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateVendorCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateVendorCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateVendorCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/vendors/:id";static method="put"},UpdateWindowCoveringCommand=class _UpdateWindowCoveringCommand{static{__name(this,"UpdateWindowCoveringCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateWindowCoveringCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateWindowCoveringCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateWindowCoveringCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/windowCoverings/:id";static method="put"},UploadImageCommand=class _UploadImageCommand{static{__name(this,"UploadImageCommand")}constructor(commandConfig,options={}){const pathParams=_UploadImageCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UploadImageCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UploadImageCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/mediaFiles/uploadImage";static method="post"},UpsertDiscoveredDeviceCommand=class _UpsertDiscoveredDeviceCommand{static{__name(this,"UpsertDiscoveredDeviceCommand")}constructor(commandConfig,options={}){const pathParams=_UpsertDiscoveredDeviceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpsertDiscoveredDeviceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpsertDiscoveredDeviceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/discoveredDevices/upsert";static method="post"},utils_exports={};function entityFactory(type){switch(type){case"reservation":return Reservation;case"mediaFile":return MediaFile;case"switch":return Switch;case"alarm":return Alarm;case"dimmer":return Dimmer;case"lock":return Lock;case"thermostat":return Thermostat;case"windowCovering":return WindowCovering;case"identification":return Identification;case"user":return User;case"systemUser":return SystemUser;case"policy":return Policy;case"courtesy":return Courtesy;case"camera":return Camera;case"motionSensor":return MotionSensor;case"mediaSource":return MediaSource;case"room":return Room;case"space":return Space;case"category":return Category;case"ticket":return Ticket;case"scene":return Scene;case"gateway":return Gateway;case"product":return Product;case"order":return Order;case"discoveredDevice":return DiscoveredDevice;case"deviceRouter":return DeviceRouter;case"credential":return Credential;case"shortLink":return ShortLink;case"energyReportShard":return EnergyReportShard;case"energyReport":return EnergyReport;case"smsMessage":return SmsMessage;case"emailMessage":return EmailMessage;case"announcement":return Announcement;case"timeSheet":return TimeSheet;case"property":return Property;case"organization":return Organization;case"issue":return Issue;case"vendor":return Vendor;case"log":return Log;default:throw new Error("Unknown entity type: "+type)}}function errorFactory(errName){switch(errName){case"AppError":return AppError;case"AuthenticationError":return AuthenticationError;case"AuthorizationError":return AuthorizationError;case"ConflictError":return ConflictError;case"DeviceCommError":return DeviceCommError;case"LoginError":return LoginError;case"NotFoundError":return NotFoundError;case"RequestError":return RequestError;case"SystemCommError":return SystemCommError;case"TokenExpiredError":return TokenExpiredError;case"UnprocessableRequestError":return UnprocessableRequestError;case"ValidationError":return ValidationError;default:return new Error("Invalid error name: "+errName)}}function eventFactory(eventName){const Event2=Object.values(events_exports).find((E=>E.prototype.name===eventName));if(!Event2)throw new Error("Invalid event name: "+eventName);return Event2}__export(utils_exports,{entityFactory:()=>entityFactory,errorFactory:()=>errorFactory,eventFactory:()=>eventFactory}),__name(entityFactory,"entityFactory"),__name(errorFactory,"errorFactory"),__name(eventFactory,"eventFactory");//# sourceMappingURL=index.cjs.map
|
|
1
|
+
var mod,__create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__name=(target,value)=>__defProp(target,"name",{value:value,configurable:!0}),__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&"object"==typeof from||"function"==typeof from)for(let key of __getOwnPropNames(from))__hasOwnProp.call(to,key)||key===except||__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toESM=(mod,isNodeMode,target)=>(target=null!=mod?__create(__getProtoOf(mod)):{},__copyProps(!isNodeMode&&mod&&mod.__esModule?target:__defProp(target,"default",{value:mod,enumerable:!0}),mod)),index_exports={};__export(index_exports,{AMQPClient:()=>KohostAMQPClient,Client:()=>KohostHTTPClient,Commands:()=>commands_exports,Errors:()=>errors_exports,Events:()=>events_exports,Models:()=>models_exports,SocketIoClient:()=>KohostSocketIoClient,UseCases:()=>useCases_exports,defs:()=>defs_exports,utils:()=>utils_exports}),module.exports=(mod=index_exports,__copyProps(__defProp({},"__esModule",{value:!0}),mod));var import_amqplib=require("amqplib"),import_connection=require("amqplib/lib/connection"),import_debug=__toESM(require("debug"),1),import_node_buffer=require("buffer"),crypto=__toESM(require("crypto"),1),defs_exports={};__export(defs_exports,{amqpExchanges:()=>amqpExchanges,deviceTypes:()=>deviceTypes});var amqpExchanges={Commands:{name:"kohost.commands",type:"headers",options:{durable:!0}},CommandResponses:{name:"kohost.commandResponses",type:"topic",options:{durable:!0}},DriverEvents:{name:"kohost.events.drivers",type:"topic",options:{durable:!0}},AppEvents:{name:"kohost.events.app",type:"topic",options:{durable:!0}},Direct:{name:"kohost.direct",type:"direct",options:{durable:!0}},dlx:{name:"kohost.dlx",type:"direct"}},deviceTypes=["dimmer","switch","thermostat","lock","windowCovering","courtesy","alarm","camera","mediaSource","motionSensor","gateway"],errors_exports={};__export(errors_exports,{AppError:()=>AppError,AuthenticationError:()=>AuthenticationError,AuthorizationError:()=>AuthorizationError,ConflictError:()=>ConflictError,DeviceCommError:()=>DeviceCommError,LoginError:()=>LoginError,NotFoundError:()=>NotFoundError,RequestError:()=>RequestError,SystemCommError:()=>SystemCommError,TokenExpiredError:()=>TokenExpiredError,UnprocessableRequestError:()=>UnprocessableRequestError,ValidationError:()=>ValidationError});var AppError=class _AppError extends Error{static{__name(this,"AppError")}constructor(message="Internal Server Error",options){super(message,options),this.type=this.constructor.name,this.statusCode=500,this.name="AppError",Object.setPrototypeOf(this,_AppError.prototype)}},AuthenticationError=class _AuthenticationError extends AppError{static{__name(this,"AuthenticationError")}constructor(message="Authentication Error",options={}){super(message,options),this.statusCode=401,this.name="AuthenticationError",Object.setPrototypeOf(this,_AuthenticationError.prototype)}},AuthorizationError=class _AuthorizationError extends AppError{static{__name(this,"AuthorizationError")}constructor(message="Authorization Error",options={}){super(message,options),this.statusCode=403,this.name="AuthorizationError",Object.setPrototypeOf(this,_AuthorizationError.prototype)}},ConflictError=class _ConflictError extends AppError{static{__name(this,"ConflictError")}constructor(message="Bad Request",options={}){super(message,options),this.statusCode=409,this.name="ConflictError",Object.setPrototypeOf(this,_ConflictError.prototype)}},DeviceCommError=class _DeviceCommError extends AppError{static{__name(this,"DeviceCommError")}constructor(message="Device Communication Error",options={}){super(message,options),this.statusCode=503,this.name="DeviceCommError",Object.setPrototypeOf(this,_DeviceCommError.prototype)}},LoginError=class _LoginError extends AppError{static{__name(this,"LoginError")}constructor(message="Invalid Login information provided",options={}){super(message,options),this.statusCode=401,this.name="LoginError",Object.setPrototypeOf(this,_LoginError.prototype)}},NotFoundError=class _NotFoundError extends AppError{static{__name(this,"NotFoundError")}constructor(message="Resource Not Found",options={}){super(message,options),this.statusCode=404,this.name="NotFoundError",Object.setPrototypeOf(this,_NotFoundError.prototype)}},RequestError=class _RequestError extends AppError{static{__name(this,"RequestError")}constructor(message="Bad Request",options={}){super(message,options),this.statusCode=400,this.name="RequestError",Object.setPrototypeOf(this,_RequestError.prototype)}},SystemCommError=class _SystemCommError extends AppError{static{__name(this,"SystemCommError")}constructor(message="System Communication Error",options={}){super(message,options),this.statusCode=503,this.name="SystemCommError",Object.setPrototypeOf(this,_SystemCommError.prototype)}},TokenExpiredError=class _TokenExpiredError extends AppError{static{__name(this,"TokenExpiredError")}constructor(message="Token Expired",options={}){super(message,options),this.statusCode=401,this.name="TokenExpiredError",Object.setPrototypeOf(this,_TokenExpiredError.prototype)}},UnprocessableRequestError=class _UnprocessableRequestError extends AppError{static{__name(this,"UnprocessableRequestError")}constructor(message="Unprocessable Request Error",options={}){super(message,options),this.statusCode=422,this.name="UnprocessableRequestError",Object.setPrototypeOf(this,_UnprocessableRequestError.prototype)}},ValidationError=class _ValidationError extends AppError{static{__name(this,"ValidationError")}constructor(message="Validation Error",options={}){super(message,options),this.statusCode=400,this.name="ValidationError",Object.setPrototypeOf(this,_ValidationError.prototype)}},randomUUID2=crypto.randomUUID,debug=(0,import_debug.default)("kohost:amqp-client"),KohostAMQPClient=class{static{__name(this,"KohostAMQPClient")}static get Message(){return Message}static get exchanges(){return amqpExchanges}static generateCorrelationId(){return randomUUID2()}static validateMessage(message){if(!message)throw new Error("Message is required")}static parseError(err){let type,message,options={};if(err.message&&err.type){const{message:errMessage,type:errType,...rest}=err;type=errType,message=errMessage,options=rest}else message=err.message||"Unknown Error";return debug("parseError",type,message,options),type&&errors_exports[type]?new errors_exports[type](message,options):new Error(message,options)}static parseMessage(message){let error=null,data={},query={},context={},headers={};const isCommand="Command"===message?.properties?.type,isEvent="Event"===message?.properties?.type,messageHeaders=message?.properties?.headers||{},commandName=messageHeaders["X-Command-Name"]||null,eventName=messageHeaders["X-Event-Name"]||null;if(message.content)try{const payload="application/json"===message.properties?.contentType?JSON.parse(message.content.toString()):message.content.toString();data=payload?.data||{},error=payload?.error,query=payload?.query||{},context=payload?.context||{}}catch(error2){debug("error parsing content",error2),data=message.content.toString()}if(message?.properties?.headers){const orgHeader=message.properties.headers["X-Organization-Id"],propertyHeader=message.properties.headers["X-Property-Id"],driverHeader=message.properties.headers["X-Driver"];orgHeader&&(context.organizationId=orgHeader,headers["X-Organization-Id"]=orgHeader),propertyHeader&&(context.propertyId=propertyHeader,headers["X-Property-Id"]=propertyHeader),driverHeader&&(context.driver=driverHeader,headers["X-Driver"]=driverHeader)}const parsed={};return error&&(parsed.error=this.parseError(error)),parsed.data=data,parsed.query=query,parsed.context=context,parsed.headers=headers,isEvent&&eventName?parsed.event=eventName:isCommand&&commandName&&(parsed.command=commandName),debug("amqp parsed %o",parsed),parsed}static getMessage(message){if(!message?.content)return null;const payload=JSON.parse(message.content.toString()),data=payload?.data;return data}static isFatalError(err){return(0,import_connection.isFatalError)(err)}async createConnection(connection,options={}){return await(0,import_amqplib.connect)(connection,options)}static createMessage(content){return new Message(content)}async createChannel(connection){return await connection.createChannel()}async assertExchange(channel,{exchange:exchange,type:type,options:options}){return await channel.assertExchange(exchange,type,options)}async assertQueue(channel,{queue:queue,options:options}){return await channel.assertQueue(queue,options)}async bindQueue(channel,{queue:queue,exchange:exchange,routingKey:routingKey,args:args}){return await channel.bindQueue(queue,exchange,routingKey,args)}async bindExchange(channel,{source:source,destination:destination,routingKey:routingKey,args:args}){return await channel.bindExchange(destination,source,routingKey,args)}async subscribeToQueue(channel,{queue:queue,cb:cb,options:options}){return await channel.consume(queue,cb,options)}publishToExchange(channel,{exchange:exchange,routingKey:routingKey,content:content,options:options}){return channel.publish(exchange,routingKey,content,options)}},Message=class{static{__name(this,"Message")}constructor(content){this.toExchange=null,this.content=content,this.options={contentType:"application/json",timestamp:Date.now()},this.routingKey=""}get correlationId(){return this.options.correlationId||null}to({exchange:exchange}){if(void 0===exchange)throw new Error("Exchange is required");return this.toExchange=exchange,this}withType(type){return this.options.type=type,this}withRoutingKey(routingKey){return this.routingKey=routingKey,this}withHeaders(headers){return this.options.headers||(this.options.headers={}),this.options.headers={...this.options.headers,...headers},this}withContext(context){for(let key in context)this.withHeaders({[key]:context[key]});return this}withCorrelationId(correlationId){return this.options.correlationId=correlationId,this}withReplyTo(queue){return this.options.replyTo=queue,this}build(){let content=this.content;return content.build&&"function"==typeof content.build&&(content=content.build()),{exchange:this.toExchange,content:import_node_buffer.Buffer.from(JSON.stringify(content)),options:this.options,routingKey:this.routingKey}}},RefreshTokenCommand=class _RefreshTokenCommand{static{__name(this,"RefreshTokenCommand")}constructor(commandConfig,options={}){const pathParams=_RefreshTokenCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_RefreshTokenCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_RefreshTokenCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/auth/refresh";static method="post"},KohostHTTPClient=class _KohostHTTPClient{static{__name(this,"KohostHTTPClient")}#onSuccess;#onError;#tokenRenewalRequest=null;constructor(options={url:"",propertyId:"",organizationId:"",apiKey:"",headers:new Headers({}),onSuccess:__name((response=>response),"onSuccess"),onError:__name((error=>error),"onError")}){if(!options.url)throw new Error("options.url is required");this.options=options,this.isAuthTokenRenewalActive=!1,this.baseUrl=new URL(options.url),this.headers=new Headers({"Content-Type":"application/json",Accept:"application/json",...options.headers}),options.apiKey&&this.headers.set(_KohostHTTPClient.defs.apiKeyHeader,options.apiKey),options.propertyId&&(this.propertyId=options.propertyId),options.organizationId&&(this.organizationId=options.organizationId),this.#onSuccess=options.onSuccess?options.onSuccess:response=>response,this.#onError=options.onError?options.onError:error=>error,this.callbacks={}}on(event,callback){if("function"!=typeof callback)throw new Error("Callback must be a function");this.callbacks[event]||(this.callbacks[event]=[]),this.callbacks[event].push(callback)}emit(event,...args){this.callbacks[event]&&this.callbacks[event].forEach((callback=>callback(...args)))}set organizationId(orgId){const key=_KohostHTTPClient.defs.organizationHeader;this.headers.set(key,orgId)}get organizationId(){const key=_KohostHTTPClient.defs.organizationHeader;return this.headers.get(key)}set propertyId(propertyId){const key=_KohostHTTPClient.defs.propertyHeader;this.headers.set(key,propertyId)}get propertyId(){const key=_KohostHTTPClient.defs.propertyHeader;return this.headers.get(key)}static get defs(){return{apiKeyHeader:"X-Api-Key",propertyHeader:"X-Property-Id",organizationHeader:"X-Organization-Id"}}async send(command){const commandConfig=command.config,request=this.createRequest(commandConfig);this.#tokenRenewalRequest&&await this.#tokenRenewalRequest;const response=await fetch(request),responseData=response.headers.get("Content-Type")?.includes("application/json")||!1?await response.json():response.body;if(!response.ok){let error=responseData?.error||new Error(response.statusText);const status=response.status,errorType=responseData.error?.type,errorMessage=responseData?.error?.message;try{const expectedError=status>=400&&status<500,newTokensNeeded=expectedError&&"TokenExpiredError"===errorType;if(expectedError&&"Phone Verification is required"===errorMessage)return this.#onPhoneVerificationRequired(),Promise.reject(error);if(expectedError&&"Login Required"===errorMessage)return this.#onLoginRequired(),Promise.reject(error);if(expectedError&&"No auth header or cookie provided"===errorMessage)return this.#onLoginRequired(),Promise.reject(error);if(expectedError&&newTokensNeeded){if(this.#tokenRenewalRequest)try{return await this.#tokenRenewalRequest,this.send(command)}catch(error2){return Promise.reject(error2)}this.#tokenRenewalRequest=this.send(new RefreshTokenCommand({})).finally((()=>{this.#tokenRenewalRequest=null}));try{return await this.#tokenRenewalRequest,this.send(command)}catch(error2){return Promise.reject(error2)}}}catch(error2){console.error(error2)}return error=this.#onError(error),Promise.reject(error)}return this.#onSuccess(responseData)}#onLoginRequired(){this.emit("LoginRequired")}#onPhoneVerificationRequired(){this.emit("PhoneVerificationRequired")}createRequest(config){"object"!=typeof config.headers&&(config.headers={});let apiPath=config.url;apiPath.startsWith("/")&&(apiPath=`.${apiPath}`);const url=new URL(apiPath,this.baseUrl),method=config.method?.toUpperCase()||"GET";config.params&&"object"==typeof config.params&&Object.entries(config.params).forEach((([key,value])=>{Array.isArray(value)?value.forEach((item=>{"object"==typeof item&&null!==item?Object.entries(item).forEach((([itemKey,itemValue])=>{url.searchParams.append(`${key}[][${itemKey}]`,itemValue)})):url.searchParams.append(`${key}[]`,item)})):null==value?url.searchParams.append(key,""):"object"==typeof value?Object.entries(value).forEach((([nestedKey,nestedValue])=>{Array.isArray(nestedValue)?nestedValue.forEach((item=>{url.searchParams.append(`${key}[${nestedKey}][]`,item)})):url.searchParams.append(`${key}[${nestedKey}]`,nestedValue)})):url.searchParams.append(key,value)}));const headers=new Headers(this.headers);config.headers&&Object.keys(config.headers).forEach((key=>{headers.set(key,config.headers[key])}));const body=null!==config.data&&["POST","PUT","PATCH"].includes(method)?"application/json"===headers.get("Content-Type")?JSON.stringify(config.data):config.data:void 0;return new Request(url,{method:method,headers:headers,credentials:"include",body:body})}},import_socket=require("socket.io-client"),KohostSocketIoClient=class{static{__name(this,"KohostSocketIoClient")}constructor(config={url:null,options:{}}){if(!config.url)throw new Error("config.url is required");this.url=config.url,this.options={autoConnect:!1,forceNew:!1,reconnection:!0,reconnectionAttempts:1/0,reconnectionDelay:1e3,withCredentials:!0,transports:["websocket","polling"],upgrade:!0,...config.options},this.socket=(0,import_socket.io)(this.url,this.options),this.socket.on("connect",(()=>{this.emit("connect",this.socket)})),this.socket.on("disconnect",(reason=>{this.emit("disconnect",reason)})),this.socket.on("reconnect_attempt",(data=>{this.emit("reconnect_attempt",data)})),this.socket.on("connect_error",(error=>{this.emit("connect_error",error)})),this.callbacks={}}#url=null;get url(){return this.#url}set url(url){this.#url=url}get connected(){return this.socket?.connected||!1}get disconnected(){return this.socket?.disconnected||!1}on(event,callback){if("function"!=typeof callback)throw new Error("Callback must be a function");this.callbacks[event]||(this.callbacks[event]=[]),this.callbacks[event].push(callback)}emit(event,...args){this.callbacks[event]&&this.callbacks[event].forEach((callback=>callback(...args)))}listeners(event){return this.callbacks[event]||[]}connect(){this.socket.connect()}disconnect(){this.socket.disconnect()}reconnect(){this.disconnect(),this.connect()}subscribe(event,callback){this.socket.on(event,callback)}unsubscribe(event,callback){this.socket.off(event,callback)}getSubscriptions(event){return this.socket.listeners(event)}send(event,{data:data={},query:query={},...rest}){this.socket.emit(event,{data:data,query:query,...rest})}destroy(){this.disconnect(),this.socket.removeAllListeners(),this.socket=null}},commands_exports={};__export(commands_exports,{CheckInReservation:()=>CheckInReservation,CheckOutReservation:()=>CheckOutReservation,Command:()=>Command,CreateImageUploadEndpoint:()=>CreateImageUploadEndpoint,CreateShortLink:()=>CreateShortLink,GetCategories:()=>GetCategories,GetMobileKey:()=>GetMobileKey,GetProducts:()=>GetProducts,GetReservationSpaceCategoryAvailabilities:()=>GetReservationSpaceCategoryAvailabilities,GetReservations:()=>GetReservations,GetRooms:()=>GetRooms,GetUsers:()=>GetUsers,OCRDocument:()=>OCRDocument,SellProducts:()=>SellProducts,SendEmail:()=>SendEmail,SendSMS:()=>SendSMS,SetAlarm:()=>SetAlarm,SetCourtesy:()=>SetCourtesy,SetDimmer:()=>SetDimmer,SetLock:()=>SetLock,SetMedia:()=>SetMedia,SetScene:()=>SetScene,SetSwitch:()=>SetSwitch,SetThermostat:()=>SetThermostat,SetWindowCovering:()=>SetWindowCovering,UpdateReservation:()=>UpdateReservation,UpdateUser:()=>UpdateUser,UploadImage:()=>UploadImage});var Commands=amqpExchanges.Commands,Command=class{static{__name(this,"Command")}constructor(data){if(this.data={},!data)throw new Error("Command data is required");if("object"!=typeof data)throw new Error("Command data must be an object");for(const key in data)this.data[key]=data[key]}get name(){throw new Error("Command name is required")}static get type(){return"Command"}static get exchange(){return Commands.name}build(){return{data:{...this.data}}}},CheckInReservation=class extends Command{static{__name(this,"CheckInReservation")}constructor({id:id,...rest}){super({id:id,...rest})}get name(){return"CheckInReservation"}},CheckOutReservation=class extends Command{static{__name(this,"CheckOutReservation")}constructor({reservationId:reservationId,userId:userId,...rest}){super({reservationId:reservationId,userId:userId,...rest})}get name(){return"CheckOutReservation"}},CreateImageUploadEndpoint=class extends Command{static{__name(this,"CreateImageUploadEndpoint")}constructor({id:id,expires:expires,...rest}){super({id:id,expires:expires,...rest})}get name(){return"CreateImageUploadEndpoint"}},CreateShortLink=class extends Command{static{__name(this,"CreateShortLink")}constructor({title:title,destination:destination,...rest}){super({title:title,destination:destination,...rest})}get name(){return"CreateShortLink"}},GetCategories=class extends Command{static{__name(this,"GetCategories")}constructor({id:id,...rest}){super({id:id,...rest})}get name(){return"GetCategories"}},GetMobileKey=class extends Command{static{__name(this,"GetMobileKey")}constructor({id:id,phone:phone,beginDateTime:beginDateTime,endDateTime:endDateTime,keyToReplace:keyToReplace,...rest}){super({id:id,phone:phone,beginDateTime:beginDateTime,endDateTime:endDateTime,keyToReplace:keyToReplace,...rest})}get name(){return"GetMobileKey"}},GetProducts=class extends Command{static{__name(this,"GetProducts")}constructor({id:id,externalSystemId:externalSystemId,...rest}){super({id:id,externalSystemId:externalSystemId,...rest})}get name(){return"GetProducts"}},GetReservationSpaceCategoryAvailabilities=class extends Command{static{__name(this,"GetReservationSpaceCategoryAvailabilities")}constructor(options){const{id:id,...rest}=options;super({id:id,...rest})}get name(){return"GetReservationSpaceCategoryAvailabilities"}},GetReservations=class extends Command{static{__name(this,"GetReservations")}constructor(options){const{id:id,startDate:startDate,endDate:endDate,status:status,...rest}=options;super({id:id,startDate:startDate,endDate:endDate,status:status,...rest})}get name(){return"GetReservations"}},GetRooms=class extends Command{static{__name(this,"GetRooms")}constructor({id:id,types:types,categories:categories,startDate:startDate,endDate:endDate,serviceStatus:serviceStatus,housekeepingStatus:housekeepingStatus,...rest}){super({id:id,types:types,categories:categories,startDate:startDate,endDate:endDate,serviceStatus:serviceStatus,housekeepingStatus:housekeepingStatus,...rest})}get name(){return"GetRooms"}},GetUsers=class extends Command{static{__name(this,"GetUsers")}constructor({id:id,...rest}){super({id:id,...rest})}get name(){return"GetUsers"}},OCRDocument=class extends Command{static{__name(this,"OCRDocument")}constructor({type:type,image:image,...rest}){super({type:type,image:image,...rest})}get name(){return"OCRDocument"}},SellProducts=class extends Command{static{__name(this,"SellProducts")}constructor({reservationId:reservationId,userId:userId,products:products,...rest}){super({reservationId:reservationId,userId:userId,products:products,...rest})}get name(){return"SellProducts"}},SendEmail=class extends Command{static{__name(this,"SendEmail")}constructor({text:text,html:html,to:to,from:from,subject:subject,...rest}){super({text:text,html:html,to:to,from:from,subject:subject,...rest})}get name(){return"SendEmail"}},SendSMS=class extends Command{static{__name(this,"SendSMS")}constructor({id:id,body:body,to:to,from:from,media:media,...rest}){super({id:id,body:body,to:to,from:from,media:media,...rest})}get name(){return"SendSMS"}},SetAlarm=class extends Command{static{__name(this,"SetAlarm")}constructor({id:id,zones:zones,areas:areas,code:code,...rest}){super({id:id,zones:zones,areas:areas,code:code,...rest})}get name(){return"SetAlarm"}},SetCourtesy=class extends Command{static{__name(this,"SetCourtesy")}constructor({id:id,state:state,...rest}){super({id:id,state:state,...rest})}get name(){return"SetCourtesy"}},SetDimmer=class extends Command{static{__name(this,"SetDimmer")}constructor({id:id,level:level,...rest}){super({id:id,level:level,...rest})}get name(){return"SetDimmer"}},SetLock=class extends Command{static{__name(this,"SetLock")}constructor({id:id,state:state,...rest}){super({id:id,state:state,...rest})}get name(){return"SetLock"}},SetMedia=class extends Command{static{__name(this,"SetMedia")}constructor({id:id,command:command,...rest}){super({id:id,command:command,...rest})}get name(){return"SetMedia"}},SetScene=class extends Command{static{__name(this,"SetScene")}constructor({id:id,devices:devices,...rest}){super({id:id,devices:devices,...rest})}get name(){return"SetScene"}},SetSwitch=class extends Command{static{__name(this,"SetSwitch")}constructor({id:id,state:state,...rest}){super({id:id,state:state,...rest})}get name(){return"SetSwitch"}},SetThermostat=class extends Command{static{__name(this,"SetThermostat")}constructor({id:id,setpoints:setpoints,hvacMode:hvacMode,fanMode:fanMode,...rest}){super({id:id,setpoints:setpoints,hvacMode:hvacMode,fanMode:fanMode,...rest})}get name(){return"SetThermostat"}},SetWindowCovering=class extends Command{static{__name(this,"SetWindowCovering")}constructor({id:id,position:position,...rest}){super({id:id,position:position,...rest})}get name(){return"SetWindowCovering"}},UpdateReservation=class extends Command{static{__name(this,"UpdateReservation")}constructor({id:id,...rest}){super({id:id,...rest})}get name(){return"UpdateReservation"}},UpdateUser=class extends Command{static{__name(this,"UpdateUser")}constructor({id:id,email:email,phone:phone,identification:identification,address:address,note:note,nationality:nationality,file:file,payment:payment,...rest}){super({id:id,email:email,phone:phone,identification:identification,address:address,note:note,nationality:nationality,file:file,payment:payment,...rest})}get name(){return"UpdateUser"}},UploadImage=class extends Command{static{__name(this,"UploadImage")}constructor({id:id,url:url,file:file,...rest}){super({id:id,url:url,file:file,...rest})}get name(){return"UploadImage"}},events_exports={};__export(events_exports,{ApplicationInUse:()=>ApplicationInUse,ApplicationOutOfUse:()=>ApplicationOutOfUse,EmailEvent:()=>EmailEvent,Event:()=>Event,ReservationCheckedIn:()=>ReservationCheckedIn,ReservationCheckedOut:()=>ReservationCheckedOut,ReservationSpaceChanged:()=>ReservationSpaceChanged,SMSEvent:()=>SMSEvent,SceneSet:()=>SceneSet,ShortLinkCreated:()=>ShortLinkCreated,SystemAlarmUpdated:()=>SystemAlarmUpdated,SystemCameraUpdated:()=>SystemCameraUpdated,SystemCategoryUpdated:()=>SystemCategoryUpdated,SystemCourtesyUpdated:()=>SystemCourtesyUpdated,SystemCredentialUpdated:()=>SystemCredentialUpdated,SystemDimmerUpdated:()=>SystemDimmerUpdated,SystemEntityDeleted:()=>SystemEntityDeleted,SystemGatewayUpdated:()=>SystemGatewayUpdated,SystemLockUpdated:()=>SystemLockUpdated,SystemMediaSourceUpdated:()=>SystemMediaSourceUpdated,SystemMotionSensorUpdated:()=>SystemMotionSensorUpdated,SystemOrganizationUpdated:()=>SystemOrganizationUpdated,SystemProductUpdated:()=>SystemProductUpdated,SystemPropertyUpdated:()=>SystemPropertyUpdated,SystemReservationUpdated:()=>SystemReservationUpdated,SystemSpaceUpdated:()=>SystemSpaceUpdated,SystemSwitchUpdated:()=>SystemSwitchUpdated,SystemThermostatUpdated:()=>SystemThermostatUpdated,SystemUserUpdated:()=>SystemUserUpdated,SystemWindowCoveringUpdated:()=>SystemWindowCoveringUpdated});var Event=class{static{__name(this,"Event")}constructor(data,context={}){if(this.data=[],this.context=context,!data)throw new Error("Event data is required");if("object"!=typeof data&&!Array.isArray(data))throw new Error("Event data must be an object or array");Array.isArray(data)?this.data=data:this.data=[data]}get organizationId(){return this.context.organizationId||"*"}get propertyId(){return this.context.propertyId||"*"}static get type(){return"Event"}static get exchange(){return amqpExchanges.DriverEvents.name}static get entity(){return""}build(){return{data:{...this.data}}}get routingKey(){return`${this.organizationId}.${this.propertyId}.${this.constructor.entity}.${this.constructor.name}`}},ApplicationInUse=class extends Event{constructor(data={},context){super(data,context)}static get name(){return"ApplicationInUse"}static get entity(){return"app"}static get exchange(){return amqpExchanges.AppEvents.name}},ApplicationOutOfUse=class extends Event{constructor(data={},context={}){super(data,context)}static get name(){return"ApplicationOutOfUse"}static get entity(){return"app"}static get exchange(){return amqpExchanges.AppEvents.name}},EmailEvent=class extends Event{constructor(email,context){super(email,context)}static get name(){return"EmailEvent"}static get entity(){return"emailMessage"}},ReservationCheckedIn=class extends Event{constructor(reservation,context){super(reservation,context)}static get name(){return"ReservationCheckedIn"}static get entity(){return"reservation"}static get exchange(){return amqpExchanges.AppEvents.name}},ReservationCheckedOut=class extends Event{constructor(reservation,context){super(reservation,context)}static get name(){return"ReservationCheckedOut"}static get entity(){return"reservation"}static get exchange(){return amqpExchanges.AppEvents.name}},ReservationSpaceChanged=class extends Event{constructor(reservation,context){super(reservation,context)}static get name(){return"ReservationSpaceChanged"}static get entity(){return"reservation"}static get exchange(){return amqpExchanges.AppEvents.name}},SceneSet=class extends Event{constructor(scene,context){super(scene,context)}static get name(){return"SceneSet"}static get entity(){return"scene"}},ShortLinkCreated=class extends Event{constructor(shortLink,context){super(shortLink,context)}static get name(){return"ShortLinkCreated"}static get entity(){return"shortLink"}},SMSEvent=class extends Event{constructor(sms,context){super(sms,context)}static get name(){return"SMSEvent"}static get entity(){return"smsMessage"}},SystemAlarmUpdated=class extends Event{constructor(alarm,context){super(alarm,context)}static get name(){return"SystemAlarmUpdated"}static get entity(){return"alarm"}},SystemCameraUpdated=class extends Event{constructor(camera,context){super(camera,context)}static get name(){return"SystemCameraUpdated"}static get entity(){return"camera"}},SystemCategoryUpdated=class extends Event{constructor(category,context){super(category,context)}static get name(){return"SystemCategoryUpdated"}static get entity(){return"category"}},SystemCourtesyUpdated=class extends Event{constructor(courtesy,context){super(courtesy,context)}static get name(){return"SystemCourtesyUpdated"}static get entity(){return"courtesy"}},SystemCredentialUpdated=class extends Event{constructor(cred,context){super(cred,context)}static get name(){return"SystemCredentialUpdated"}static get entity(){return"credential"}},SystemDimmerUpdated=class extends Event{constructor(dimmer,context){super(dimmer,context)}static get name(){return"SystemDimmerUpdated"}static get entity(){return"dimmer"}},SystemEntityDeleted=class extends Event{constructor(data,context){super(data,context)}static get name(){return"SystemEntityDeleted"}static get entity(){return"entity"}},SystemGatewayUpdated=class extends Event{constructor(gateway,context){super(gateway,context)}static get name(){return"SystemGatewayUpdated"}static get entity(){return"gateway"}},SystemLockUpdated=class extends Event{constructor(lock,context){super(lock,context)}static get name(){return"SystemLockUpdated"}static get entity(){return"lock"}},SystemMediaSourceUpdated=class extends Event{constructor(mediaSource,context){super(mediaSource,context)}static get name(){return"SystemMediaSourceUpdated"}static get entity(){return"mediaSource"}},SystemMotionSensorUpdated=class extends Event{constructor(motion,context){super(motion,context)}static get name(){return"SystemMotionSensorUpdated"}static get entity(){return"motionSensor"}},SystemOrganizationUpdated=class extends Event{constructor(organization,context){super(organization,context)}static get name(){return"SystemOrganizationUpdated"}static get entity(){return"organization"}},SystemProductUpdated=class extends Event{constructor(product,context){super(product,context)}static get name(){return"SystemProductUpdated"}static get entity(){return"product"}},SystemPropertyUpdated=class extends Event{constructor(property,context){super(property,context)}static get name(){return"SystemPropertyUpdated"}static get entity(){return"property"}},SystemReservationUpdated=class extends Event{constructor(reservation,context){super(reservation,context)}static get name(){return"SystemReservationUpdated"}static get entity(){return"reservation"}},SystemSpaceUpdated=class extends Event{constructor(space,context){super(space,context)}static get name(){return"SystemSpaceUpdated"}static get entity(){return"space"}},SystemSwitchUpdated=class extends Event{constructor(_switch,context){super(_switch,context)}static get name(){return"SystemSwitchUpdated"}static get entity(){return"switch"}},SystemThermostatUpdated=class extends Event{constructor(thermostat,context){super(thermostat,context)}static get name(){return"SystemThermostatUpdated"}static get entity(){return"thermostat"}},SystemUserUpdated=class extends Event{constructor(user,context){super(user,context)}static get name(){return"SystemUserUpdated"}static get entity(){return"user"}},SystemWindowCoveringUpdated=class extends Event{constructor(wc,context){super(wc,context)}static get name(){return"SystemWindowCoveringUpdated"}static get entity(){return"windowCovering"}},models_exports={};__export(models_exports,{Alarm:()=>Alarm,Announcement:()=>Announcement,Automation:()=>Automation,Camera:()=>Camera,Category:()=>Category,Courtesy:()=>Courtesy,Credential:()=>Credential,DeviceRouter:()=>DeviceRouter,Dimmer:()=>Dimmer,DiscoveredDevice:()=>DiscoveredDevice,EmailMessage:()=>EmailMessage,EnergyReport:()=>EnergyReport,EnergyReportShard:()=>EnergyReportShard,Entity:()=>Entity,Gateway:()=>Gateway,Identification:()=>Identification,Issue:()=>Issue,Lock:()=>Lock,Log:()=>Log,MediaFile:()=>MediaFile,MediaSource:()=>MediaSource,MotionSensor:()=>MotionSensor,Order:()=>Order,Organization:()=>Organization,Payment:()=>Payment,Policy:()=>Policy,Product:()=>Product,Property:()=>Property,Reservation:()=>Reservation,Room:()=>Room,Scene:()=>Scene,ShortLink:()=>ShortLink,SmsMessage:()=>SmsMessage,Space:()=>Space,Switch:()=>Switch,SystemUser:()=>SystemUser,Thermostat:()=>Thermostat,Ticket:()=>Ticket,TimeSheet:()=>TimeSheet,User:()=>User,Vendor:()=>Vendor,WindowCovering:()=>WindowCovering});var Entity=class{static{__name(this,"Entity")}constructor(data){if(!this.schema)throw new Error("Schema is not defined");if(!this.validator)throw new Error("Validator is not defined");this.#validate(data)}get schemaProperties(){return Object.keys(this.validator.schema.properties)}#validate(data){if(!this.validator(data))throw new ValidationError(`Invalid ${this.constructor.name}`,{cause:this.validator.errors})}},import_ajv=require("ajv"),import_ajv_formats=__toESM(require("ajv-formats"),1),alarm_default={$schema:"http://json-schema.org/draft-07/schema",$id:"alarm.json",title:"Alarm",description:"Any smart alarm system",type:"object",required:["id","type","areas","zones","driver"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string",description:"Name of the alarm"},offline:{type:"boolean"},type:{type:"string",enum:["alarm"],default:"alarm"},systemId:{$ref:"definitions.json#/definitions/systemId"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},areas:{type:"array",items:{type:"object",properties:{number:{type:"number"},name:{type:"string"},securityMode:{type:["string","null"],enum:["arming","disarming","armed","disarmed","alarm",null]}},additionalProperties:!1}},zones:{type:"array",items:{type:"object",properties:{number:{type:"number",minimum:0},name:{type:"string"},secure:{type:["boolean","null"]},bypassed:{type:["boolean","null"]}},additionalProperties:!1}},chime:{type:"boolean",description:"Reflects whether console chime is enabled"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"},address:{$ref:"definitions.json#/definitions/address"}}},announcement_default={$schema:"http://json-schema.org/draft-07/schema",$id:"announcement.json",title:"Announcement",description:"Announcement message sent to users",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["announcement"],default:"announcement"},users:{type:"array",items:{type:"string"},minItems:1},group:{type:"string"},body:{type:"string"},media:{$ref:"mediaFile.json"},sentBy:{type:"string"},tags:{type:"array",items:{type:"string"}},createdAt:{$ref:"definitions.json#/definitions/date"},updatedAt:{$ref:"definitions.json#/definitions/date"}},additionalProperties:!1},automation_default={$schema:"http://json-schema.org/draft-07/schema",$id:"automation.json",title:"Automation",description:"An automation is a collection of triggers and actions",type:"object",required:["id","type","trigger","actions"],properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string",description:"The friendly name of the automation"},type:{type:"string",enum:["automation"],default:"automation"},isEnabled:{type:"boolean",description:"Whether the automation is currently enabled",default:!0},trigger:{type:"object",description:"The trigger that initiates the automation",required:["discriminator","schedule"],properties:{discriminator:{type:"string",enum:["time"],description:"Type of trigger"},schedule:{type:"object",description:"Schedule for time-based triggers",required:["days","time","timezone"],properties:{days:{type:"array",description:"Days of the week (0 = Sunday, 6 = Saturday)",items:{type:"integer",minimum:0,maximum:6}},time:{type:"string",description:"Time of day to trigger the automation"},timeOffsetSeconds:{type:"integer",description:"Offset in seconds from the scheduled time",default:0},repeat:{type:"boolean",description:"Whether the schedule repeats",default:!0},timezone:{type:"string",description:"Timezone for the schedule (IANA timezone format)"}}}}},actions:{type:"array",description:"Actions to perform when the trigger conditions are met",items:{type:"object",required:["deviceId","roomId","discriminator","state"],properties:{deviceId:{type:"string",description:"ID of the device to control"},roomId:{type:"string",description:"ID of the room containing the device"},discriminator:{type:"string",description:"Type discriminator for the device (e.g., 'windowCovering', 'switch')"},duration:{type:"integer",description:"Duration in seconds to keep the device in the configured state",minimum:0},state:{type:"array",items:{type:"object",required:["property","value"],properties:{property:{type:"string",description:"Property to set (e.g., 'state', 'level', 'setpoint')"},value:{type:["string","number","boolean"],description:"Value to set the property to"}}}}}},minItems:1},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"},lastTriggeredAt:{$ref:"definitions.json#/definitions/date",description:"When the automation was last triggered"}},additionalProperties:!1},camera_default={$schema:"http://json-schema.org/draft-07/schema",$id:"camera.json",title:"Camera",description:"Any smart camera",type:"object",required:["id","type","driver"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{type:"string",enum:["camera"],default:"camera"},offline:{type:"boolean"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},liveStreams:{type:"object",additionalProperties:!1,$comment:"This is now deprecated. Use liveStream instead. This will remain here for backwards compatibility.",properties:{iframe:{type:["string","null"]},hls:{type:["string","null"]},webRTC:{type:["string","null"]},rtsp:{type:["string","null"]}}},liveStream:{type:"object",additionalProperties:!1,properties:{id:{type:"string"},driver:{type:"string",enum:["cloudflare-stream","aws-kinesis","digital-watchdog","mediamtx"]},allowedOrigins:{type:"array",items:{type:"string"}},authRequired:{type:"boolean"},iframe:{type:["string","null"]},hls:{type:["string","null"]},webRTC:{type:["string","null"]},rtsp:{type:["string","null"],description:"Local RTSP stream URL",examples:["rtsp://192.168.1.4:544/channels/1","rtsp://10.145.6.129:8554/unicast"]},previewImage:{type:["string","null"],description:"Source to preview the camera stream",examples:["https://example.com/preview.jpg","data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QBYRXhpZgAATU0AKgAAAAgAA1EQAAEAAAABAQAAAFERAAQAAAABAAABAgABAA"]}}},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}}},category_default={$schema:"http://json-schema.org/draft-07/schema",$id:"category.json",title:"Category",type:"object",required:["id","type","discriminator"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["category"],default:"category"},name:{type:"string",minLength:1},driver:{$ref:"definitions.json#/definitions/driver"},description:{type:"string"},image:{$ref:"mediaFile.json"},rating:{type:"number",minimum:0,maximum:10,default:9},discriminator:{type:"string",enum:["space","product","mediaFile"]},systemId:{$ref:"definitions.json#/definitions/systemId"}}},courtesy_default={$schema:"http://json-schema.org/draft-07/schema",$id:"courtesy.json",title:"Courtesy",description:"Any smart courtesy system",type:"object",required:["id","type","driver","supportedStates","state"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},supportedStates:{type:"array",uniqueItems:!0,items:{enum:["privacy","service","none"]}},state:{type:"string",$ref:"#/properties/supportedStates/items"},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}}},credential_default={$schema:"http://json-schema.org/draft-07/schema",$id:"credential.json",title:"Credential",type:"object",required:["type","credential","expires"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"credential"},driver:{$ref:"definitions.json#/definitions/driver"},discriminator:{type:"string",enum:["verificationCode","token","mobileKey","pin","publicKey","passkeyChallenge"]},credential:{type:"string"},userId:{type:"string"},organizationId:{type:"string"},propertyId:{type:"string"},deviceId:{type:"string"},userAgent:{type:"string"},expires:{type:["string","object","null"]},systemId:{$ref:"definitions.json#/definitions/systemId"}}},deviceRouter_default={$schema:"http://json-schema.org/draft-07/schema",$id:"deviceRouter.json",title:"Device Router",description:"A device router contains instructions on where to route devices based on their organization and driver.",type:"object",required:["driver","organizationId"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"deviceRouter",enum:["deviceRouter"]},driver:{type:"string"},organizationId:{type:["string","null"],description:"Reference (id) to the organization that owns this router"},devices:{type:"object",additionalProperties:!0}}},dimmer_default={$schema:"http://json-schema.org/draft-07/schema",$id:"dimmer.json",title:"Dimmer",description:"Any smart dimmer",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},level:{type:["number","null"],minimum:0,maximum:100},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},required:["id","type","level","driver"]},discoveredDevice_default={$schema:"http://json-schema.org/draft-07/schema",$id:"discoveredDevice.json",title:"Discovered Device",description:"A device that has been discovered by Kohost, but not yet added to the Kohost system.",type:"object",required:["name","deviceId","deviceData"],properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},deviceId:{type:"string"},type:{type:"string",enum:["discoveredDevice"],default:"discoveredDevice"},discriminator:{$ref:"definitions.json#/definitions/type"},driver:{type:"string"},deviceData:{type:"object"},ignore:{type:"boolean"},organizationId:{type:["string","null"],description:"Reference (id) to the organization that owns this device"},propertyId:{type:["string","null"],description:"Reference (id) to the property that this device belongs to"}}},emailMessage_default={$schema:"http://json-schema.org/draft-07/schema",$id:"emailMessage.json",title:"Email Message",type:"object",required:["to","from","status","subject"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"emailMessage",enum:["emailMessage"]},to:{type:"string",pattern:"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$"},from:{type:"string",pattern:".*<[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+>.*",description:"Must be in the format of 'Sender <email@example.com>"},subject:{type:"string"},status:{type:"string",enum:["queued","sending","sent","deferred","delivered","undelivered","bounced","blocked","receiving","received","opened","clicked","unsubscribed","spamReport"]},statusMessage:{type:"string"},html:{type:"string"},text:{type:"string"},driver:{type:"string"},appData:{type:"object"},createdAt:{$ref:"definitions.json#/definitions/date"},updatedAt:{$ref:"definitions.json#/definitions/date"},systemId:{$ref:"definitions.json#/definitions/systemId"}}},energyReport_default={$schema:"http://json-schema.org/draft-07/schema",$id:"energyReport.json",title:"Energy Report",description:"Hourly Report for Energy based on energy report shards",type:"object",required:["id","type","roomId","first","last","consumption","totals","costPerKw"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["energyReport"],default:"energyReport"},reportTime:{type:"string",enum:["hourly","daily","monthly"]},roomId:{$ref:"definitions.json#/definitions/id"},first:{type:["string","object"],format:"date-time"},last:{type:["string","object"],format:"date-time"},consumption:{type:"array",items:{type:"object",required:["id","type","kwh"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{$ref:"definitions.json#/definitions/type"},kwh:{type:"number",minimum:0}}}},totals:{type:"array",items:{type:"object",required:["lights","climate","media"],properties:{lights:{type:"number",minimum:0},climate:{type:"number",minimum:0},media:{type:"number",minimum:0}}}},costPerKw:{type:"number",minimum:0}}},energyReportShard_default={$schema:"http://json-schema.org/draft-07/schema",$id:"energyReportShard.json",title:"Energy Report Shard",description:"Shard used for Energy Reports",type:"object",required:["id","type","roomId","first","last","data","ndata","expires"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["energyReportShard"],default:"energyReportShard"},roomId:{$ref:"definitions.json#/definitions/id"},first:{type:["string","object"],format:"date-time"},last:{type:["string","object"],format:"date-time"},data:{type:"array",items:{type:"object",required:["time","watts","id","type","value"],properties:{time:{type:["string","object"],format:"date-time"},watts:{$ref:"definitions.json#/definitions/watts"},id:{$ref:"definitions.json#/definitions/id"},type:{$ref:"definitions.json#/definitions/type"},value:{type:"number",minimum:0,maximum:1}}}},ndata:{type:"integer",minimum:0,maximum:1e5,default:0},expires:{type:["string","object"],format:"date-time"}}},gateway_default={$schema:"http://json-schema.org/draft-07/schema",$id:"iotGateway.json",title:"Gateway",description:"Any smart gateway that is an entrypoint for controlling devices",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},offline:{type:"boolean"},type:{$ref:"definitions.json#/definitions/type"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},status:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"},driver:{$ref:"definitions.json#/definitions/driver"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},required:["id","type","status","driver"]},identification_default={$schema:"http://json-schema.org/draft-07/schema",$id:"identification.json",title:"Identification",type:"object",required:["type"],additionalProperties:!1,oneOf:[{required:["number"]},{required:["encryptedNumber"]}],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["driversLicense","passport","identityCard","visa"]},number:{type:"string"},maskedNumber:{type:"string"},encryptedNumber:{type:"string"},issued:{type:["string","object"],format:"date-time"},expires:{type:["string","object","null"],format:"date-time"},verified:{type:"boolean"},matched:{type:"boolean"},firstName:{type:"string"},lastName:{type:"string"},issuingCountry:{type:"string",minLength:2,maxLength:2},systemId:{$ref:"definitions.json#/definitions/systemId"}}},issue_default={$schema:"http://json-schema.org/draft-07/schema",$id:"issue.json",title:"Issue",description:"An issue associated with ticketing and concierge.",type:"object",required:["id","type","name","department"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["issue"],default:"issue"},name:{type:"string"},description:{type:"string"},department:{type:"string"},autoAssign:{type:"object",properties:{userId:{type:"string",description:"The user ID to assign tickets with this issue to."},vendorId:{type:"string",description:"The vendor ID to assign tickets with this issue to."},priority:{$ref:"ticket.json#/properties/priority",description:"The priority to assign tickets with this issue to."},tags:{type:"array",items:{type:"string"}}}},notify:{type:"array",description:"A list of entities to notify when this issue is triggered.",default:[],items:{type:"object",required:["id","discriminator"],properties:{id:{type:"string",description:"The ID of the entity to notify."},discriminator:{type:"string",enum:["user"]}}}},systemKey:{type:"string"},autoCreateTicket:{type:"boolean",default:!0},excludedResources:{type:"array",description:"A list of resources that should not trigger notifications of this issue",items:{type:"string"},default:[]}}},lock_default={$schema:"http://json-schema.org/draft-07/schema",$id:"lock.json",title:"Lock",description:"Any smart lock",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},offline:{type:"boolean"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},state:{type:["string","null"],enum:["locked","unlocked",null]},mode:{type:["string","null"],enum:["normal","autoLock","emergencyOpen","emergencyClose","holdOpen","lockdown",null],description:"emergencyOpen and emergencyClose are deprecated and can be removed once Salto, Paxton and Geovision drivers are updated",default:null},supportedModes:{type:"array",uniqueItems:!0,items:{enum:["normal","autoLock","emergencyOpen","emergencyClose","holdOpen","lockdown",null]}},batteryLevel:{$ref:"definitions.json#/definitions/batteryLevel"},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},required:["id","type","state","driver"]},log_default={$schema:"http://json-schema.org/draft-07/schema",$id:"log.json",title:"Log",type:"object",required:["type","timestamp","id","driver","name"],properties:{type:{type:"string",default:"log",enum:["log"]},timestamp:{type:"number",minimum:1655907956593},id:{$ref:"definitions.json#/definitions/id"},driver:{$ref:"definitions.json#/definitions/driver"},name:{type:"string",description:"Event name"},field1:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field2:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field3:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field4:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field5:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field6:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}}}},mediaFile_default={$schema:"http://json-schema.org/draft-07/schema",$id:"mediaFile.json",title:"Media File",description:"Any media file",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"mediaFile",enum:["mediaFile"]},name:{type:"string"},fileHash:{type:"string"},category:{type:"string",description:"This is the category id"},mimeType:{type:"string",enum:["image/*","image/jpeg","image/png","image/gif","image/webp","image/avif","image/svg+xml","application/pdf"]},data:{type:"string"},url:{type:"string",format:"uri"},width:{type:"integer",minimum:0},height:{type:"integer",minimum:0},size:{type:"integer",minimum:0,description:"Size in bytes"},uploadUrl:{type:"string",format:"uri"},uploadUrlExpires:{$ref:"definitions.json#/definitions/date"},createdBy:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"}},additionalProperties:!1,required:["type"]},mediaSource_default={$schema:"http://json-schema.org/draft-07/schema",$id:"mediaSource.json",title:"Media Source",description:"Any media source",type:"object",required:["id","type","discriminator","audio","video","driver"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"mediaSource",enum:["mediaSource"]},discriminator:{type:"string",enum:["tv","dvr","appleTv","discPlayer","mediaPlayer","paSystem","uncontrolledDevice"]},playlists:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{$ref:"definitions.json#/definitions/name"}}}},remote:{type:"string",enum:["MR22GA","XRT260","XRT270","HOF-16K 1.2","219863500","SONIFI","AKB76039803","BN59-01388A"]},name:{$ref:"definitions.json#/definitions/name"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},audio:{type:"boolean"},video:{type:"boolean"},powerFeedback:{type:"boolean"},volumeFeedback:{type:"boolean"},muted:{type:"boolean"},volume:{type:"number",minimum:0,maximum:100},brightness:{type:"number",minimum:0,maximum:100},contrast:{type:"number",minimum:0,maximum:100},power:{type:"string",enum:["on","off"]},input:{type:"string"},supportedInputs:{type:"array",items:{type:"string"}},supportedOutputs:{type:"array",items:{type:"string"}},command:{type:["string","null"],enum:["mute","volumeUp","volumeDown","brightnessUp","brightnessDown","channelUp","channelDown","number0","number1","number2","number3","number4","number5","number6","number7","number8","number9","lastChannel","display","favoriteChannel","play","playing","stop","stopped","pause","paused","fastForward","fastForwarding","rewind","rewinding","instantReplay","record","ac3","pvrMenu","guide","menu","menuUp","menuDown","menuLeft","menuRight","pageUp","pageDown","select","exit","input","power","enterChannel","enterVolume","enterBrightness","enterContrast","number10","number11","number12","number13","number14","number15","number16","number10Plus","number20Plus","number100","dash","threeChan","threeD","sixChan","a","add","alarm","am","analog","angle","antenna","antennaEast","antennaWest","aspect","audio1","audio2","audio3","audioDumming","audioLevelDown","audioLevelUp","b","back","c","component1","component2","component3","d","home","list","liveTv","discreteInputCable","powerOff","powerOn","setupMenu","skipForward","skipReverse","video1","video2","video3","video4","video5","details","hdmi1","hdmi2","hdmi3","cecDeviceList","mtsSap","red","green","yellow","blue","alert","order"]},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},additionalProperties:!1},motionSensor_default={$schema:"http://json-schema.org/draft-07/schema",$id:"motionSensor.json",title:"Motion Sensor",description:"Any smart motion sensor",type:"object",required:["id","type","driver"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},offline:{type:"boolean"},driver:{$ref:"definitions.json#/definitions/driver"},systemId:{$ref:"definitions.json#/definitions/systemId"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}}},order_default={$schema:"http://json-schema.org/draft-07/schema",$id:"order.json",title:"Order",description:"A purchase order for products or services.",type:"object",required:["type","status"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"order",enum:["order"]},orderNumber:{type:"string"},status:{type:"string",enum:["draft","pendingPayment","processing","outForDelivery","completed","paymentFailed","cancelled","refunded"]},userId:{$ref:"definitions.json#/definitions/id",description:"User id of purchaser"},reservationId:{$ref:"definitions.json#/definitions/id",description:"Reservation id if the order is for a reservation"},date:{$ref:"definitions.json#/definitions/date"},items:{type:"array",default:[],items:{type:"object",required:["name","price"],properties:{additionalProperties:!1,name:{type:"string"},sku:{type:"string"},quantity:{type:"number",default:1},price:{type:"number"},taxClass:{type:"string"},deliveryClass:{type:"string"},productId:{type:"string"}}}},taxes:{type:"array",default:[],items:{type:"object",required:["name","rate"],properties:{additionalProperties:!1,name:{type:"string"},class:{type:"string"},rateType:{type:"string",enum:["percentage","flat"],default:"percentage"},rate:{type:"number"},total:{type:"number"}}}},fees:{type:"array",default:[],items:{type:"object",required:["name","price"],properties:{additionalProperties:!1,name:{type:"string"},price:{type:"number"}}}},delivery:{type:"array",default:[],items:{type:"object",required:["name","rate"],properties:{additionalProperties:!1,name:{type:"string"},class:{type:"string"},rateType:{type:"string",enum:["percentage","flat"],default:"percentage"},rate:{type:"number"},total:{type:"number"}}}},payments:{type:"array",default:[],items:{type:"object",properties:{method:{type:"string",enum:["folio","invoice","amex","visa","masterCard","maestro","discover","diners","jcb","applePay","alipay","chinaUnionPay","vpay"]},name:{type:"string"},date:{$ref:"definitions.json#/definitions/date"},amount:{type:"number"},transactionReference:{type:"string"}}}}}},organization_default={$schema:"http://json-schema.org/draft-07/schema",$id:"organization.json",title:"Organization",type:"object",description:"An organization is a group or entity that subscribes to Kohost software.",required:["accountNumber","name"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"organization",enum:["organization"]},accountNumber:{type:["number","null"],minimum:1e4},name:{type:"string"},properties:{type:"array",items:{type:"string"}},hostname:{type:["string","null"]},appManifest:{type:"object",properties:{name:{type:"string"},short_name:{type:"string"},scope:{type:"string"},start_url:{type:"string"},themeColor:{type:"string"},backgroundColor:{type:"string"},display:{type:"string",enum:["fullscreen","standalone","minimal-ui","browser"],default:"fullscreen"},orientation:{type:"string",enum:["portrait","landscape"],default:"portrait"},splash:{type:"object",properties:{src:{type:"string"},type:{type:"string"},sizes:{type:"string"}}},icons:{type:"array",items:{type:"object",properties:{src:{type:"string"},sizes:{type:"string"},type:{type:"string"}}}},logo:{type:"object",properties:{src:{type:"string"},type:{type:"string"},sizes:{type:"string"}}}},default:{name:"Kohost",short_name:"Kohost",start_url:"/",scope:"/",display:"fullscreen",orientation:"portrait",theme_color:"#1d1f22",background_color:"#1d1f22",icons:[{src:"https://images.kohost.io/cdn-cgi/imagedelivery/vcVX2aBwdFSYr66spcFKaA/9c85047f-ccba-4b1c-3070-5463fbe93b00/w=512",sizes:"512x512",type:"image/png"}],splash:{src:"https://images.kohost.io/cdn-cgi/imagedelivery/vcVX2aBwdFSYr66spcFKaA/034fb112-5326-4d37-373e-d1cc2a4d0400/w=1500",sizes:"1500x800",type:"image/jpg"},logo:{src:"https://images.kohost.io/cdn-cgi/imagedelivery/vcVX2aBwdFSYr66spcFKaA/1e54c54d-3bac-4745-f46f-c2f98036af00/h=75",sizes:"300x75",type:"image/png"}}},tickets:{type:"object",properties:{nextTicketNumber:{type:["string","integer"],default:1}}},credentials:{type:"object",additionalProperties:!0},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"}}},payment_default={$schema:"http://json-schema.org/draft-07/schema",$id:"payment.json",title:"Payment",type:"object",required:["type","maskedNumber","expires"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["amex","visa","masterCard","maestro","discover","diners","jcb","applePay","alipay","chinaUnionPay","vpay"]},enabled:{type:"boolean",default:!0},storageData:{type:["string","null"]},maskedNumber:{type:"string"},issued:{type:["string","null"]},expires:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"}}},policy_default={$schema:"http://json-schema.org/draft-07/schema",$id:"policy.json",title:"Policy",description:"A policy is a set of permissions that can be applied to a user to limit their access to resources.",type:"object",required:["name","type","organizationId","propertyId","permissions","discriminator"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"policy",enum:["policy"]},discriminator:{type:"string",enum:["user"]},name:{type:"string",minLength:1},description:{type:"string"},organizationId:{type:"string"},propertyId:{type:"string"},permissions:{type:"array",items:{type:"object",required:["entities","effect"],properties:{entities:{type:"array",items:{type:"string",pattern:"^[^:]+(:.+)+$"}},effect:{type:"string",enum:["Allow","Deny"]}}}}}},product_default={$schema:"http://json-schema.org/draft-07/schema",$id:"product.json",title:"Product",type:"object",required:["name","price","driver"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"product",enum:["product"]},name:{type:"string"},driver:{$ref:"definitions.json#/definitions/driver"},description:{type:"string"},price:{type:"number"},tax:{type:["number","null"]},image:{$ref:"mediaFile.json"},category:{type:"string"},imageUrl:{type:"string",format:"uri",pattern:"^https?://"},systemId:{$ref:"definitions.json#/definitions/systemId"}}},property_default={$schema:"http://json-schema.org/draft-07/schema",$id:"property.json",title:"Property",type:"object",description:"A property is a physical asset or building",required:["id","name","type","organization","timezone","discriminator"],properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{type:"string",default:"property",enum:["property"]},discriminator:{type:"string",enum:["hospitality","education","commercial","storage"]},organization:{type:["string","null"],description:"Reference (id) to the organization that owns this property"},departments:{type:"array",items:{type:"string"}},testModeEnabled:{type:"boolean"},testMode:{type:"object",properties:{notificationEmails:{type:"array",items:{type:"string"},description:"Only users with these email addresses will receive notifications in test mode, including sms, email, or push."},notificationEmailDomains:{type:"array",items:{type:"string"},description:"Only users with email addreses ending in these domains will receive notifications in test mode, including sms, email, or push."}}},timezone:{type:"string",description:"IANA timezone string",pattern:"^([a-zA-Z]+/[a-zA-Z_]+)$",examples:["America/New_York","America/Los_Angeles"]},smsNumber:{type:"string"},checkInTime:{type:"string"},checkOutTime:{type:"string"},address:{$ref:"definitions.json#/definitions/address"},latitude:{type:"number"},longitude:{type:"number"},appFeatures:{type:"object",properties:{RoomControl:{type:"object",properties:{disabledSystems:{type:"array",items:{type:"string",enum:["climate","lights","shades","tv","doors"]}},excludedDeviceIds:{type:"array",items:{type:"string"},default:[]},commonAreas:{type:"object",properties:{spaces:{type:"array",items:{type:"string"}}}},alarmConfig:{type:"object",patternProperties:{"^[a-zA-Z0-9]+$":{type:"object",properties:{zoneLockMap:{type:"object",description:"Maps zone numbers to lock ids",additionalProperties:{type:"string"}}}}},examples:[{wZz7hucY:{zoneLockMap:{1:"wc87hucc",2:"bc86hzxc",3:"zv5ah5jv"}}}]}},additionalProperties:!1},CheckIn:{type:"object",properties:{payment:{},identification:{},earlyCheckIn:{type:"object",required:["dynamic"],properties:{dynamic:{type:"boolean",default:!1},minimumPrice:{type:"number",default:10},maximumPrice:{type:"number",default:50},priceRatioPerHour:{type:"number",default:.1},minimumTime:{type:"string"}}},roomUpgrades:{},pet:{},promos:{}}},CheckOut:{type:"object",properties:{lateCheckOut:{type:"object",required:["dynamic"],properties:{dynamic:{type:"boolean",default:!1},minimumPrice:{type:"number",default:10},maximumPrice:{type:"number",default:50},priceRatioPerHour:{type:"number",default:.1}}}}},Concierge:{type:"object",properties:{timeTracking:{type:"boolean",default:!1},tipping:{type:"boolean",default:!1},feedback:{type:"boolean",default:!0},ratings:{type:"boolean",default:!0},newTicketCCs:{type:"array",items:{type:"string"},default:[]},newMessageChannel:{type:["string","null"],enum:["sms","email"],default:"sms",description:"Determines how users should be notified of new messages in the concierge system"},quickServices:{type:"array",items:{type:"object",properties:{name:{type:"string"},description:{type:"string"},department:{type:"string"},image:{$ref:"mediaFile.json"}},required:["name","description","image"]}},issues:{type:"object",properties:{syncWithPropertyId:{type:"string"}}}}},DigitalKey:{type:"object",properties:{system:{type:"string",enum:["salto","dormakaba"]},systemOnline:{type:"boolean",default:!1},systemConfig:{type:"object",properties:{legicUrl:{type:"string",format:"uri"},legicWalletName:{type:"string"},legicAppId:{type:"number"},legicTechUsername:{type:"string"},legicTechPassword:{type:"string"}},additionalProperties:!1,default:{}},enableApp:{type:"boolean"},branding:{type:"object",properties:{logo:{type:"string",format:"uri"},gradient:{type:"array",items:{type:"string",pattern:"^(?!#ffffff)(#[0-9a-fA-F]{6})$"},minItems:2,maxItems:2},highlightedGradient:{type:"array",items:{type:"string",pattern:"^(?!#ffffff)(#[0-9a-fA-F]{6})$"},minItems:2,maxItems:3}}}}},SOS:{type:"object",properties:{active:{type:"boolean"},activeEmergencies:{type:"array",items:{type:"string",enum:["medical","fire","suspiciousPerson","other","conflict","shooter"]}}}},Elevator:{type:"object"},Experiences:{type:"object"},Dining:{type:"object",properties:{system:{type:"string",enum:["gotab"]},systemConfig:{type:"object",properties:{landingUrl:{type:"string",format:"uri"},includeUserDetails:{type:"boolean"}},additionalProperties:!1}}},Rentals:{type:"object"},Shop:{type:"object"},Spa:{type:"object"},Valet:{type:"object"}},additionalProperties:!1,default:{RoomControl:{}}},notifications:{type:"object",properties:{email:{type:"object",properties:{enabled:{type:"boolean"}},additionalProperties:!1},sms:{type:"object",properties:{enabled:{type:"boolean"}},additionalProperties:!1},push:{type:"object",properties:{enabled:{type:"boolean"}},additionalProperties:!1}},additionalProperties:!1,default:{email:{enabled:!1},sms:{enabled:!1},push:{enabled:!1}}},credentials:{type:"object",additionalProperties:!0}}},reservation_default={$schema:"http://json-schema.org/draft-07/schema",$id:"reservation.json",title:"Reservation",type:"object",required:["type","status","checkInDateTime","checkOutDateTime"],properties:{id:{$ref:"definitions.json#/definitions/id"},driver:{$ref:"definitions.json#/definitions/driver"},primaryGuest:{type:"string"},type:{type:"string",default:"reservation",enum:["reservation"]},sharedGuests:{type:"array",items:{type:"string"}},spaceCategory:{type:"string"},space:{type:["string","null"]},previousSpace:{type:["string","null"],default:null,description:"Used when there was a space assigned and it changes"},status:{type:"string",enum:["reserved","checkedIn","checkedOut","cancelled","noShow","enquired","requested","optional"],description:" reserved - confirmed by both parties, before check-in\n checkedIn - checked in\n checkedOut - checked out\n cancelled - Cancelled\n noShow - No show\n enquired - Confirmed neither by the customer nor enterprise\n requested - Confirmed by the customer but not the enterprise (waitlist)\n optional - Confirmed by the enterprise but not the customer (holding)"},mobileCheckInSpaceCategoryChanged:{type:"boolean",description:"spaceCategory has changed from original."},mobileCheckInSpaceChanged:{type:"boolean"},mobileCheckInStatus:{type:"string",enum:["ready","blocked","preArrivalStepsRequired","spaceNotAssigned","spaceNotReady","checkInTimeNotStarted"]},mobileCheckInStatusMessage:{type:"string"},confirmationNumber:{type:"string"},expectedCheckInDateTime:{type:["string","object"],format:"date-time",description:"Expected arrival time of guest."},checkInDateTime:{type:["string","object"],format:"date-time"},checkOutDateTime:{type:["string","object"],format:"date-time"},adultCount:{type:"number",default:1,minimum:1},childCount:{type:"number",default:0},spaceCategoryAvailabilites:{type:"array",items:{type:"object",properties:{id:{type:"string"},price:{type:"number"},unit:{type:"string",enum:["night","stay","hour"]},isUpgrade:{type:"boolean"}}}},revenue:{$ref:"definitions.json#/definitions/revenue"},rateSuppressed:{type:"boolean"},payment:{type:"string"},company:{type:"string"},travelAgent:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"},metadata:{$ref:"definitions.json#/definitions/metadata"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"}}},room_default={$schema:"http://json-schema.org/draft-07/schema",$id:"room.json",title:"Room",description:"A room represents a physical space of controllable IoT devices",type:"object",required:["id","name"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["room"],default:"room"},name:{type:"string"},floor:{type:"string"},dimmers:{type:"array",default:[],items:{$ref:"dimmer.json"}},switches:{type:"array",default:[],items:{$ref:"switch.json"}},thermostats:{type:"array",default:[],items:{$ref:"thermostat.json"}},locks:{type:"array",default:[],items:{$ref:"lock.json"}},windowCoverings:{type:"array",default:[],items:{$ref:"windowCovering.json"}},courtesy:{type:"array",default:[],items:{$ref:"courtesy.json"}},cameras:{type:"array",default:[],items:{$ref:"camera.json"}},mediaSources:{type:"array",default:[],items:{$ref:"mediaSource.json"}},motionSensors:{type:"array",default:[],items:{$ref:"motionSensor.json"}},alarms:{type:"array",default:[],items:{$ref:"alarm.json"}},occupiedAt:{$ref:"definitions.json#/definitions/createdAt"},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"}},additionalProperties:!1},scene_default={$schema:"http://json-schema.org/draft-07/schema",$id:"scene.json",title:"Scene",description:"A room represents a physical space of controllable IoT devices",type:"object",required:["id","name","type"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},description:{type:"string"},type:{type:"string",enum:["scene"],default:"scene"},devices:{type:"object",properties:{switches:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},state:{$ref:"switch.json#/properties/state"}},default:[]}},dimmers:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},level:{$ref:"dimmer.json#/properties/level"}}},default:[]},windowCoverings:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},position:{$ref:"windowCovering.json#/properties/position"}}},default:[]},thermostats:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},hvacMode:{$ref:"thermostat.json#/properties/hvacMode"},setpoints:{$ref:"thermostat.json#/properties/setpoints"},fanMode:{$ref:"thermostat.json#/properties/fanMode"},setpointDelta:{type:"number"}}},default:[]},mediaSources:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},volume:{type:"number",minimum:0,maximum:100},commands:{type:"array",items:{type:"string"}}}}},locks:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},state:{$ref:"lock.json#/properties/state"},mode:{$ref:"lock.json#/properties/mode"}}}}},additionalProperties:!1},isDefault:{type:"boolean",default:!1},showOnUi:{type:"boolean",default:!0}}},shortLink_default={$schema:"http://json-schema.org/draft-07/schema",$id:"shortLink.json",title:"Short Link",type:"object",required:["destination","url"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"shortLink",enum:["shortLink"]},title:{type:"string"},destination:{type:"string",format:"uri"},url:{type:"string",format:"uri"},systemId:{$ref:"definitions.json#/definitions/systemId"}}},smsMessage_default={$schema:"http://json-schema.org/draft-07/schema",$id:"smsMessage.json",title:"Sms Message",type:"object",required:["to","from","status"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"smsMessage",enum:["smsMessage","whatsappMessage"]},to:{type:"string"},from:{type:"string"},media:{type:"string",format:"uri"},status:{type:"string",enum:["queued","accepted","sending","sent","failed","delivered","undelivered","receiving","received","read"]},body:{type:"string"},driver:{type:"string"},appData:{type:"object"},createdAt:{$ref:"definitions.json#/definitions/date"},updatedAt:{$ref:"definitions.json#/definitions/date"},systemId:{$ref:"definitions.json#/definitions/systemId"}}},space_default={$schema:"http://json-schema.org/draft-07/schema",$id:"space.json",title:"Space",type:"object",required:["id","name","type"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string",minLength:1},type:{type:"string",default:"space",enum:["space"]},discriminator:{type:"string",enum:["classRoom","hotelRoom","office","building","commonArea","conferenceRoom","lobby","gym","pool","restaurant","unit"]},floor:{type:"string"},driver:{$ref:"definitions.json#/definitions/driver"},category:{type:"string",description:"This is the category id"},rooms:{type:"array",items:{type:"string"}},occupied:{type:"boolean"},inUse:{type:"boolean"},eco:{type:"object",additionalProperties:!1,default:{active:!1,allowed:!1,previousState:null},properties:{active:{type:"boolean",default:!1},activatedAt:{type:["string","object"],format:"date-time"},allowed:{type:"boolean",default:!1},previousState:{type:["object","null"],properties:{thermostats:{type:"object",patternProperties:{".*":{type:"object",properties:{setpoints:{$ref:"thermostat.json#/properties/setpoints"}}}}}},additionalProperties:!1}}},features:{type:"array",items:{type:"string",enum:["pet"]}},maximumOccupancy:{type:"number",minimum:1},housekeepingStatus:{type:"string",enum:["clean","dirty","inspected","pickup"]},serviceStatus:{type:"string",enum:["inService","outOfOrder","outOfService"]},systemId:{$ref:"definitions.json#/definitions/systemId"}}},switch_default={$schema:"http://json-schema.org/draft-07/schema",$id:"switch.json",title:"Switch",description:"Any smart switch",type:"object",required:["id","type","state","driver"],properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},discriminator:{type:"string",enum:["light","fan","irrigation"]},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},state:{type:"string",enum:["on","off"]},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"},restoresAt:{type:"string",format:"date-time"}}},systemUser_default={$schema:"http://json-schema.org/draft-07/schema",$id:"systemUser.json",title:"System User",description:"A system user is a user that originated from an external 3rd party system.",type:"object",required:["id","firstName","lastName"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"systemUser",enum:["systemUser"]},driver:{$ref:"definitions.json#/definitions/driver"},firstName:{type:"string"},lastName:{type:"string"},phone:{type:["string","null"],pattern:"^\\+[0-9]{1,14}$"},email:{type:["string","null"],format:"email"},address:{$ref:"definitions.json#/definitions/address"},photo:{type:"string"},jobTitle:{type:"string"},dob:{type:"string"},gender:{type:"string",enum:["male","female"]},roles:{type:"array",items:{type:"string",enum:["Guest","User","Manager","Maintenance","Administrator","SuperAdmin"]}},nationality:{type:"string",minLength:2,maxLength:2},notes:{type:"array",items:{type:"string"}},files:{type:"array",items:{$ref:"mediaFile.json#"}},identifications:{type:"array",items:{$ref:"identification.json#"}},payments:{type:"array",items:{$ref:"payment.json#"}},revenue:{$ref:"definitions.json#/definitions/revenue"},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"},systemId:{$ref:"definitions.json#/definitions/systemId"}}},thermostat_default={$schema:"http://json-schema.org/draft-07/schema",$id:"thermostat.json",title:"Thermostat",description:"Any smart thermostat",type:"object",required:["id","type","hvacMode","fanMode","hvacState","fanState","setpoints","temperatureScale","supportedHvacModes","supportedFanModes","driver"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{$ref:"definitions.json#/definitions/name"},type:{$ref:"definitions.json#/definitions/type",default:"thermostat"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},currentTemperature:{type:"number"},currentHumidity:{type:"number",minimum:0},hvacMode:{type:"string",$ref:"#/properties/supportedHvacModes/items"},hvacState:{type:["string","null"],enum:["cooling","heating","off",null]},fanMode:{type:"string",$ref:"#/properties/supportedFanModes/items"},fanState:{type:["string","null"],enum:["off","low","medium","high","on",null]},temperatureScale:{type:"string",enum:["celsius","fahrenheit"],default:"fahrenheit"},humidityScale:{type:["string","null"],enum:["absolute","relative",null]},supportedHvacModes:{type:"array",uniqueItems:!0,minItems:2,items:{enum:["cool","heat","auto","off"]}},supportedFanModes:{type:"array",uniqueItems:!0,items:{enum:["auto","low","medium","high","off","on"]}},setpoints:{type:"object",additionalProperties:!1,properties:{cool:{$ref:"#/$defs/setpoint"},heat:{$ref:"#/$defs/setpoint"},auto:{$ref:"#/$defs/setpoint"}}},minAutoDelta:{type:"number",default:3},cycleRate:{type:"number"},batteryLevel:{$ref:"definitions.json#/definitions/batteryLevel"},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},$defs:{setpoint:{type:"object",additionalProperties:!1,properties:{value:{$ref:"#/$defs/setpointValue"},min:{$ref:"#/$defs/setpointMinMax"},max:{$ref:"#/$defs/setpointMinMax"}}},setpointValue:{type:"number",minimum:0,maximum:99},setpointMinMax:{type:["number","null"],minimum:0,maximum:99}}},ticket_default={$schema:"http://json-schema.org/draft-07/schema",$id:"ticket.json",title:"Ticket",description:"A ticket is a request from a user.",type:"object",required:["id","conversation","requester","status","tags","createdAt","updatedAt"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["ticket"],default:"ticket"},number:{type:"string"},issueId:{type:"string"},conversation:{type:"array",default:[],items:{type:"object",additionalProperties:!1,required:["id","discriminator","timestamp","body"],properties:{id:{type:"string"},discriminator:{type:"string",enum:["message","opened","assigned","rated","tipped","scheduled","collaboratorAdded","collaboratorRemoved","statusChanged","priorityChanged","scheduleDateChanged","locationChanged"],default:"message"},userId:{type:"string"},userName:{type:"string"},vendorId:{type:"string"},vendorName:{type:"string"},systemId:{type:"string"},systemName:{type:"string"},timestamp:{$ref:"definitions.json#/definitions/createdAt"},body:{type:"string"},parsedBody:{type:"object",additionalProperties:!1,properties:{text:{type:"string"},mentions:{type:"array",default:[],items:{type:"object",additionalProperties:!1,required:["discriminator","id","index","length","originalText"],properties:{id:{type:"string"},discriminator:{type:"string",enum:["user","vendor","system"]},index:{type:"integer"},length:{type:"integer"},originalText:{type:"string"}}}}}},readBy:{type:"array",default:[],items:{type:"string"}},media:{anyOf:[{$ref:"mediaFile.json"},{type:"null"}]}}}},subject:{type:"string"},openedBy:{type:"object",properties:{userId:{type:"string"},userName:{type:"string"},systemId:{type:"string"},systemName:{type:"string"}}},requester:{type:"object",properties:{systemId:{type:"string"},systemName:{type:"string"},systemPhoto:{anyOf:[{$ref:"mediaFile.json"},{type:"null"},{type:"string"}]},userId:{type:"string"},userName:{type:"string"},userPhoto:{anyOf:[{$ref:"mediaFile.json"},{type:"null"},{type:"string"}]},deviceId:{type:"string"},roomId:{type:"string"},reservationId:{type:"string"},spaceId:{type:"string"},spaceName:{type:"string"}}},assignedTo:{type:"object",properties:{userId:{type:"string"},userName:{type:"string"},userPhoto:{anyOf:[{$ref:"mediaFile.json"},{type:"null"},{type:"string"}]},vendorId:{type:"string"},vendorName:{type:"string"},vendorPhoto:{anyOf:[{$ref:"mediaFile.json"},{type:"null"},{type:"string"}]}}},notify:{type:"array",description:"A list of entities to notify when this ticket is created or resolved.",default:[],items:{type:"object",required:["id","discriminator"],additionalProperties:!1,properties:{id:{type:"string",description:"The ID of the entity to notify."},discriminator:{type:"string",enum:["user"]}}}},collaborators:{type:"array",default:[],items:{type:"object",required:["id","name","discriminator"],additionalProperties:!1,properties:{id:{type:"string"},name:{type:"string"},discriminator:{type:"string",enum:["user","vendor"]}}}},location:{type:"object",required:["discriminator","name"],additionalProperties:!1,properties:{id:{type:"string"},discriminator:{type:"string",enum:["space","room","property","customText"]},name:{type:"string"}}},status:{type:"string",enum:["open","pending","solved","closed"],default:"open"},priority:{type:"string",enum:["low","normal","high"],default:"normal"},tags:{type:"array",default:[],items:{type:"string"}},department:{type:"string"},rating:{type:"number",minimum:0,maximum:5},ratingComment:{type:"string"},tipAmount:{type:"string"},autoCloseAt:{$ref:"definitions.json#/definitions/date"},scheduleDate:{$ref:"definitions.json#/definitions/date"},createdAt:{$ref:"definitions.json#/definitions/date"},updatedAt:{$ref:"definitions.json#/definitions/date"},solvedAt:{$ref:"definitions.json#/definitions/date"},closedAt:{$ref:"definitions.json#/definitions/date"}}},timeSheet_default={$schema:"http://json-schema.org/draft-07/schema",$id:"timeSheet.json",title:"Time Sheet",type:"object",required:["userId","day"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"timeSheet",enum:["timeSheet"]},userId:{$ref:"definitions.json#/definitions/id"},day:{type:["string","object"],format:"date-time"},locked:{type:"boolean",default:!1,description:"If true, the time sheet is locked and cannot be modified"},timeEntries:{type:"array",default:[],items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},discriminator:{type:"string",enum:["working","driving","meeting","break"]},start:{type:["string","object"],format:"date-time"},end:{type:["string","object"],format:"date-time"},comment:{type:"string"},ticketId:{type:"string"}},required:["start","discriminator"],additionalProperties:!1}}}},user_default={$schema:"http://json-schema.org/draft-07/schema",$id:"user.json",title:"User",type:"object",required:["id","firstName","lastName"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"user"},firstName:{type:"string"},lastName:{type:"string"},phone:{type:["string","null"],pattern:"^\\+[0-9]{1,14}$"},phoneVerified:{type:"boolean"},email:{type:["string","null"],format:"email"},emailVerified:{type:"boolean"},whatsapp:{type:["string","null"],pattern:"^\\+[0-9]{1,14}$"},whatsappVerified:{type:"boolean"},address:{$ref:"definitions.json#/definitions/address"},secretKey:{type:"string"},photo:{$ref:"mediaFile.json#"},jobTitle:{type:"string"},dob:{type:"string"},gender:{type:"string",enum:["male","female"]},nationality:{type:"string",minLength:2,maxLength:2},permissions:{type:"array",default:[],items:{type:"object",required:["organizationId","propertyId","role"],properties:{organizationId:{type:"string",description:"The ID of the organization the permission is applies to."},propertyId:{type:"string",description:"The ID of the property the permission is applies to."},role:{type:"string",enum:["Guest","User","Agent","Manager","Maintenance","Administrator","SuperAdmin"]},timeTrackingEnabled:{type:"boolean",description:"Whether time tracking is enabled for this role."},department:{type:"string",description:"The department the user belongs to."},policyIds:{type:"array",items:{type:"string",description:"ID of a policy that is applied to this role."}},policies:{type:"array",items:{description:"A policy object populated from the policyIds array.",$ref:"policy.json"}}},additionalProperties:!1}},preferences:{type:"array",items:{type:"object",additionalProperties:!1,required:["organizationId","propertyId"],properties:{organizationId:{type:"string"},propertyId:{type:"string"},notifications:{type:"array",items:{type:"object",additionalProperties:!1,required:["discriminator","enabled"],properties:{discriminator:{type:"string",enum:["observerTicketCreated","observerTicketResolved"]},enabled:{type:"boolean"}}}}}}},notes:{type:"array",items:{type:"string"}},files:{type:"array",items:{$ref:"mediaFile.json#"}},identifications:{type:"array",items:{$ref:"identification.json#"}},payments:{type:"array",items:{$ref:"payment.json#"}},location:{type:"object",required:["accuracy","latitude","longitude","timestamp"],additionalProperties:!1,properties:{accuracy:{type:["number","null"]},latitude:{type:["number","null"]},longitude:{type:["number","null"]},timestamp:{type:["number","null"]}}},reservations:{type:"array",items:{$ref:"reservation.json"}},spaceName:{type:"string"},revenue:{$ref:"definitions.json#/definitions/revenue"},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"},systems:{type:"array",default:[],items:{type:"object",properties:{systemId:{type:"string"},propertyId:{type:"string"},driver:{type:"string"}},required:["systemId","propertyId","driver"],additionalProperties:!1}}}},vendor_default={$schema:"http://json-schema.org/draft-07/schema",$id:"vendor.json",title:"Vendor",type:"object",required:["id","name","email"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"vendor",enum:["vendor"]},name:{type:"string"},phone:{type:["string","null"],pattern:"^\\+[0-9]{1,14}$"},email:{type:["string","null"],format:"email"},address:{$ref:"definitions.json#/definitions/address"},photo:{$ref:"mediaFile.json#"},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"}}},windowCovering_default={$schema:"http://json-schema.org/draft-07/schema",$id:"windowCovering.json",title:"Window Covering",description:"Any smart window covering",required:["id","type","position","driver"],additionalProperties:!1,type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type",default:"windowCovering"},discriminator:{type:"string",enum:["basic","variable"],default:"variable"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},position:{type:["number","null"],minimum:0,maximum:100},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}}},schemas=[alarm_default,announcement_default,automation_default,camera_default,category_default,courtesy_default,credential_default,{$schema:"http://json-schema.org/draft-07/schema",$id:"definitions.json",title:"Definitions",definitions:{id:{type:"string",description:"Identifier of the object.",not:{enum:["global","system"]}},systemId:{type:"string",description:"Identifier of the object, directly related to the system."},systemData:{type:"object"},metadata:{type:"object",default:{}},date:{type:["string","object"],format:"date-time"},createdAt:{type:["string","object"],format:"date-time"},updatedAt:{type:["string","object"],format:"date-time"},file:{type:"object",required:["name","type","data"],properties:{name:{type:"string",description:"Name of the file."},type:{type:"string",description:"MIME type of the file (e.g. application/pdf)."},data:{type:"string",description:"Base64-encoded data of the file."}}},address:{type:"object",properties:{id:{type:"string"},line1:{type:"string"},line2:{type:"string"},line3:{type:"string"},city:{type:"string"},state:{type:"string"},postalCode:{type:"string"},countryCode:{type:"string",minLength:2,maxLength:2}}},driver:{type:"string",description:"Driver used to communicate with the object.",enum:["adlink","aws-kinesis","bacnet","butler","comelit","crestron","dell","digital-watchdog","distech","dmp","doorbird","dormakaba","dsc","ecobee","epson","geovision-rs","geovision-as-manager","honeywell-vista","igor","inncom","isapi","kohost-k7","kohost","lg","lg-webos","lapi","lirc","mews","mht","paxton","pelican-wireless","power-shades","rachio","rebrandly","relay","rtsp","salto","salto-irn","samsung","se","sendgrid","sonifi","stay-n-touch","storable","twilio","unifi","valcom","vivotek","vizio","wisenet","cloudflare-images","cloudflare-stream","insperia-privacy"]},type:{type:"string",enum:["alarm","dimmer","switch","motionSensor","windowCovering","camera","mediaSource","thermostat","lock","courtesy","gateway","tv","dvr","appleTv","discPlayer","mediaPlayer","uncontrolledDevice"]},name:{type:"string"},supportedNotifications:{type:"array",uniqueItems:!0,items:{enum:["button 1","button 2","button 3","button 4","button 5","idle","powerHasBeedApplied","acMainsDisconnected","acMainsReconnected","replaceBatterySoon","replaceBatteryNow","batteryOk","hardwareFailure","softwareFailure","hardwareFailureWithCode","softwareFailureWithCode","motionDetection","airFilterNeedsCleaned","airFilterNeedsReplaced","smokeDetected","outsideSafeTemperatureRange","outsideSafeHumidityRange","scheduleMaintenance","doorAjar","communicationFailure","communicationOk","burglarAlarm","fireAlarm"]}},notification:{type:["object","null"],properties:{name:{type:"string",$ref:"#/definitions/supportedNotifications/items"},timestamp:{type:"number",minimum:1655907956593},description:{type:"string"}}},batteryLevel:{type:"number",minimum:0,maximum:100},watts:{type:"number",minimum:0},revenue:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},date:{type:"string",format:"date-time"},price:{type:"number"},tax:{type:["number","null"]}}}}}},deviceRouter_default,dimmer_default,discoveredDevice_default,emailMessage_default,energyReport_default,energyReportShard_default,gateway_default,identification_default,issue_default,lock_default,log_default,mediaFile_default,mediaSource_default,motionSensor_default,order_default,organization_default,payment_default,policy_default,product_default,property_default,reservation_default,room_default,scene_default,shortLink_default,smsMessage_default,space_default,switch_default,systemUser_default,thermostat_default,ticket_default,timeSheet_default,user_default,vendor_default,windowCovering_default],ajv=new import_ajv.Ajv({allErrors:!0,useDefaults:!0,strict:!1,allowMatchingProperties:!0,allowUnionTypes:!0,strictRequired:!1,schemas:schemas});(0,import_ajv_formats.default)(ajv);var validateAlarm=ajv.compile(alarm_default),validateAnnouncement=ajv.compile(announcement_default),validateAutomation=ajv.compile(automation_default),validateCamera=ajv.compile(camera_default),validateCategory=ajv.compile(category_default),validateCourtesy=ajv.compile(courtesy_default),validateCredential=ajv.compile(credential_default),validateDeviceRouter=ajv.compile(deviceRouter_default),validateDimmer=ajv.compile(dimmer_default),validateDiscoveredDevice=ajv.compile(discoveredDevice_default),validateEmailMessage=ajv.compile(emailMessage_default),validateEnergyReport=ajv.compile(energyReport_default),validateEnergyReportShard=ajv.compile(energyReportShard_default),validateGateway=ajv.compile(gateway_default),validateIdentification=ajv.compile(identification_default),validateIssue=ajv.compile(issue_default),validateLock=ajv.compile(lock_default),validateLog=ajv.compile(log_default),validateMediaFile=ajv.compile(mediaFile_default),validateMediaSource=ajv.compile(mediaSource_default),validateMotionSensor=ajv.compile(motionSensor_default),validateOrder=ajv.compile(order_default),validateOrganization=ajv.compile(organization_default),validatePayment=ajv.compile(payment_default),validatePolicy=ajv.compile(policy_default),validateProduct=ajv.compile(product_default),validateProperty=ajv.compile(property_default),validateReservation=ajv.compile(reservation_default),validateRoom=ajv.compile(room_default),validateScene=ajv.compile(scene_default),validateShortLink=ajv.compile(shortLink_default),validateSmsMessage=ajv.compile(smsMessage_default),validateSpace=ajv.compile(space_default),validateSwitch=ajv.compile(switch_default),validateSystemUser=ajv.compile(systemUser_default),validateThermostat=ajv.compile(thermostat_default),validateTicket=ajv.compile(ticket_default),validateTimeSheet=ajv.compile(timeSheet_default),validateUser=ajv.compile(user_default),validateVendor=ajv.compile(vendor_default),validateWindowCovering=ajv.compile(windowCovering_default),Alarm=class extends Entity{static{__name(this,"Alarm")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),void 0!==data.offline&&(this.offline=data.offline),this.type=data.type,void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),this.driver=data.driver,this.areas=data.areas,this.zones=data.zones,void 0!==data.chime&&(this.chime=data.chime),void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion),void 0!==data.address&&(this.address=data.address)}};Object.defineProperty(Alarm.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"alarm.json",title:"Alarm",description:"Any smart alarm system",type:"object",required:["id","type","areas","zones","driver"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string",description:"Name of the alarm"},offline:{type:"boolean"},type:{type:"string",enum:["alarm"],default:"alarm"},systemId:{$ref:"definitions.json#/definitions/systemId"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},areas:{type:"array",items:{type:"object",properties:{number:{type:"number"},name:{type:"string"},securityMode:{type:["string","null"],enum:["arming","disarming","armed","disarmed","alarm",null]}},additionalProperties:!1}},zones:{type:"array",items:{type:"object",properties:{number:{type:"number",minimum:0},name:{type:"string"},secure:{type:["boolean","null"]},bypassed:{type:["boolean","null"]}},additionalProperties:!1}},chime:{type:"boolean",description:"Reflects whether console chime is enabled"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"},address:{$ref:"definitions.json#/definitions/address"}}}}),Object.defineProperty(Alarm.prototype,"validator",{get:__name((function(){return validateAlarm}),"get")});var Announcement=class extends Entity{static{__name(this,"Announcement")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),void 0!==data.type&&(this.type=data.type),void 0!==data.users&&(this.users=data.users),void 0!==data.group&&(this.group=data.group),void 0!==data.body&&(this.body=data.body),void 0!==data.media&&(this.media=data.media),void 0!==data.sentBy&&(this.sentBy=data.sentBy),void 0!==data.tags&&(this.tags=data.tags),void 0!==data.createdAt&&(this.createdAt=data.createdAt),void 0!==data.updatedAt&&(this.updatedAt=data.updatedAt)}};Object.defineProperty(Announcement.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"announcement.json",title:"Announcement",description:"Announcement message sent to users",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["announcement"],default:"announcement"},users:{type:"array",items:{type:"string"},minItems:1},group:{type:"string"},body:{type:"string"},media:{$ref:"mediaFile.json"},sentBy:{type:"string"},tags:{type:"array",items:{type:"string"}},createdAt:{$ref:"definitions.json#/definitions/date"},updatedAt:{$ref:"definitions.json#/definitions/date"}},additionalProperties:!1}}),Object.defineProperty(Announcement.prototype,"validator",{get:__name((function(){return validateAnnouncement}),"get")});var Automation=class extends Entity{static{__name(this,"Automation")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),this.type=data.type,void 0!==data.isEnabled&&(this.isEnabled=data.isEnabled),this.trigger=data.trigger,this.actions=data.actions,void 0!==data.createdAt&&(this.createdAt=data.createdAt),void 0!==data.updatedAt&&(this.updatedAt=data.updatedAt),void 0!==data.lastTriggeredAt&&(this.lastTriggeredAt=data.lastTriggeredAt)}get isTimeBased(){return"time"===this.discriminator||this.trigger&&"time"===this.trigger.type}get isDeviceBased(){return"device"===this.discriminator||this.trigger&&"time"!==this.trigger.type}get isRepeating(){return this.isTimeBased()&&!1!==this.trigger?.schedule?.repeat}};Object.defineProperty(Automation.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"automation.json",title:"Automation",description:"An automation is a collection of triggers and actions",type:"object",required:["id","type","trigger","actions"],properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string",description:"The friendly name of the automation"},type:{type:"string",enum:["automation"],default:"automation"},isEnabled:{type:"boolean",description:"Whether the automation is currently enabled",default:!0},trigger:{type:"object",description:"The trigger that initiates the automation",required:["discriminator","schedule"],properties:{discriminator:{type:"string",enum:["time"],description:"Type of trigger"},schedule:{type:"object",description:"Schedule for time-based triggers",required:["days","time","timezone"],properties:{days:{type:"array",description:"Days of the week (0 = Sunday, 6 = Saturday)",items:{type:"integer",minimum:0,maximum:6}},time:{type:"string",description:"Time of day to trigger the automation"},timeOffsetSeconds:{type:"integer",description:"Offset in seconds from the scheduled time",default:0},repeat:{type:"boolean",description:"Whether the schedule repeats",default:!0},timezone:{type:"string",description:"Timezone for the schedule (IANA timezone format)"}}}}},actions:{type:"array",description:"Actions to perform when the trigger conditions are met",items:{type:"object",required:["deviceId","roomId","discriminator","state"],properties:{deviceId:{type:"string",description:"ID of the device to control"},roomId:{type:"string",description:"ID of the room containing the device"},discriminator:{type:"string",description:"Type discriminator for the device (e.g., 'windowCovering', 'switch')"},duration:{type:"integer",description:"Duration in seconds to keep the device in the configured state",minimum:0},state:{type:"array",items:{type:"object",required:["property","value"],properties:{property:{type:"string",description:"Property to set (e.g., 'state', 'level', 'setpoint')"},value:{type:["string","number","boolean"],description:"Value to set the property to"}}}}}},minItems:1},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"},lastTriggeredAt:{$ref:"definitions.json#/definitions/date",description:"When the automation was last triggered"}},additionalProperties:!1}}),Object.defineProperty(Automation.prototype,"validator",{get:__name((function(){return validateAutomation}),"get")});var Camera=class extends Entity{static{__name(this,"Camera")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),this.type=data.type,void 0!==data.offline&&(this.offline=data.offline),void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),this.driver=data.driver,void 0!==data.liveStreams&&(this.liveStreams=data.liveStreams),void 0!==data.liveStream&&(this.liveStream=data.liveStream),void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion)}};Object.defineProperty(Camera.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"camera.json",title:"Camera",description:"Any smart camera",type:"object",required:["id","type","driver"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{type:"string",enum:["camera"],default:"camera"},offline:{type:"boolean"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},liveStreams:{type:"object",additionalProperties:!1,$comment:"This is now deprecated. Use liveStream instead. This will remain here for backwards compatibility.",properties:{iframe:{type:["string","null"]},hls:{type:["string","null"]},webRTC:{type:["string","null"]},rtsp:{type:["string","null"]}}},liveStream:{type:"object",additionalProperties:!1,properties:{id:{type:"string"},driver:{type:"string",enum:["cloudflare-stream","aws-kinesis","digital-watchdog","mediamtx"]},allowedOrigins:{type:"array",items:{type:"string"}},authRequired:{type:"boolean"},iframe:{type:["string","null"]},hls:{type:["string","null"]},webRTC:{type:["string","null"]},rtsp:{type:["string","null"],description:"Local RTSP stream URL",examples:["rtsp://192.168.1.4:544/channels/1","rtsp://10.145.6.129:8554/unicast"]},previewImage:{type:["string","null"],description:"Source to preview the camera stream",examples:["https://example.com/preview.jpg","data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QBYRXhpZgAATU0AKgAAAAgAA1EQAAEAAAABAQAAAFERAAQAAAABAAABAgABAA"]}}},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}}}}),Object.defineProperty(Camera.prototype,"validator",{get:__name((function(){return validateCamera}),"get")});var Category=class extends Entity{static{__name(this,"Category")}constructor(data){super(data),this.id=data.id,this.type=data.type,void 0!==data.name&&(this.name=data.name),void 0!==data.driver&&(this.driver=data.driver),void 0!==data.description&&(this.description=data.description),void 0!==data.image&&(this.image=data.image),void 0!==data.rating&&(this.rating=data.rating),this.discriminator=data.discriminator,void 0!==data.systemId&&(this.systemId=data.systemId)}};Object.defineProperty(Category.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"category.json",title:"Category",type:"object",required:["id","type","discriminator"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["category"],default:"category"},name:{type:"string",minLength:1},driver:{$ref:"definitions.json#/definitions/driver"},description:{type:"string"},image:{$ref:"mediaFile.json"},rating:{type:"number",minimum:0,maximum:10,default:9},discriminator:{type:"string",enum:["space","product","mediaFile"]},systemId:{$ref:"definitions.json#/definitions/systemId"}}}}),Object.defineProperty(Category.prototype,"validator",{get:__name((function(){return validateCategory}),"get")});var Courtesy=class extends Entity{static{__name(this,"Courtesy")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),this.type=data.type,void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),this.driver=data.driver,void 0!==data.offline&&(this.offline=data.offline),this.supportedStates=data.supportedStates,this.state=data.state,void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion)}};Object.defineProperty(Courtesy.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"courtesy.json",title:"Courtesy",description:"Any smart courtesy system",type:"object",required:["id","type","driver","supportedStates","state"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},supportedStates:{type:"array",uniqueItems:!0,items:{enum:["privacy","service","none"]}},state:{type:"string",$ref:"#/properties/supportedStates/items"},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}}}}),Object.defineProperty(Courtesy.prototype,"validator",{get:__name((function(){return validateCourtesy}),"get")});var Credential=class extends Entity{static{__name(this,"Credential")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),this.type=data.type,void 0!==data.driver&&(this.driver=data.driver),void 0!==data.discriminator&&(this.discriminator=data.discriminator),this.credential=data.credential,void 0!==data.userId&&(this.userId=data.userId),void 0!==data.organizationId&&(this.organizationId=data.organizationId),void 0!==data.propertyId&&(this.propertyId=data.propertyId),void 0!==data.deviceId&&(this.deviceId=data.deviceId),void 0!==data.userAgent&&(this.userAgent=data.userAgent),this.expires=data.expires,void 0!==data.systemId&&(this.systemId=data.systemId)}};Object.defineProperty(Credential.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"credential.json",title:"Credential",type:"object",required:["type","credential","expires"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"credential"},driver:{$ref:"definitions.json#/definitions/driver"},discriminator:{type:"string",enum:["verificationCode","token","mobileKey","pin","publicKey","passkeyChallenge"]},credential:{type:"string"},userId:{type:"string"},organizationId:{type:"string"},propertyId:{type:"string"},deviceId:{type:"string"},userAgent:{type:"string"},expires:{type:["string","object","null"]},systemId:{$ref:"definitions.json#/definitions/systemId"}}}}),Object.defineProperty(Credential.prototype,"validator",{get:__name((function(){return validateCredential}),"get")});var DeviceRouter=class extends Entity{static{__name(this,"DeviceRouter")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),void 0!==data.type&&(this.type=data.type),this.driver=data.driver,this.organizationId=data.organizationId,void 0!==data.devices&&(this.devices=data.devices)}};Object.defineProperty(DeviceRouter.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"deviceRouter.json",title:"Device Router",description:"A device router contains instructions on where to route devices based on their organization and driver.",type:"object",required:["driver","organizationId"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"deviceRouter",enum:["deviceRouter"]},driver:{type:"string"},organizationId:{type:["string","null"],description:"Reference (id) to the organization that owns this router"},devices:{type:"object",additionalProperties:!0}}}}),Object.defineProperty(DeviceRouter.prototype,"validator",{get:__name((function(){return validateDeviceRouter}),"get")});var Dimmer=class extends Entity{static{__name(this,"Dimmer")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),this.type=data.type,void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),this.driver=data.driver,void 0!==data.offline&&(this.offline=data.offline),this.level=data.level,void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion)}};Object.defineProperty(Dimmer.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"dimmer.json",title:"Dimmer",description:"Any smart dimmer",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},level:{type:["number","null"],minimum:0,maximum:100},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},required:["id","type","level","driver"]}}),Object.defineProperty(Dimmer.prototype,"validator",{get:__name((function(){return validateDimmer}),"get")});var DiscoveredDevice=class extends Entity{static{__name(this,"DiscoveredDevice")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),this.name=data.name,this.deviceId=data.deviceId,void 0!==data.type&&(this.type=data.type),void 0!==data.discriminator&&(this.discriminator=data.discriminator),void 0!==data.driver&&(this.driver=data.driver),this.deviceData=data.deviceData,void 0!==data.ignore&&(this.ignore=data.ignore),void 0!==data.organizationId&&(this.organizationId=data.organizationId),void 0!==data.propertyId&&(this.propertyId=data.propertyId)}};Object.defineProperty(DiscoveredDevice.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"discoveredDevice.json",title:"Discovered Device",description:"A device that has been discovered by Kohost, but not yet added to the Kohost system.",type:"object",required:["name","deviceId","deviceData"],properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},deviceId:{type:"string"},type:{type:"string",enum:["discoveredDevice"],default:"discoveredDevice"},discriminator:{$ref:"definitions.json#/definitions/type"},driver:{type:"string"},deviceData:{type:"object"},ignore:{type:"boolean"},organizationId:{type:["string","null"],description:"Reference (id) to the organization that owns this device"},propertyId:{type:["string","null"],description:"Reference (id) to the property that this device belongs to"}}}}),Object.defineProperty(DiscoveredDevice.prototype,"validator",{get:__name((function(){return validateDiscoveredDevice}),"get")});var EmailMessage=class extends Entity{static{__name(this,"EmailMessage")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),void 0!==data.type&&(this.type=data.type),this.to=data.to,this.from=data.from,this.subject=data.subject,this.status=data.status,void 0!==data.statusMessage&&(this.statusMessage=data.statusMessage),void 0!==data.html&&(this.html=data.html),void 0!==data.text&&(this.text=data.text),void 0!==data.driver&&(this.driver=data.driver),void 0!==data.appData&&(this.appData=data.appData),void 0!==data.createdAt&&(this.createdAt=data.createdAt),void 0!==data.updatedAt&&(this.updatedAt=data.updatedAt),void 0!==data.systemId&&(this.systemId=data.systemId)}};Object.defineProperty(EmailMessage.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"emailMessage.json",title:"Email Message",type:"object",required:["to","from","status","subject"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"emailMessage",enum:["emailMessage"]},to:{type:"string",pattern:"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$"},from:{type:"string",pattern:".*<[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+>.*",description:"Must be in the format of 'Sender <email@example.com>"},subject:{type:"string"},status:{type:"string",enum:["queued","sending","sent","deferred","delivered","undelivered","bounced","blocked","receiving","received","opened","clicked","unsubscribed","spamReport"]},statusMessage:{type:"string"},html:{type:"string"},text:{type:"string"},driver:{type:"string"},appData:{type:"object"},createdAt:{$ref:"definitions.json#/definitions/date"},updatedAt:{$ref:"definitions.json#/definitions/date"},systemId:{$ref:"definitions.json#/definitions/systemId"}}}}),Object.defineProperty(EmailMessage.prototype,"validator",{get:__name((function(){return validateEmailMessage}),"get")});var EnergyReport=class extends Entity{static{__name(this,"EnergyReport")}constructor(data){super(data),this.id=data.id,this.type=data.type,void 0!==data.reportTime&&(this.reportTime=data.reportTime),this.roomId=data.roomId,this.first=data.first,this.last=data.last,this.consumption=data.consumption,this.totals=data.totals,this.costPerKw=data.costPerKw}};Object.defineProperty(EnergyReport.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"energyReport.json",title:"Energy Report",description:"Hourly Report for Energy based on energy report shards",type:"object",required:["id","type","roomId","first","last","consumption","totals","costPerKw"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["energyReport"],default:"energyReport"},reportTime:{type:"string",enum:["hourly","daily","monthly"]},roomId:{$ref:"definitions.json#/definitions/id"},first:{type:["string","object"],format:"date-time"},last:{type:["string","object"],format:"date-time"},consumption:{type:"array",items:{type:"object",required:["id","type","kwh"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{$ref:"definitions.json#/definitions/type"},kwh:{type:"number",minimum:0}}}},totals:{type:"array",items:{type:"object",required:["lights","climate","media"],properties:{lights:{type:"number",minimum:0},climate:{type:"number",minimum:0},media:{type:"number",minimum:0}}}},costPerKw:{type:"number",minimum:0}}}}),Object.defineProperty(EnergyReport.prototype,"validator",{get:__name((function(){return validateEnergyReport}),"get")});var EnergyReportShard=class extends Entity{static{__name(this,"EnergyReportShard")}constructor(data){super(data),this.id=data.id,this.type=data.type,this.roomId=data.roomId,this.first=data.first,this.last=data.last,this.data=data.data,this.ndata=data.ndata,this.expires=data.expires}};Object.defineProperty(EnergyReportShard.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"energyReportShard.json",title:"Energy Report Shard",description:"Shard used for Energy Reports",type:"object",required:["id","type","roomId","first","last","data","ndata","expires"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["energyReportShard"],default:"energyReportShard"},roomId:{$ref:"definitions.json#/definitions/id"},first:{type:["string","object"],format:"date-time"},last:{type:["string","object"],format:"date-time"},data:{type:"array",items:{type:"object",required:["time","watts","id","type","value"],properties:{time:{type:["string","object"],format:"date-time"},watts:{$ref:"definitions.json#/definitions/watts"},id:{$ref:"definitions.json#/definitions/id"},type:{$ref:"definitions.json#/definitions/type"},value:{type:"number",minimum:0,maximum:1}}}},ndata:{type:"integer",minimum:0,maximum:1e5,default:0},expires:{type:["string","object"],format:"date-time"}}}}),Object.defineProperty(EnergyReportShard.prototype,"validator",{get:__name((function(){return validateEnergyReportShard}),"get")});var Gateway=class extends Entity{static{__name(this,"Gateway")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),void 0!==data.offline&&(this.offline=data.offline),this.type=data.type,void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),this.status=data.status,void 0!==data.systemId&&(this.systemId=data.systemId),this.driver=data.driver,void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion)}};Object.defineProperty(Gateway.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"iotGateway.json",title:"Gateway",description:"Any smart gateway that is an entrypoint for controlling devices",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},offline:{type:"boolean"},type:{$ref:"definitions.json#/definitions/type"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},status:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"},driver:{$ref:"definitions.json#/definitions/driver"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},required:["id","type","status","driver"]}}),Object.defineProperty(Gateway.prototype,"validator",{get:__name((function(){return validateGateway}),"get")});var Identification=class extends Entity{static{__name(this,"Identification")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),this.type=data.type,void 0!==data.number&&(this.number=data.number),void 0!==data.maskedNumber&&(this.maskedNumber=data.maskedNumber),void 0!==data.encryptedNumber&&(this.encryptedNumber=data.encryptedNumber),void 0!==data.issued&&(this.issued=data.issued),void 0!==data.expires&&(this.expires=data.expires),void 0!==data.verified&&(this.verified=data.verified),void 0!==data.matched&&(this.matched=data.matched),void 0!==data.firstName&&(this.firstName=data.firstName),void 0!==data.lastName&&(this.lastName=data.lastName),void 0!==data.issuingCountry&&(this.issuingCountry=data.issuingCountry),void 0!==data.systemId&&(this.systemId=data.systemId)}};Object.defineProperty(Identification.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"identification.json",title:"Identification",type:"object",required:["type"],additionalProperties:!1,oneOf:[{required:["number"]},{required:["encryptedNumber"]}],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["driversLicense","passport","identityCard","visa"]},number:{type:"string"},maskedNumber:{type:"string"},encryptedNumber:{type:"string"},issued:{type:["string","object"],format:"date-time"},expires:{type:["string","object","null"],format:"date-time"},verified:{type:"boolean"},matched:{type:"boolean"},firstName:{type:"string"},lastName:{type:"string"},issuingCountry:{type:"string",minLength:2,maxLength:2},systemId:{$ref:"definitions.json#/definitions/systemId"}}}}),Object.defineProperty(Identification.prototype,"validator",{get:__name((function(){return validateIdentification}),"get")});var Issue=class extends Entity{static{__name(this,"Issue")}constructor(data){super(data),this.id=data.id,this.type=data.type,this.name=data.name,void 0!==data.description&&(this.description=data.description),this.department=data.department,void 0!==data.autoAssign&&(this.autoAssign=data.autoAssign),void 0!==data.notify&&(this.notify=data.notify),void 0!==data.systemKey&&(this.systemKey=data.systemKey),void 0!==data.autoCreateTicket&&(this.autoCreateTicket=data.autoCreateTicket),void 0!==data.excludedResources&&(this.excludedResources=data.excludedResources)}};Object.defineProperty(Issue.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"issue.json",title:"Issue",description:"An issue associated with ticketing and concierge.",type:"object",required:["id","type","name","department"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["issue"],default:"issue"},name:{type:"string"},description:{type:"string"},department:{type:"string"},autoAssign:{type:"object",properties:{userId:{type:"string",description:"The user ID to assign tickets with this issue to."},vendorId:{type:"string",description:"The vendor ID to assign tickets with this issue to."},priority:{$ref:"ticket.json#/properties/priority",description:"The priority to assign tickets with this issue to."},tags:{type:"array",items:{type:"string"}}}},notify:{type:"array",description:"A list of entities to notify when this issue is triggered.",default:[],items:{type:"object",required:["id","discriminator"],properties:{id:{type:"string",description:"The ID of the entity to notify."},discriminator:{type:"string",enum:["user"]}}}},systemKey:{type:"string"},autoCreateTicket:{type:"boolean",default:!0},excludedResources:{type:"array",description:"A list of resources that should not trigger notifications of this issue",items:{type:"string"},default:[]}}}}),Object.defineProperty(Issue.prototype,"validator",{get:__name((function(){return validateIssue}),"get")});var Lock=class extends Entity{static{__name(this,"Lock")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),this.type=data.type,void 0!==data.offline&&(this.offline=data.offline),void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),this.driver=data.driver,this.state=data.state,void 0!==data.mode&&(this.mode=data.mode),void 0!==data.supportedModes&&(this.supportedModes=data.supportedModes),void 0!==data.batteryLevel&&(this.batteryLevel=data.batteryLevel),void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion)}};Object.defineProperty(Lock.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"lock.json",title:"Lock",description:"Any smart lock",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},offline:{type:"boolean"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},state:{type:["string","null"],enum:["locked","unlocked",null]},mode:{type:["string","null"],enum:["normal","autoLock","emergencyOpen","emergencyClose","holdOpen","lockdown",null],description:"emergencyOpen and emergencyClose are deprecated and can be removed once Salto, Paxton and Geovision drivers are updated",default:null},supportedModes:{type:"array",uniqueItems:!0,items:{enum:["normal","autoLock","emergencyOpen","emergencyClose","holdOpen","lockdown",null]}},batteryLevel:{$ref:"definitions.json#/definitions/batteryLevel"},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},required:["id","type","state","driver"]}}),Object.defineProperty(Lock.prototype,"validator",{get:__name((function(){return validateLock}),"get")});var Log=class extends Entity{static{__name(this,"Log")}constructor(data){super(data),this.type=data.type,this.timestamp=data.timestamp,this.id=data.id,this.driver=data.driver,this.name=data.name,void 0!==data.field1&&(this.field1=data.field1),void 0!==data.field2&&(this.field2=data.field2),void 0!==data.field3&&(this.field3=data.field3),void 0!==data.field4&&(this.field4=data.field4),void 0!==data.field5&&(this.field5=data.field5),void 0!==data.field6&&(this.field6=data.field6)}};Object.defineProperty(Log.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"log.json",title:"Log",type:"object",required:["type","timestamp","id","driver","name"],properties:{type:{type:"string",default:"log",enum:["log"]},timestamp:{type:"number",minimum:1655907956593},id:{$ref:"definitions.json#/definitions/id"},driver:{$ref:"definitions.json#/definitions/driver"},name:{type:"string",description:"Event name"},field1:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field2:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field3:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field4:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field5:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field6:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}}}}}),Object.defineProperty(Log.prototype,"validator",{get:__name((function(){return validateLog}),"get")});var MediaFile=class extends Entity{static{__name(this,"MediaFile")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),this.type=data.type,void 0!==data.name&&(this.name=data.name),void 0!==data.fileHash&&(this.fileHash=data.fileHash),void 0!==data.category&&(this.category=data.category),void 0!==data.mimeType&&(this.mimeType=data.mimeType),void 0!==data.data&&(this.data=data.data),void 0!==data.url&&(this.url=data.url),void 0!==data.width&&(this.width=data.width),void 0!==data.height&&(this.height=data.height),void 0!==data.size&&(this.size=data.size),void 0!==data.uploadUrl&&(this.uploadUrl=data.uploadUrl),void 0!==data.uploadUrlExpires&&(this.uploadUrlExpires=data.uploadUrlExpires),void 0!==data.createdBy&&(this.createdBy=data.createdBy),void 0!==data.systemId&&(this.systemId=data.systemId)}createImageVariant(params){if("image/*"!=this.mimeType)throw new Error("Only dynamic images can have variants");if(!this.url)throw new Error("MediaFile has no url");const query=Object.keys(params).map((key=>`${key}=${params[key]}`)).join(",");return this.url.replace(/\/public$/,`/${query}`)}};Object.defineProperty(MediaFile.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"mediaFile.json",title:"Media File",description:"Any media file",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"mediaFile",enum:["mediaFile"]},name:{type:"string"},fileHash:{type:"string"},category:{type:"string",description:"This is the category id"},mimeType:{type:"string",enum:["image/*","image/jpeg","image/png","image/gif","image/webp","image/avif","image/svg+xml","application/pdf"]},data:{type:"string"},url:{type:"string",format:"uri"},width:{type:"integer",minimum:0},height:{type:"integer",minimum:0},size:{type:"integer",minimum:0,description:"Size in bytes"},uploadUrl:{type:"string",format:"uri"},uploadUrlExpires:{$ref:"definitions.json#/definitions/date"},createdBy:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"}},additionalProperties:!1,required:["type"]}}),Object.defineProperty(MediaFile.prototype,"validator",{get:__name((function(){return validateMediaFile}),"get")});var MediaSource=class extends Entity{static{__name(this,"MediaSource")}constructor(data){super(data),this.id=data.id,this.type=data.type,this.discriminator=data.discriminator,void 0!==data.playlists&&(this.playlists=data.playlists),void 0!==data.remote&&(this.remote=data.remote),void 0!==data.name&&(this.name=data.name),this.driver=data.driver,void 0!==data.offline&&(this.offline=data.offline),this.audio=data.audio,this.video=data.video,void 0!==data.powerFeedback&&(this.powerFeedback=data.powerFeedback),void 0!==data.volumeFeedback&&(this.volumeFeedback=data.volumeFeedback),void 0!==data.muted&&(this.muted=data.muted),void 0!==data.volume&&(this.volume=data.volume),void 0!==data.brightness&&(this.brightness=data.brightness),void 0!==data.contrast&&(this.contrast=data.contrast),void 0!==data.power&&(this.power=data.power),void 0!==data.input&&(this.input=data.input),void 0!==data.supportedInputs&&(this.supportedInputs=data.supportedInputs),void 0!==data.supportedOutputs&&(this.supportedOutputs=data.supportedOutputs),void 0!==data.command&&(this.command=data.command),void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion)}};Object.defineProperty(MediaSource.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"mediaSource.json",title:"Media Source",description:"Any media source",type:"object",required:["id","type","discriminator","audio","video","driver"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"mediaSource",enum:["mediaSource"]},discriminator:{type:"string",enum:["tv","dvr","appleTv","discPlayer","mediaPlayer","paSystem","uncontrolledDevice"]},playlists:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{$ref:"definitions.json#/definitions/name"}}}},remote:{type:"string",enum:["MR22GA","XRT260","XRT270","HOF-16K 1.2","219863500","SONIFI","AKB76039803","BN59-01388A"]},name:{$ref:"definitions.json#/definitions/name"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},audio:{type:"boolean"},video:{type:"boolean"},powerFeedback:{type:"boolean"},volumeFeedback:{type:"boolean"},muted:{type:"boolean"},volume:{type:"number",minimum:0,maximum:100},brightness:{type:"number",minimum:0,maximum:100},contrast:{type:"number",minimum:0,maximum:100},power:{type:"string",enum:["on","off"]},input:{type:"string"},supportedInputs:{type:"array",items:{type:"string"}},supportedOutputs:{type:"array",items:{type:"string"}},command:{type:["string","null"],enum:["mute","volumeUp","volumeDown","brightnessUp","brightnessDown","channelUp","channelDown","number0","number1","number2","number3","number4","number5","number6","number7","number8","number9","lastChannel","display","favoriteChannel","play","playing","stop","stopped","pause","paused","fastForward","fastForwarding","rewind","rewinding","instantReplay","record","ac3","pvrMenu","guide","menu","menuUp","menuDown","menuLeft","menuRight","pageUp","pageDown","select","exit","input","power","enterChannel","enterVolume","enterBrightness","enterContrast","number10","number11","number12","number13","number14","number15","number16","number10Plus","number20Plus","number100","dash","threeChan","threeD","sixChan","a","add","alarm","am","analog","angle","antenna","antennaEast","antennaWest","aspect","audio1","audio2","audio3","audioDumming","audioLevelDown","audioLevelUp","b","back","c","component1","component2","component3","d","home","list","liveTv","discreteInputCable","powerOff","powerOn","setupMenu","skipForward","skipReverse","video1","video2","video3","video4","video5","details","hdmi1","hdmi2","hdmi3","cecDeviceList","mtsSap","red","green","yellow","blue","alert","order"]},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},additionalProperties:!1}}),Object.defineProperty(MediaSource.prototype,"validator",{get:__name((function(){return validateMediaSource}),"get")});var MotionSensor=class extends Entity{static{__name(this,"MotionSensor")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),this.type=data.type,void 0!==data.offline&&(this.offline=data.offline),this.driver=data.driver,void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion)}};Object.defineProperty(MotionSensor.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"motionSensor.json",title:"Motion Sensor",description:"Any smart motion sensor",type:"object",required:["id","type","driver"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},offline:{type:"boolean"},driver:{$ref:"definitions.json#/definitions/driver"},systemId:{$ref:"definitions.json#/definitions/systemId"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}}}}),Object.defineProperty(MotionSensor.prototype,"validator",{get:__name((function(){return validateMotionSensor}),"get")});var Order=class extends Entity{static{__name(this,"Order")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),this.type=data.type,void 0!==data.orderNumber&&(this.orderNumber=data.orderNumber),this.status=data.status,void 0!==data.userId&&(this.userId=data.userId),void 0!==data.reservationId&&(this.reservationId=data.reservationId),void 0!==data.date&&(this.date=data.date),void 0!==data.items&&(this.items=data.items),void 0!==data.taxes&&(this.taxes=data.taxes),void 0!==data.fees&&(this.fees=data.fees),void 0!==data.delivery&&(this.delivery=data.delivery),void 0!==data.payments&&(this.payments=data.payments)}getSubTotal(){return this.items.reduce(((acc,item)=>{const qty=item.quantity||1;return acc+item.price*qty}),0)}getTaxTotal(){const taxes=this.taxes;return taxes?this.items.reduce(((acc,item)=>{if(!item.taxClass)return acc;const tax=taxes.find((t=>t.class===item.taxClass));if(!tax)return acc;const{rateType:rateType,rate:rate}=tax;return"percentage"===rateType?acc+item.price*rate:acc+rate}),0):0}getDeliveryTotal(){const delivery=this.delivery;return delivery?this.items.reduce(((acc,item)=>{if(!item.deliveryClass)return acc;const d=delivery.find((d2=>d2.class===item.deliveryClass));if(!d)return acc;const{rateType:rateType,rate:rate}=d;return"percentage"===rateType?acc+item.price*rate:acc+rate}),0):0}getFeesTotal(){return this.fees.reduce(((acc,fee)=>acc+fee.price),0)}getTotal(){return this.getSubTotal()+this.getTaxTotal()+this.getDeliveryTotal()+this.getFeesTotal()}getPaymentsTotal(){return this.payments.reduce(((acc,payment)=>acc+payment.amount),0)}getBalance(){return this.getTotal()-this.getPaymentsTotal()}};Object.defineProperty(Order.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"order.json",title:"Order",description:"A purchase order for products or services.",type:"object",required:["type","status"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"order",enum:["order"]},orderNumber:{type:"string"},status:{type:"string",enum:["draft","pendingPayment","processing","outForDelivery","completed","paymentFailed","cancelled","refunded"]},userId:{$ref:"definitions.json#/definitions/id",description:"User id of purchaser"},reservationId:{$ref:"definitions.json#/definitions/id",description:"Reservation id if the order is for a reservation"},date:{$ref:"definitions.json#/definitions/date"},items:{type:"array",default:[],items:{type:"object",required:["name","price"],properties:{additionalProperties:!1,name:{type:"string"},sku:{type:"string"},quantity:{type:"number",default:1},price:{type:"number"},taxClass:{type:"string"},deliveryClass:{type:"string"},productId:{type:"string"}}}},taxes:{type:"array",default:[],items:{type:"object",required:["name","rate"],properties:{additionalProperties:!1,name:{type:"string"},class:{type:"string"},rateType:{type:"string",enum:["percentage","flat"],default:"percentage"},rate:{type:"number"},total:{type:"number"}}}},fees:{type:"array",default:[],items:{type:"object",required:["name","price"],properties:{additionalProperties:!1,name:{type:"string"},price:{type:"number"}}}},delivery:{type:"array",default:[],items:{type:"object",required:["name","rate"],properties:{additionalProperties:!1,name:{type:"string"},class:{type:"string"},rateType:{type:"string",enum:["percentage","flat"],default:"percentage"},rate:{type:"number"},total:{type:"number"}}}},payments:{type:"array",default:[],items:{type:"object",properties:{method:{type:"string",enum:["folio","invoice","amex","visa","masterCard","maestro","discover","diners","jcb","applePay","alipay","chinaUnionPay","vpay"]},name:{type:"string"},date:{$ref:"definitions.json#/definitions/date"},amount:{type:"number"},transactionReference:{type:"string"}}}}}}}),Object.defineProperty(Order.prototype,"validator",{get:__name((function(){return validateOrder}),"get")});var Organization=class extends Entity{static{__name(this,"Organization")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),void 0!==data.type&&(this.type=data.type),this.accountNumber=data.accountNumber,this.name=data.name,void 0!==data.properties&&(this.properties=data.properties),void 0!==data.hostname&&(this.hostname=data.hostname),void 0!==data.appManifest&&(this.appManifest=data.appManifest),void 0!==data.tickets&&(this.tickets=data.tickets),void 0!==data.credentials&&(this.credentials=data.credentials),void 0!==data.createdAt&&(this.createdAt=data.createdAt),void 0!==data.updatedAt&&(this.updatedAt=data.updatedAt)}};Object.defineProperty(Organization.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"organization.json",title:"Organization",type:"object",description:"An organization is a group or entity that subscribes to Kohost software.",required:["accountNumber","name"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"organization",enum:["organization"]},accountNumber:{type:["number","null"],minimum:1e4},name:{type:"string"},properties:{type:"array",items:{type:"string"}},hostname:{type:["string","null"]},appManifest:{type:"object",properties:{name:{type:"string"},short_name:{type:"string"},scope:{type:"string"},start_url:{type:"string"},themeColor:{type:"string"},backgroundColor:{type:"string"},display:{type:"string",enum:["fullscreen","standalone","minimal-ui","browser"],default:"fullscreen"},orientation:{type:"string",enum:["portrait","landscape"],default:"portrait"},splash:{type:"object",properties:{src:{type:"string"},type:{type:"string"},sizes:{type:"string"}}},icons:{type:"array",items:{type:"object",properties:{src:{type:"string"},sizes:{type:"string"},type:{type:"string"}}}},logo:{type:"object",properties:{src:{type:"string"},type:{type:"string"},sizes:{type:"string"}}}},default:{name:"Kohost",short_name:"Kohost",start_url:"/",scope:"/",display:"fullscreen",orientation:"portrait",theme_color:"#1d1f22",background_color:"#1d1f22",icons:[{src:"https://images.kohost.io/cdn-cgi/imagedelivery/vcVX2aBwdFSYr66spcFKaA/9c85047f-ccba-4b1c-3070-5463fbe93b00/w=512",sizes:"512x512",type:"image/png"}],splash:{src:"https://images.kohost.io/cdn-cgi/imagedelivery/vcVX2aBwdFSYr66spcFKaA/034fb112-5326-4d37-373e-d1cc2a4d0400/w=1500",sizes:"1500x800",type:"image/jpg"},logo:{src:"https://images.kohost.io/cdn-cgi/imagedelivery/vcVX2aBwdFSYr66spcFKaA/1e54c54d-3bac-4745-f46f-c2f98036af00/h=75",sizes:"300x75",type:"image/png"}}},tickets:{type:"object",properties:{nextTicketNumber:{type:["string","integer"],default:1}}},credentials:{type:"object",additionalProperties:!0},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"}}}}),Object.defineProperty(Organization.prototype,"validator",{get:__name((function(){return validateOrganization}),"get")});var Payment=class extends Entity{static{__name(this,"Payment")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),this.type=data.type,void 0!==data.enabled&&(this.enabled=data.enabled),void 0!==data.storageData&&(this.storageData=data.storageData),this.maskedNumber=data.maskedNumber,void 0!==data.issued&&(this.issued=data.issued),this.expires=data.expires,void 0!==data.systemId&&(this.systemId=data.systemId)}};Object.defineProperty(Payment.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"payment.json",title:"Payment",type:"object",required:["type","maskedNumber","expires"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["amex","visa","masterCard","maestro","discover","diners","jcb","applePay","alipay","chinaUnionPay","vpay"]},enabled:{type:"boolean",default:!0},storageData:{type:["string","null"]},maskedNumber:{type:"string"},issued:{type:["string","null"]},expires:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"}}}}),Object.defineProperty(Payment.prototype,"validator",{get:__name((function(){return validatePayment}),"get")});var Policy=class extends Entity{static{__name(this,"Policy")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),this.type=data.type,this.discriminator=data.discriminator,this.name=data.name,void 0!==data.description&&(this.description=data.description),this.organizationId=data.organizationId,this.propertyId=data.propertyId,this.permissions=data.permissions}};Object.defineProperty(Policy.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"policy.json",title:"Policy",description:"A policy is a set of permissions that can be applied to a user to limit their access to resources.",type:"object",required:["name","type","organizationId","propertyId","permissions","discriminator"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"policy",enum:["policy"]},discriminator:{type:"string",enum:["user"]},name:{type:"string",minLength:1},description:{type:"string"},organizationId:{type:"string"},propertyId:{type:"string"},permissions:{type:"array",items:{type:"object",required:["entities","effect"],properties:{entities:{type:"array",items:{type:"string",pattern:"^[^:]+(:.+)+$"}},effect:{type:"string",enum:["Allow","Deny"]}}}}}}}),Object.defineProperty(Policy.prototype,"validator",{get:__name((function(){return validatePolicy}),"get")});var Product=class extends Entity{static{__name(this,"Product")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),void 0!==data.type&&(this.type=data.type),this.name=data.name,this.driver=data.driver,void 0!==data.description&&(this.description=data.description),this.price=data.price,void 0!==data.tax&&(this.tax=data.tax),void 0!==data.image&&(this.image=data.image),void 0!==data.category&&(this.category=data.category),void 0!==data.imageUrl&&(this.imageUrl=data.imageUrl),void 0!==data.systemId&&(this.systemId=data.systemId)}};Object.defineProperty(Product.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"product.json",title:"Product",type:"object",required:["name","price","driver"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"product",enum:["product"]},name:{type:"string"},driver:{$ref:"definitions.json#/definitions/driver"},description:{type:"string"},price:{type:"number"},tax:{type:["number","null"]},image:{$ref:"mediaFile.json"},category:{type:"string"},imageUrl:{type:"string",format:"uri",pattern:"^https?://"},systemId:{$ref:"definitions.json#/definitions/systemId"}}}}),Object.defineProperty(Product.prototype,"validator",{get:__name((function(){return validateProduct}),"get")});var Property=class extends Entity{static{__name(this,"Property")}constructor(data){super(data),this.id=data.id,this.name=data.name,this.type=data.type,this.discriminator=data.discriminator,this.organization=data.organization,void 0!==data.departments&&(this.departments=data.departments),void 0!==data.testModeEnabled&&(this.testModeEnabled=data.testModeEnabled),void 0!==data.testMode&&(this.testMode=data.testMode),this.timezone=data.timezone,void 0!==data.smsNumber&&(this.smsNumber=data.smsNumber),void 0!==data.checkInTime&&(this.checkInTime=data.checkInTime),void 0!==data.checkOutTime&&(this.checkOutTime=data.checkOutTime),void 0!==data.address&&(this.address=data.address),void 0!==data.latitude&&(this.latitude=data.latitude),void 0!==data.longitude&&(this.longitude=data.longitude),void 0!==data.appFeatures&&(this.appFeatures=data.appFeatures),void 0!==data.notifications&&(this.notifications=data.notifications),void 0!==data.credentials&&(this.credentials=data.credentials)}};Object.defineProperty(Property.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"property.json",title:"Property",type:"object",description:"A property is a physical asset or building",required:["id","name","type","organization","timezone","discriminator"],properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{type:"string",default:"property",enum:["property"]},discriminator:{type:"string",enum:["hospitality","education","commercial","storage"]},organization:{type:["string","null"],description:"Reference (id) to the organization that owns this property"},departments:{type:"array",items:{type:"string"}},testModeEnabled:{type:"boolean"},testMode:{type:"object",properties:{notificationEmails:{type:"array",items:{type:"string"},description:"Only users with these email addresses will receive notifications in test mode, including sms, email, or push."},notificationEmailDomains:{type:"array",items:{type:"string"},description:"Only users with email addreses ending in these domains will receive notifications in test mode, including sms, email, or push."}}},timezone:{type:"string",description:"IANA timezone string",pattern:"^([a-zA-Z]+/[a-zA-Z_]+)$",examples:["America/New_York","America/Los_Angeles"]},smsNumber:{type:"string"},checkInTime:{type:"string"},checkOutTime:{type:"string"},address:{$ref:"definitions.json#/definitions/address"},latitude:{type:"number"},longitude:{type:"number"},appFeatures:{type:"object",properties:{RoomControl:{type:"object",properties:{disabledSystems:{type:"array",items:{type:"string",enum:["climate","lights","shades","tv","doors"]}},excludedDeviceIds:{type:"array",items:{type:"string"},default:[]},commonAreas:{type:"object",properties:{spaces:{type:"array",items:{type:"string"}}}},alarmConfig:{type:"object",patternProperties:{"^[a-zA-Z0-9]+$":{type:"object",properties:{zoneLockMap:{type:"object",description:"Maps zone numbers to lock ids",additionalProperties:{type:"string"}}}}},examples:[{wZz7hucY:{zoneLockMap:{1:"wc87hucc",2:"bc86hzxc",3:"zv5ah5jv"}}}]}},additionalProperties:!1},CheckIn:{type:"object",properties:{payment:{},identification:{},earlyCheckIn:{type:"object",required:["dynamic"],properties:{dynamic:{type:"boolean",default:!1},minimumPrice:{type:"number",default:10},maximumPrice:{type:"number",default:50},priceRatioPerHour:{type:"number",default:.1},minimumTime:{type:"string"}}},roomUpgrades:{},pet:{},promos:{}}},CheckOut:{type:"object",properties:{lateCheckOut:{type:"object",required:["dynamic"],properties:{dynamic:{type:"boolean",default:!1},minimumPrice:{type:"number",default:10},maximumPrice:{type:"number",default:50},priceRatioPerHour:{type:"number",default:.1}}}}},Concierge:{type:"object",properties:{timeTracking:{type:"boolean",default:!1},tipping:{type:"boolean",default:!1},feedback:{type:"boolean",default:!0},ratings:{type:"boolean",default:!0},newTicketCCs:{type:"array",items:{type:"string"},default:[]},newMessageChannel:{type:["string","null"],enum:["sms","email"],default:"sms",description:"Determines how users should be notified of new messages in the concierge system"},quickServices:{type:"array",items:{type:"object",properties:{name:{type:"string"},description:{type:"string"},department:{type:"string"},image:{$ref:"mediaFile.json"}},required:["name","description","image"]}},issues:{type:"object",properties:{syncWithPropertyId:{type:"string"}}}}},DigitalKey:{type:"object",properties:{system:{type:"string",enum:["salto","dormakaba"]},systemOnline:{type:"boolean",default:!1},systemConfig:{type:"object",properties:{legicUrl:{type:"string",format:"uri"},legicWalletName:{type:"string"},legicAppId:{type:"number"},legicTechUsername:{type:"string"},legicTechPassword:{type:"string"}},additionalProperties:!1,default:{}},enableApp:{type:"boolean"},branding:{type:"object",properties:{logo:{type:"string",format:"uri"},gradient:{type:"array",items:{type:"string",pattern:"^(?!#ffffff)(#[0-9a-fA-F]{6})$"},minItems:2,maxItems:2},highlightedGradient:{type:"array",items:{type:"string",pattern:"^(?!#ffffff)(#[0-9a-fA-F]{6})$"},minItems:2,maxItems:3}}}}},SOS:{type:"object",properties:{active:{type:"boolean"},activeEmergencies:{type:"array",items:{type:"string",enum:["medical","fire","suspiciousPerson","other","conflict","shooter"]}}}},Elevator:{type:"object"},Experiences:{type:"object"},Dining:{type:"object",properties:{system:{type:"string",enum:["gotab"]},systemConfig:{type:"object",properties:{landingUrl:{type:"string",format:"uri"},includeUserDetails:{type:"boolean"}},additionalProperties:!1}}},Rentals:{type:"object"},Shop:{type:"object"},Spa:{type:"object"},Valet:{type:"object"}},additionalProperties:!1,default:{RoomControl:{}}},notifications:{type:"object",properties:{email:{type:"object",properties:{enabled:{type:"boolean"}},additionalProperties:!1},sms:{type:"object",properties:{enabled:{type:"boolean"}},additionalProperties:!1},push:{type:"object",properties:{enabled:{type:"boolean"}},additionalProperties:!1}},additionalProperties:!1,default:{email:{enabled:!1},sms:{enabled:!1},push:{enabled:!1}}},credentials:{type:"object",additionalProperties:!0}}}}),Object.defineProperty(Property.prototype,"validator",{get:__name((function(){return validateProperty}),"get")});var Reservation=class extends Entity{static{__name(this,"Reservation")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),void 0!==data.driver&&(this.driver=data.driver),void 0!==data.primaryGuest&&(this.primaryGuest=data.primaryGuest),this.type=data.type,void 0!==data.sharedGuests&&(this.sharedGuests=data.sharedGuests),void 0!==data.spaceCategory&&(this.spaceCategory=data.spaceCategory),void 0!==data.space&&(this.space=data.space),void 0!==data.previousSpace&&(this.previousSpace=data.previousSpace),this.status=data.status,void 0!==data.mobileCheckInSpaceCategoryChanged&&(this.mobileCheckInSpaceCategoryChanged=data.mobileCheckInSpaceCategoryChanged),void 0!==data.mobileCheckInSpaceChanged&&(this.mobileCheckInSpaceChanged=data.mobileCheckInSpaceChanged),void 0!==data.mobileCheckInStatus&&(this.mobileCheckInStatus=data.mobileCheckInStatus),void 0!==data.mobileCheckInStatusMessage&&(this.mobileCheckInStatusMessage=data.mobileCheckInStatusMessage),void 0!==data.confirmationNumber&&(this.confirmationNumber=data.confirmationNumber),void 0!==data.expectedCheckInDateTime&&(this.expectedCheckInDateTime=data.expectedCheckInDateTime),this.checkInDateTime=data.checkInDateTime,this.checkOutDateTime=data.checkOutDateTime,void 0!==data.adultCount&&(this.adultCount=data.adultCount),void 0!==data.childCount&&(this.childCount=data.childCount),void 0!==data.spaceCategoryAvailabilites&&(this.spaceCategoryAvailabilites=data.spaceCategoryAvailabilites),void 0!==data.revenue&&(this.revenue=data.revenue),void 0!==data.rateSuppressed&&(this.rateSuppressed=data.rateSuppressed),void 0!==data.payment&&(this.payment=data.payment),void 0!==data.company&&(this.company=data.company),void 0!==data.travelAgent&&(this.travelAgent=data.travelAgent),void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.metadata&&(this.metadata=data.metadata),void 0!==data.updatedAt&&(this.updatedAt=data.updatedAt)}checkInTime(tz){return new Date(this.checkInDateTime).toLocaleString("default",{hour:"numeric",minute:"numeric",timeZone:tz})}checkOutTime(tz){return new Date(this.checkOutDateTime).toLocaleString("default",{hour:"numeric",minute:"numeric",timeZone:tz})}getNights(){const start=new Date(this.checkInDateTime),end=new Date(this.checkOutDateTime);let nights=Math.round((end-start)/864e5);return nights<=0&&(nights=1),nights}};Object.defineProperty(Reservation.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"reservation.json",title:"Reservation",type:"object",required:["type","status","checkInDateTime","checkOutDateTime"],properties:{id:{$ref:"definitions.json#/definitions/id"},driver:{$ref:"definitions.json#/definitions/driver"},primaryGuest:{type:"string"},type:{type:"string",default:"reservation",enum:["reservation"]},sharedGuests:{type:"array",items:{type:"string"}},spaceCategory:{type:"string"},space:{type:["string","null"]},previousSpace:{type:["string","null"],default:null,description:"Used when there was a space assigned and it changes"},status:{type:"string",enum:["reserved","checkedIn","checkedOut","cancelled","noShow","enquired","requested","optional"],description:" reserved - confirmed by both parties, before check-in\n checkedIn - checked in\n checkedOut - checked out\n cancelled - Cancelled\n noShow - No show\n enquired - Confirmed neither by the customer nor enterprise\n requested - Confirmed by the customer but not the enterprise (waitlist)\n optional - Confirmed by the enterprise but not the customer (holding)"},mobileCheckInSpaceCategoryChanged:{type:"boolean",description:"spaceCategory has changed from original."},mobileCheckInSpaceChanged:{type:"boolean"},mobileCheckInStatus:{type:"string",enum:["ready","blocked","preArrivalStepsRequired","spaceNotAssigned","spaceNotReady","checkInTimeNotStarted"]},mobileCheckInStatusMessage:{type:"string"},confirmationNumber:{type:"string"},expectedCheckInDateTime:{type:["string","object"],format:"date-time",description:"Expected arrival time of guest."},checkInDateTime:{type:["string","object"],format:"date-time"},checkOutDateTime:{type:["string","object"],format:"date-time"},adultCount:{type:"number",default:1,minimum:1},childCount:{type:"number",default:0},spaceCategoryAvailabilites:{type:"array",items:{type:"object",properties:{id:{type:"string"},price:{type:"number"},unit:{type:"string",enum:["night","stay","hour"]},isUpgrade:{type:"boolean"}}}},revenue:{$ref:"definitions.json#/definitions/revenue"},rateSuppressed:{type:"boolean"},payment:{type:"string"},company:{type:"string"},travelAgent:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"},metadata:{$ref:"definitions.json#/definitions/metadata"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"}}}}),Object.defineProperty(Reservation.prototype,"validator",{get:__name((function(){return validateReservation}),"get")});var Room=class extends Entity{static{__name(this,"Room")}constructor(data){super(data),this.id=data.id,void 0!==data.type&&(this.type=data.type),this.name=data.name,void 0!==data.floor&&(this.floor=data.floor),void 0!==data.dimmers&&(this.dimmers=data.dimmers),void 0!==data.switches&&(this.switches=data.switches),void 0!==data.thermostats&&(this.thermostats=data.thermostats),void 0!==data.locks&&(this.locks=data.locks),void 0!==data.windowCoverings&&(this.windowCoverings=data.windowCoverings),void 0!==data.courtesy&&(this.courtesy=data.courtesy),void 0!==data.cameras&&(this.cameras=data.cameras),void 0!==data.mediaSources&&(this.mediaSources=data.mediaSources),void 0!==data.motionSensors&&(this.motionSensors=data.motionSensors),void 0!==data.alarms&&(this.alarms=data.alarms),void 0!==data.occupiedAt&&(this.occupiedAt=data.occupiedAt),void 0!==data.createdAt&&(this.createdAt=data.createdAt),void 0!==data.updatedAt&&(this.updatedAt=data.updatedAt)}static getDevicePath(type){switch(type){case"tv":case"dvr":case"appleTv":case"discPlayer":case"mediaPlayer":case"uncontrolledDevice":case"mediaSource":return"mediaSources";case"courtesy":return"courtesy";case"switch":return"switches";case"dimmer":return"dimmers";case"thermostat":return"thermostats";case"lock":return"locks";case"windowCovering":return"windowCoverings";case"camera":return"cameras";case"motionSensor":return"motionSensors";case"alarm":return"alarms";default:throw new Error("Invalid device type:"+type)}}static getDeviceTypeFromPath(path){if(!["dimmers","switches","thermostats","locks","windowCoverings","courtesy","cameras","mediaSources","motionSensors","alarms"].includes(path))throw new Error("Invalid device path:"+path);switch(path){case"courtesy":return path;case"switches":return"switch";default:return path.slice(0,-1)}}get hasDimmer(){return this.dimmers?.length>0}get hasSwitch(){return this.switches?.length>0}get hasWindowCovering(){return this.windowCoverings?.length>0}get hasShade(){return this.hasWindowCovering}get hasThermostat(){return this.thermostats?.length>0}get hasClimate(){return this.hasThermostat}get hasLock(){return this.locks?.length>0}get hasCourtesy(){return this.courtesy?.length>0}get hasCamera(){return this.cameras?.length>0}get hasMedia(){return this.mediaSources?.length>0}get hasLight(){const hasDiscriminatorLight=this.switches?.some((sw=>"light"===sw.discriminator||"fan"===sw.discriminator));return this.hasDimmer||hasDiscriminatorLight}get hasAlarm(){return this.alarms?.length>0}get occupied(){const now=new Date,lastOccupied=new Date(this.occupiedAt);return now.getTime()-lastOccupied.getTime()<36e5}};Object.defineProperty(Room.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"room.json",title:"Room",description:"A room represents a physical space of controllable IoT devices",type:"object",required:["id","name"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["room"],default:"room"},name:{type:"string"},floor:{type:"string"},dimmers:{type:"array",default:[],items:{$ref:"dimmer.json"}},switches:{type:"array",default:[],items:{$ref:"switch.json"}},thermostats:{type:"array",default:[],items:{$ref:"thermostat.json"}},locks:{type:"array",default:[],items:{$ref:"lock.json"}},windowCoverings:{type:"array",default:[],items:{$ref:"windowCovering.json"}},courtesy:{type:"array",default:[],items:{$ref:"courtesy.json"}},cameras:{type:"array",default:[],items:{$ref:"camera.json"}},mediaSources:{type:"array",default:[],items:{$ref:"mediaSource.json"}},motionSensors:{type:"array",default:[],items:{$ref:"motionSensor.json"}},alarms:{type:"array",default:[],items:{$ref:"alarm.json"}},occupiedAt:{$ref:"definitions.json#/definitions/createdAt"},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"}},additionalProperties:!1}}),Object.defineProperty(Room.prototype,"validator",{get:__name((function(){return validateRoom}),"get")});var Scene=class extends Entity{static{__name(this,"Scene")}constructor(data){super(data),this.id=data.id,this.name=data.name,void 0!==data.description&&(this.description=data.description),this.type=data.type,void 0!==data.devices&&(this.devices=data.devices),void 0!==data.isDefault&&(this.isDefault=data.isDefault),void 0!==data.showOnUi&&(this.showOnUi=data.showOnUi)}};Object.defineProperty(Scene.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"scene.json",title:"Scene",description:"A room represents a physical space of controllable IoT devices",type:"object",required:["id","name","type"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},description:{type:"string"},type:{type:"string",enum:["scene"],default:"scene"},devices:{type:"object",properties:{switches:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},state:{$ref:"switch.json#/properties/state"}},default:[]}},dimmers:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},level:{$ref:"dimmer.json#/properties/level"}}},default:[]},windowCoverings:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},position:{$ref:"windowCovering.json#/properties/position"}}},default:[]},thermostats:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},hvacMode:{$ref:"thermostat.json#/properties/hvacMode"},setpoints:{$ref:"thermostat.json#/properties/setpoints"},fanMode:{$ref:"thermostat.json#/properties/fanMode"},setpointDelta:{type:"number"}}},default:[]},mediaSources:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},volume:{type:"number",minimum:0,maximum:100},commands:{type:"array",items:{type:"string"}}}}},locks:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},state:{$ref:"lock.json#/properties/state"},mode:{$ref:"lock.json#/properties/mode"}}}}},additionalProperties:!1},isDefault:{type:"boolean",default:!1},showOnUi:{type:"boolean",default:!0}}}}),Object.defineProperty(Scene.prototype,"validator",{get:__name((function(){return validateScene}),"get")});var ShortLink=class extends Entity{static{__name(this,"ShortLink")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),void 0!==data.type&&(this.type=data.type),void 0!==data.title&&(this.title=data.title),this.destination=data.destination,this.url=data.url,void 0!==data.systemId&&(this.systemId=data.systemId)}};Object.defineProperty(ShortLink.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"shortLink.json",title:"Short Link",type:"object",required:["destination","url"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"shortLink",enum:["shortLink"]},title:{type:"string"},destination:{type:"string",format:"uri"},url:{type:"string",format:"uri"},systemId:{$ref:"definitions.json#/definitions/systemId"}}}}),Object.defineProperty(ShortLink.prototype,"validator",{get:__name((function(){return validateShortLink}),"get")});var SmsMessage=class extends Entity{static{__name(this,"SmsMessage")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),void 0!==data.type&&(this.type=data.type),this.to=data.to,this.from=data.from,void 0!==data.media&&(this.media=data.media),this.status=data.status,void 0!==data.body&&(this.body=data.body),void 0!==data.driver&&(this.driver=data.driver),void 0!==data.appData&&(this.appData=data.appData),void 0!==data.createdAt&&(this.createdAt=data.createdAt),void 0!==data.updatedAt&&(this.updatedAt=data.updatedAt),void 0!==data.systemId&&(this.systemId=data.systemId)}};Object.defineProperty(SmsMessage.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"smsMessage.json",title:"Sms Message",type:"object",required:["to","from","status"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"smsMessage",enum:["smsMessage","whatsappMessage"]},to:{type:"string"},from:{type:"string"},media:{type:"string",format:"uri"},status:{type:"string",enum:["queued","accepted","sending","sent","failed","delivered","undelivered","receiving","received","read"]},body:{type:"string"},driver:{type:"string"},appData:{type:"object"},createdAt:{$ref:"definitions.json#/definitions/date"},updatedAt:{$ref:"definitions.json#/definitions/date"},systemId:{$ref:"definitions.json#/definitions/systemId"}}}}),Object.defineProperty(SmsMessage.prototype,"validator",{get:__name((function(){return validateSmsMessage}),"get")});var Space=class extends Entity{static{__name(this,"Space")}constructor(data){super(data),this.id=data.id,this.name=data.name,this.type=data.type,void 0!==data.discriminator&&(this.discriminator=data.discriminator),void 0!==data.floor&&(this.floor=data.floor),void 0!==data.driver&&(this.driver=data.driver),void 0!==data.category&&(this.category=data.category),void 0!==data.rooms&&(this.rooms=data.rooms),void 0!==data.occupied&&(this.occupied=data.occupied),void 0!==data.inUse&&(this.inUse=data.inUse),void 0!==data.eco&&(this.eco=data.eco),void 0!==data.features&&(this.features=data.features),void 0!==data.maximumOccupancy&&(this.maximumOccupancy=data.maximumOccupancy),void 0!==data.housekeepingStatus&&(this.housekeepingStatus=data.housekeepingStatus),void 0!==data.serviceStatus&&(this.serviceStatus=data.serviceStatus),void 0!==data.systemId&&(this.systemId=data.systemId)}get hasDimmer(){return this.rooms.some((room=>room.hasDimmer))}get hasSwitch(){return this.rooms.some((room=>room.hasSwitch))}get hasWindowCovering(){return this.rooms.some((room=>room.hasWindowCovering))}get hasThermostat(){return this.rooms.some((room=>room.hasThermostat))}get hasLock(){return this.rooms.some((room=>room.hasLock))}get hasCourtesy(){return this.rooms.some((room=>room.hasCourtesy))}get hasCamera(){return this.rooms.some((room=>room.hasCamera))}get hasAlarm(){return this.rooms.some((room=>room.hasAlarm))}get hasMedia(){return this.rooms.some((room=>room.hasMedia))}};Object.defineProperty(Space.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"space.json",title:"Space",type:"object",required:["id","name","type"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string",minLength:1},type:{type:"string",default:"space",enum:["space"]},discriminator:{type:"string",enum:["classRoom","hotelRoom","office","building","commonArea","conferenceRoom","lobby","gym","pool","restaurant","unit"]},floor:{type:"string"},driver:{$ref:"definitions.json#/definitions/driver"},category:{type:"string",description:"This is the category id"},rooms:{type:"array",items:{type:"string"}},occupied:{type:"boolean"},inUse:{type:"boolean"},eco:{type:"object",additionalProperties:!1,default:{active:!1,allowed:!1,previousState:null},properties:{active:{type:"boolean",default:!1},activatedAt:{type:["string","object"],format:"date-time"},allowed:{type:"boolean",default:!1},previousState:{type:["object","null"],properties:{thermostats:{type:"object",patternProperties:{".*":{type:"object",properties:{setpoints:{$ref:"thermostat.json#/properties/setpoints"}}}}}},additionalProperties:!1}}},features:{type:"array",items:{type:"string",enum:["pet"]}},maximumOccupancy:{type:"number",minimum:1},housekeepingStatus:{type:"string",enum:["clean","dirty","inspected","pickup"]},serviceStatus:{type:"string",enum:["inService","outOfOrder","outOfService"]},systemId:{$ref:"definitions.json#/definitions/systemId"}}}}),Object.defineProperty(Space.prototype,"validator",{get:__name((function(){return validateSpace}),"get")});var Switch=class extends Entity{static{__name(this,"Switch")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),this.type=data.type,void 0!==data.discriminator&&(this.discriminator=data.discriminator),void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),this.driver=data.driver,void 0!==data.offline&&(this.offline=data.offline),this.state=data.state,void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion),void 0!==data.restoresAt&&(this.restoresAt=data.restoresAt)}};Object.defineProperty(Switch.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"switch.json",title:"Switch",description:"Any smart switch",type:"object",required:["id","type","state","driver"],properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},discriminator:{type:"string",enum:["light","fan","irrigation"]},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},state:{type:"string",enum:["on","off"]},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"},restoresAt:{type:"string",format:"date-time"}}}}),Object.defineProperty(Switch.prototype,"validator",{get:__name((function(){return validateSwitch}),"get")});var SystemUser=class extends Entity{static{__name(this,"SystemUser")}constructor(data){super(data),this.id=data.id,void 0!==data.type&&(this.type=data.type),void 0!==data.driver&&(this.driver=data.driver),this.firstName=data.firstName,this.lastName=data.lastName,void 0!==data.phone&&(this.phone=data.phone),void 0!==data.email&&(this.email=data.email),void 0!==data.address&&(this.address=data.address),void 0!==data.photo&&(this.photo=data.photo),void 0!==data.jobTitle&&(this.jobTitle=data.jobTitle),void 0!==data.dob&&(this.dob=data.dob),void 0!==data.gender&&(this.gender=data.gender),void 0!==data.roles&&(this.roles=data.roles),void 0!==data.nationality&&(this.nationality=data.nationality),void 0!==data.notes&&(this.notes=data.notes),void 0!==data.files&&(this.files=data.files),void 0!==data.identifications&&(this.identifications=data.identifications),void 0!==data.payments&&(this.payments=data.payments),void 0!==data.revenue&&(this.revenue=data.revenue),void 0!==data.createdAt&&(this.createdAt=data.createdAt),void 0!==data.updatedAt&&(this.updatedAt=data.updatedAt),void 0!==data.systemId&&(this.systemId=data.systemId)}};Object.defineProperty(SystemUser.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"systemUser.json",title:"System User",description:"A system user is a user that originated from an external 3rd party system.",type:"object",required:["id","firstName","lastName"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"systemUser",enum:["systemUser"]},driver:{$ref:"definitions.json#/definitions/driver"},firstName:{type:"string"},lastName:{type:"string"},phone:{type:["string","null"],pattern:"^\\+[0-9]{1,14}$"},email:{type:["string","null"],format:"email"},address:{$ref:"definitions.json#/definitions/address"},photo:{type:"string"},jobTitle:{type:"string"},dob:{type:"string"},gender:{type:"string",enum:["male","female"]},roles:{type:"array",items:{type:"string",enum:["Guest","User","Manager","Maintenance","Administrator","SuperAdmin"]}},nationality:{type:"string",minLength:2,maxLength:2},notes:{type:"array",items:{type:"string"}},files:{type:"array",items:{$ref:"mediaFile.json#"}},identifications:{type:"array",items:{$ref:"identification.json#"}},payments:{type:"array",items:{$ref:"payment.json#"}},revenue:{$ref:"definitions.json#/definitions/revenue"},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"},systemId:{$ref:"definitions.json#/definitions/systemId"}}}}),Object.defineProperty(SystemUser.prototype,"validator",{get:__name((function(){return validateSystemUser}),"get")});var Thermostat=class extends Entity{static{__name(this,"Thermostat")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),this.type=data.type,this.driver=data.driver,void 0!==data.offline&&(this.offline=data.offline),void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),void 0!==data.currentTemperature&&(this.currentTemperature=data.currentTemperature),void 0!==data.currentHumidity&&(this.currentHumidity=data.currentHumidity),this.hvacMode=data.hvacMode,this.hvacState=data.hvacState,this.fanMode=data.fanMode,this.fanState=data.fanState,this.temperatureScale=data.temperatureScale,void 0!==data.humidityScale&&(this.humidityScale=data.humidityScale),this.supportedHvacModes=data.supportedHvacModes,this.supportedFanModes=data.supportedFanModes,this.setpoints=data.setpoints,void 0!==data.minAutoDelta&&(this.minAutoDelta=data.minAutoDelta),void 0!==data.cycleRate&&(this.cycleRate=data.cycleRate),void 0!==data.batteryLevel&&(this.batteryLevel=data.batteryLevel),void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion)}};Object.defineProperty(Thermostat.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"thermostat.json",title:"Thermostat",description:"Any smart thermostat",type:"object",required:["id","type","hvacMode","fanMode","hvacState","fanState","setpoints","temperatureScale","supportedHvacModes","supportedFanModes","driver"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},name:{$ref:"definitions.json#/definitions/name"},type:{$ref:"definitions.json#/definitions/type",default:"thermostat"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},currentTemperature:{type:"number"},currentHumidity:{type:"number",minimum:0},hvacMode:{type:"string",$ref:"#/properties/supportedHvacModes/items"},hvacState:{type:["string","null"],enum:["cooling","heating","off",null]},fanMode:{type:"string",$ref:"#/properties/supportedFanModes/items"},fanState:{type:["string","null"],enum:["off","low","medium","high","on",null]},temperatureScale:{type:"string",enum:["celsius","fahrenheit"],default:"fahrenheit"},humidityScale:{type:["string","null"],enum:["absolute","relative",null]},supportedHvacModes:{type:"array",uniqueItems:!0,minItems:2,items:{enum:["cool","heat","auto","off"]}},supportedFanModes:{type:"array",uniqueItems:!0,items:{enum:["auto","low","medium","high","off","on"]}},setpoints:{type:"object",additionalProperties:!1,properties:{cool:{$ref:"#/$defs/setpoint"},heat:{$ref:"#/$defs/setpoint"},auto:{$ref:"#/$defs/setpoint"}}},minAutoDelta:{type:"number",default:3},cycleRate:{type:"number"},batteryLevel:{$ref:"definitions.json#/definitions/batteryLevel"},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},$defs:{setpoint:{type:"object",additionalProperties:!1,properties:{value:{$ref:"#/$defs/setpointValue"},min:{$ref:"#/$defs/setpointMinMax"},max:{$ref:"#/$defs/setpointMinMax"}}},setpointValue:{type:"number",minimum:0,maximum:99},setpointMinMax:{type:["number","null"],minimum:0,maximum:99}}}}),Object.defineProperty(Thermostat.prototype,"validator",{get:__name((function(){return validateThermostat}),"get")});var Ticket=class extends Entity{static{__name(this,"Ticket")}constructor(data){super(data),this.id=data.id,void 0!==data.type&&(this.type=data.type),void 0!==data.number&&(this.number=data.number),void 0!==data.issueId&&(this.issueId=data.issueId),this.conversation=data.conversation,void 0!==data.subject&&(this.subject=data.subject),void 0!==data.openedBy&&(this.openedBy=data.openedBy),this.requester=data.requester,void 0!==data.assignedTo&&(this.assignedTo=data.assignedTo),void 0!==data.notify&&(this.notify=data.notify),void 0!==data.collaborators&&(this.collaborators=data.collaborators),void 0!==data.location&&(this.location=data.location),this.status=data.status,void 0!==data.priority&&(this.priority=data.priority),this.tags=data.tags,void 0!==data.department&&(this.department=data.department),void 0!==data.rating&&(this.rating=data.rating),void 0!==data.ratingComment&&(this.ratingComment=data.ratingComment),void 0!==data.tipAmount&&(this.tipAmount=data.tipAmount),void 0!==data.autoCloseAt&&(this.autoCloseAt=data.autoCloseAt),void 0!==data.scheduleDate&&(this.scheduleDate=data.scheduleDate),this.createdAt=data.createdAt,this.updatedAt=data.updatedAt,void 0!==data.solvedAt&&(this.solvedAt=data.solvedAt),void 0!==data.closedAt&&(this.closedAt=data.closedAt)}};Object.defineProperty(Ticket.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"ticket.json",title:"Ticket",description:"A ticket is a request from a user.",type:"object",required:["id","conversation","requester","status","tags","createdAt","updatedAt"],additionalProperties:!1,properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["ticket"],default:"ticket"},number:{type:"string"},issueId:{type:"string"},conversation:{type:"array",default:[],items:{type:"object",additionalProperties:!1,required:["id","discriminator","timestamp","body"],properties:{id:{type:"string"},discriminator:{type:"string",enum:["message","opened","assigned","rated","tipped","scheduled","collaboratorAdded","collaboratorRemoved","statusChanged","priorityChanged","scheduleDateChanged","locationChanged"],default:"message"},userId:{type:"string"},userName:{type:"string"},vendorId:{type:"string"},vendorName:{type:"string"},systemId:{type:"string"},systemName:{type:"string"},timestamp:{$ref:"definitions.json#/definitions/createdAt"},body:{type:"string"},parsedBody:{type:"object",additionalProperties:!1,properties:{text:{type:"string"},mentions:{type:"array",default:[],items:{type:"object",additionalProperties:!1,required:["discriminator","id","index","length","originalText"],properties:{id:{type:"string"},discriminator:{type:"string",enum:["user","vendor","system"]},index:{type:"integer"},length:{type:"integer"},originalText:{type:"string"}}}}}},readBy:{type:"array",default:[],items:{type:"string"}},media:{anyOf:[{$ref:"mediaFile.json"},{type:"null"}]}}}},subject:{type:"string"},openedBy:{type:"object",properties:{userId:{type:"string"},userName:{type:"string"},systemId:{type:"string"},systemName:{type:"string"}}},requester:{type:"object",properties:{systemId:{type:"string"},systemName:{type:"string"},systemPhoto:{anyOf:[{$ref:"mediaFile.json"},{type:"null"},{type:"string"}]},userId:{type:"string"},userName:{type:"string"},userPhoto:{anyOf:[{$ref:"mediaFile.json"},{type:"null"},{type:"string"}]},deviceId:{type:"string"},roomId:{type:"string"},reservationId:{type:"string"},spaceId:{type:"string"},spaceName:{type:"string"}}},assignedTo:{type:"object",properties:{userId:{type:"string"},userName:{type:"string"},userPhoto:{anyOf:[{$ref:"mediaFile.json"},{type:"null"},{type:"string"}]},vendorId:{type:"string"},vendorName:{type:"string"},vendorPhoto:{anyOf:[{$ref:"mediaFile.json"},{type:"null"},{type:"string"}]}}},notify:{type:"array",description:"A list of entities to notify when this ticket is created or resolved.",default:[],items:{type:"object",required:["id","discriminator"],additionalProperties:!1,properties:{id:{type:"string",description:"The ID of the entity to notify."},discriminator:{type:"string",enum:["user"]}}}},collaborators:{type:"array",default:[],items:{type:"object",required:["id","name","discriminator"],additionalProperties:!1,properties:{id:{type:"string"},name:{type:"string"},discriminator:{type:"string",enum:["user","vendor"]}}}},location:{type:"object",required:["discriminator","name"],additionalProperties:!1,properties:{id:{type:"string"},discriminator:{type:"string",enum:["space","room","property","customText"]},name:{type:"string"}}},status:{type:"string",enum:["open","pending","solved","closed"],default:"open"},priority:{type:"string",enum:["low","normal","high"],default:"normal"},tags:{type:"array",default:[],items:{type:"string"}},department:{type:"string"},rating:{type:"number",minimum:0,maximum:5},ratingComment:{type:"string"},tipAmount:{type:"string"},autoCloseAt:{$ref:"definitions.json#/definitions/date"},scheduleDate:{$ref:"definitions.json#/definitions/date"},createdAt:{$ref:"definitions.json#/definitions/date"},updatedAt:{$ref:"definitions.json#/definitions/date"},solvedAt:{$ref:"definitions.json#/definitions/date"},closedAt:{$ref:"definitions.json#/definitions/date"}}}}),Object.defineProperty(Ticket.prototype,"validator",{get:__name((function(){return validateTicket}),"get")});var TimeSheet=class extends Entity{static{__name(this,"TimeSheet")}constructor(data){super(data),void 0!==data.id&&(this.id=data.id),void 0!==data.type&&(this.type=data.type),this.userId=data.userId,this.day=data.day,void 0!==data.locked&&(this.locked=data.locked),void 0!==data.timeEntries&&(this.timeEntries=data.timeEntries)}};Object.defineProperty(TimeSheet.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"timeSheet.json",title:"Time Sheet",type:"object",required:["userId","day"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"timeSheet",enum:["timeSheet"]},userId:{$ref:"definitions.json#/definitions/id"},day:{type:["string","object"],format:"date-time"},locked:{type:"boolean",default:!1,description:"If true, the time sheet is locked and cannot be modified"},timeEntries:{type:"array",default:[],items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},discriminator:{type:"string",enum:["working","driving","meeting","break"]},start:{type:["string","object"],format:"date-time"},end:{type:["string","object"],format:"date-time"},comment:{type:"string"},ticketId:{type:"string"}},required:["start","discriminator"],additionalProperties:!1}}}}}),Object.defineProperty(TimeSheet.prototype,"validator",{get:__name((function(){return validateTimeSheet}),"get")});var User=class extends Entity{static{__name(this,"User")}constructor(data){super(data),this.id=data.id,void 0!==data.type&&(this.type=data.type),this.firstName=data.firstName,this.lastName=data.lastName,void 0!==data.phone&&(this.phone=data.phone),void 0!==data.phoneVerified&&(this.phoneVerified=data.phoneVerified),void 0!==data.email&&(this.email=data.email),void 0!==data.emailVerified&&(this.emailVerified=data.emailVerified),void 0!==data.whatsapp&&(this.whatsapp=data.whatsapp),void 0!==data.whatsappVerified&&(this.whatsappVerified=data.whatsappVerified),void 0!==data.address&&(this.address=data.address),void 0!==data.secretKey&&(this.secretKey=data.secretKey),void 0!==data.photo&&(this.photo=data.photo),void 0!==data.jobTitle&&(this.jobTitle=data.jobTitle),void 0!==data.dob&&(this.dob=data.dob),void 0!==data.gender&&(this.gender=data.gender),void 0!==data.nationality&&(this.nationality=data.nationality),void 0!==data.permissions&&(this.permissions=data.permissions),void 0!==data.preferences&&(this.preferences=data.preferences),void 0!==data.notes&&(this.notes=data.notes),void 0!==data.files&&(this.files=data.files),void 0!==data.identifications&&(this.identifications=data.identifications),void 0!==data.payments&&(this.payments=data.payments),void 0!==data.location&&(this.location=data.location),void 0!==data.reservations&&(this.reservations=data.reservations),void 0!==data.spaceName&&(this.spaceName=data.spaceName),void 0!==data.revenue&&(this.revenue=data.revenue),void 0!==data.createdAt&&(this.createdAt=data.createdAt),void 0!==data.updatedAt&&(this.updatedAt=data.updatedAt),void 0!==data.systems&&(this.systems=data.systems)}get fullName(){return`${this.firstName} ${this.lastName}`}get roles(){const roles=new Set;if(this.permissions)for(const permission of this.permissions)roles.add(permission.role);return Array.from(roles)}get isSuperAdmin(){return this.roles.includes("SuperAdmin")}get isAdmin(){return this.roles.includes("Admin")||this.roles.includes("Administrator")}get isManager(){return this.roles.includes("Manager")}get isUser(){return this.roles.includes("User")}};Object.defineProperty(User.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"user.json",title:"User",type:"object",required:["id","firstName","lastName"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"user"},firstName:{type:"string"},lastName:{type:"string"},phone:{type:["string","null"],pattern:"^\\+[0-9]{1,14}$"},phoneVerified:{type:"boolean"},email:{type:["string","null"],format:"email"},emailVerified:{type:"boolean"},whatsapp:{type:["string","null"],pattern:"^\\+[0-9]{1,14}$"},whatsappVerified:{type:"boolean"},address:{$ref:"definitions.json#/definitions/address"},secretKey:{type:"string"},photo:{$ref:"mediaFile.json#"},jobTitle:{type:"string"},dob:{type:"string"},gender:{type:"string",enum:["male","female"]},nationality:{type:"string",minLength:2,maxLength:2},permissions:{type:"array",default:[],items:{type:"object",required:["organizationId","propertyId","role"],properties:{organizationId:{type:"string",description:"The ID of the organization the permission is applies to."},propertyId:{type:"string",description:"The ID of the property the permission is applies to."},role:{type:"string",enum:["Guest","User","Agent","Manager","Maintenance","Administrator","SuperAdmin"]},timeTrackingEnabled:{type:"boolean",description:"Whether time tracking is enabled for this role."},department:{type:"string",description:"The department the user belongs to."},policyIds:{type:"array",items:{type:"string",description:"ID of a policy that is applied to this role."}},policies:{type:"array",items:{description:"A policy object populated from the policyIds array.",$ref:"policy.json"}}},additionalProperties:!1}},preferences:{type:"array",items:{type:"object",additionalProperties:!1,required:["organizationId","propertyId"],properties:{organizationId:{type:"string"},propertyId:{type:"string"},notifications:{type:"array",items:{type:"object",additionalProperties:!1,required:["discriminator","enabled"],properties:{discriminator:{type:"string",enum:["observerTicketCreated","observerTicketResolved"]},enabled:{type:"boolean"}}}}}}},notes:{type:"array",items:{type:"string"}},files:{type:"array",items:{$ref:"mediaFile.json#"}},identifications:{type:"array",items:{$ref:"identification.json#"}},payments:{type:"array",items:{$ref:"payment.json#"}},location:{type:"object",required:["accuracy","latitude","longitude","timestamp"],additionalProperties:!1,properties:{accuracy:{type:["number","null"]},latitude:{type:["number","null"]},longitude:{type:["number","null"]},timestamp:{type:["number","null"]}}},reservations:{type:"array",items:{$ref:"reservation.json"}},spaceName:{type:"string"},revenue:{$ref:"definitions.json#/definitions/revenue"},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"},systems:{type:"array",default:[],items:{type:"object",properties:{systemId:{type:"string"},propertyId:{type:"string"},driver:{type:"string"}},required:["systemId","propertyId","driver"],additionalProperties:!1}}}}}),Object.defineProperty(User.prototype,"validator",{get:__name((function(){return validateUser}),"get")});var Vendor=class extends Entity{static{__name(this,"Vendor")}constructor(data){super(data),this.id=data.id,void 0!==data.type&&(this.type=data.type),this.name=data.name,void 0!==data.phone&&(this.phone=data.phone),this.email=data.email,void 0!==data.address&&(this.address=data.address),void 0!==data.photo&&(this.photo=data.photo),void 0!==data.createdAt&&(this.createdAt=data.createdAt),void 0!==data.updatedAt&&(this.updatedAt=data.updatedAt)}};Object.defineProperty(Vendor.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"vendor.json",title:"Vendor",type:"object",required:["id","name","email"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"vendor",enum:["vendor"]},name:{type:"string"},phone:{type:["string","null"],pattern:"^\\+[0-9]{1,14}$"},email:{type:["string","null"],format:"email"},address:{$ref:"definitions.json#/definitions/address"},photo:{$ref:"mediaFile.json#"},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"}}}}),Object.defineProperty(Vendor.prototype,"validator",{get:__name((function(){return validateVendor}),"get")});var WindowCovering=class extends Entity{static{__name(this,"WindowCovering")}constructor(data){super(data),this.id=data.id,void 0!==data.name&&(this.name=data.name),this.type=data.type,void 0!==data.discriminator&&(this.discriminator=data.discriminator),void 0!==data.supportedNotifications&&(this.supportedNotifications=data.supportedNotifications),void 0!==data.notification&&(this.notification=data.notification),this.driver=data.driver,void 0!==data.offline&&(this.offline=data.offline),this.position=data.position,void 0!==data.systemId&&(this.systemId=data.systemId),void 0!==data.watts&&(this.watts=data.watts),void 0!==data.icon&&(this.icon=data.icon),void 0!==data.modelNumber&&(this.modelNumber=data.modelNumber),void 0!==data.serialNumber&&(this.serialNumber=data.serialNumber),void 0!==data.firmwareVersion&&(this.firmwareVersion=data.firmwareVersion)}};Object.defineProperty(WindowCovering.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"windowCovering.json",title:"Window Covering",description:"Any smart window covering",required:["id","type","position","driver"],additionalProperties:!1,type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type",default:"windowCovering"},discriminator:{type:"string",enum:["basic","variable"],default:"variable"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},position:{type:["number","null"],minimum:0,maximum:100},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}}}}),Object.defineProperty(WindowCovering.prototype,"validator",{get:__name((function(){return validateWindowCovering}),"get")});var useCases_exports={};__export(useCases_exports,{AssignSpaceToReservationCommand:()=>AssignSpaceToReservationCommand,AutoAssociateDiscoveredDevicesCommand:()=>AutoAssociateDiscoveredDevicesCommand,AutoCloseTicketsCommand:()=>AutoCloseTicketsCommand,BatchNotifyCheckInCommand:()=>BatchNotifyCheckInCommand,BatchNotifyCheckOutCommand:()=>BatchNotifyCheckOutCommand,BatchNotifyMissedCheckOutCommand:()=>BatchNotifyMissedCheckOutCommand,BatchNotifyPreArrivalCommand:()=>BatchNotifyPreArrivalCommand,BulkUpdateIssueCommand:()=>BulkUpdateIssueCommand,CheckInReservationCommand:()=>CheckInReservationCommand,CheckOutReservationCommand:()=>CheckOutReservationCommand,CheckVerificationCodeCommand:()=>CheckVerificationCodeCommand,CreateAlarmCommand:()=>CreateAlarmCommand,CreateAnnouncementCommand:()=>CreateAnnouncementCommand,CreateAutomationCommand:()=>CreateAutomationCommand,CreateCameraCommand:()=>CreateCameraCommand,CreateCategoryCommand:()=>CreateCategoryCommand,CreateCourtesyCommand:()=>CreateCourtesyCommand,CreateDefaultScenesCommand:()=>CreateDefaultScenesCommand,CreateDimmerCommand:()=>CreateDimmerCommand,CreateDiscoveredDeviceAssociationCommand:()=>CreateDiscoveredDeviceAssociationCommand,CreateDiscoveredDeviceAssociationMapCommand:()=>CreateDiscoveredDeviceAssociationMapCommand,CreateDiscoveredDeviceCommand:()=>CreateDiscoveredDeviceCommand,CreateImageUploadEndpointCommand:()=>CreateImageUploadEndpointCommand,CreateIssueCommand:()=>CreateIssueCommand,CreateLockCommand:()=>CreateLockCommand,CreateMediaSourceCommand:()=>CreateMediaSourceCommand,CreateOrganizationCommand:()=>CreateOrganizationCommand,CreatePolicyCommand:()=>CreatePolicyCommand,CreatePropertyCommand:()=>CreatePropertyCommand,CreateReservationCommand:()=>CreateReservationCommand,CreateRoomCommand:()=>CreateRoomCommand,CreateRoomInSpaceCommand:()=>CreateRoomInSpaceCommand,CreateSceneCommand:()=>CreateSceneCommand,CreateSpaceCommand:()=>CreateSpaceCommand,CreateSwitchCommand:()=>CreateSwitchCommand,CreateThermostatCommand:()=>CreateThermostatCommand,CreateTicketCommand:()=>CreateTicketCommand,CreateTicketMessageCommand:()=>CreateTicketMessageCommand,CreateTimeSheetCommand:()=>CreateTimeSheetCommand,CreateTimeSheetTimeEntryCommand:()=>CreateTimeSheetTimeEntryCommand,CreateUserCommand:()=>CreateUserCommand,CreateUserMobileKeyCommand:()=>CreateUserMobileKeyCommand,CreateVendorCommand:()=>CreateVendorCommand,CreateWindowCoveringCommand:()=>CreateWindowCoveringCommand,DeleteAlarmCommand:()=>DeleteAlarmCommand,DeleteAnnouncementCommand:()=>DeleteAnnouncementCommand,DeleteAutomationCommand:()=>DeleteAutomationCommand,DeleteCameraCommand:()=>DeleteCameraCommand,DeleteCategoryCommand:()=>DeleteCategoryCommand,DeleteCourtesyCommand:()=>DeleteCourtesyCommand,DeleteDimmerCommand:()=>DeleteDimmerCommand,DeleteDiscoveredDeviceCommand:()=>DeleteDiscoveredDeviceCommand,DeleteIssueCommand:()=>DeleteIssueCommand,DeleteLockCommand:()=>DeleteLockCommand,DeleteMediaFileCommand:()=>DeleteMediaFileCommand,DeleteMediaSourceCommand:()=>DeleteMediaSourceCommand,DeletePolicyCommand:()=>DeletePolicyCommand,DeleteReservationCommand:()=>DeleteReservationCommand,DeleteRoomCommand:()=>DeleteRoomCommand,DeleteSpaceCommand:()=>DeleteSpaceCommand,DeleteSwitchCommand:()=>DeleteSwitchCommand,DeleteThermostatCommand:()=>DeleteThermostatCommand,DeleteTicketCommand:()=>DeleteTicketCommand,DeleteTimeSheetCommand:()=>DeleteTimeSheetCommand,DeleteTimeSheetTimeEntryCommand:()=>DeleteTimeSheetTimeEntryCommand,DeleteUserCommand:()=>DeleteUserCommand,DeleteUserCredentialCommand:()=>DeleteUserCredentialCommand,DeleteVendorCommand:()=>DeleteVendorCommand,DeleteWindowCoveringCommand:()=>DeleteWindowCoveringCommand,DescribeAlarmCommand:()=>DescribeAlarmCommand,DescribeAlarmConfigCommand:()=>DescribeAlarmConfigCommand,DescribeAnnouncementCommand:()=>DescribeAnnouncementCommand,DescribeAutomationCommand:()=>DescribeAutomationCommand,DescribeCameraCommand:()=>DescribeCameraCommand,DescribeCategoryCommand:()=>DescribeCategoryCommand,DescribeCourtesyCommand:()=>DescribeCourtesyCommand,DescribeDimmerCommand:()=>DescribeDimmerCommand,DescribeDiscoveredDeviceCommand:()=>DescribeDiscoveredDeviceCommand,DescribeIssueCommand:()=>DescribeIssueCommand,DescribeLockCommand:()=>DescribeLockCommand,DescribeLockCredentialCommand:()=>DescribeLockCredentialCommand,DescribeMediaSourceCommand:()=>DescribeMediaSourceCommand,DescribeMyAuthCommand:()=>DescribeMyAuthCommand,DescribeMyMobileKeyAppCommand:()=>DescribeMyMobileKeyAppCommand,DescribeMyOrganizationCommand:()=>DescribeMyOrganizationCommand,DescribeMyPasskeyRegistrationsCommand:()=>DescribeMyPasskeyRegistrationsCommand,DescribeOrganizationCommand:()=>DescribeOrganizationCommand,DescribePolicyCommand:()=>DescribePolicyCommand,DescribeProductCommand:()=>DescribeProductCommand,DescribePropertyCommand:()=>DescribePropertyCommand,DescribeReservationCommand:()=>DescribeReservationCommand,DescribeReservationEarlyCheckInProductsCommand:()=>DescribeReservationEarlyCheckInProductsCommand,DescribeReservationLateCheckOutProductsCommand:()=>DescribeReservationLateCheckOutProductsCommand,DescribeReservationPetProductsCommand:()=>DescribeReservationPetProductsCommand,DescribeReservationPromosCommand:()=>DescribeReservationPromosCommand,DescribeReservationRoomUpgradesCommand:()=>DescribeReservationRoomUpgradesCommand,DescribeRoomCommand:()=>DescribeRoomCommand,DescribeSOSCommand:()=>DescribeSOSCommand,DescribeSelfCommand:()=>DescribeSelfCommand,DescribeSpaceCommand:()=>DescribeSpaceCommand,DescribeSwitchCommand:()=>DescribeSwitchCommand,DescribeThermostatCommand:()=>DescribeThermostatCommand,DescribeTicketCommand:()=>DescribeTicketCommand,DescribeTicketFiltersCommand:()=>DescribeTicketFiltersCommand,DescribeTicketStatsCommand:()=>DescribeTicketStatsCommand,DescribeTimeSheetCommand:()=>DescribeTimeSheetCommand,DescribeTimeSheetStatsCommand:()=>DescribeTimeSheetStatsCommand,DescribeUserCommand:()=>DescribeUserCommand,DescribeVendorCommand:()=>DescribeVendorCommand,DescribeWindowCoveringCommand:()=>DescribeWindowCoveringCommand,DiscoverReservationsCommand:()=>DiscoverReservationsCommand,EmailUserAccountSetupCommand:()=>EmailUserAccountSetupCommand,FinishRegisterPasskeyCommand:()=>FinishRegisterPasskeyCommand,LeaveTicketCommand:()=>LeaveTicketCommand,ListAlarmsCommand:()=>ListAlarmsCommand,ListAnnouncementsCommand:()=>ListAnnouncementsCommand,ListAutomationsCommand:()=>ListAutomationsCommand,ListCameraStreamPreviewsCommand:()=>ListCameraStreamPreviewsCommand,ListCamerasCommand:()=>ListCamerasCommand,ListCategoriesCommand:()=>ListCategoriesCommand,ListCourtesyCommand:()=>ListCourtesyCommand,ListDimmersCommand:()=>ListDimmersCommand,ListDiscoveredDevicesCommand:()=>ListDiscoveredDevicesCommand,ListIssuesCommand:()=>ListIssuesCommand,ListLocksCommand:()=>ListLocksCommand,ListMediaSourcesCommand:()=>ListMediaSourcesCommand,ListMyOrdersCommand:()=>ListMyOrdersCommand,ListMyPropertiesCommand:()=>ListMyPropertiesCommand,ListMyReservationsCommand:()=>ListMyReservationsCommand,ListMySpacesCommand:()=>ListMySpacesCommand,ListMyTicketsCommand:()=>ListMyTicketsCommand,ListMyTimeSheetsCommand:()=>ListMyTimeSheetsCommand,ListOrdersCommand:()=>ListOrdersCommand,ListOrganizationsCommand:()=>ListOrganizationsCommand,ListPoliciesCommand:()=>ListPoliciesCommand,ListProductsCommand:()=>ListProductsCommand,ListPropertiesCommand:()=>ListPropertiesCommand,ListReservationsCommand:()=>ListReservationsCommand,ListRoomsCommand:()=>ListRoomsCommand,ListRoomsInSpaceCommand:()=>ListRoomsInSpaceCommand,ListScenesCommand:()=>ListScenesCommand,ListSpacesCommand:()=>ListSpacesCommand,ListSwitchesCommand:()=>ListSwitchesCommand,ListTeamCommand:()=>ListTeamCommand,ListThermostatsCommand:()=>ListThermostatsCommand,ListTicketLocationsCommand:()=>ListTicketLocationsCommand,ListTicketsCommand:()=>ListTicketsCommand,ListTimeSheetsCommand:()=>ListTimeSheetsCommand,ListUserMobileKeysCommand:()=>ListUserMobileKeysCommand,ListUserOrdersCommand:()=>ListUserOrdersCommand,ListUserReservationsCommand:()=>ListUserReservationsCommand,ListUserSpacesCommand:()=>ListUserSpacesCommand,ListUsersCommand:()=>ListUsersCommand,ListVendorsCommand:()=>ListVendorsCommand,ListWindowCoveringsCommand:()=>ListWindowCoveringsCommand,LoginFinishCommand:()=>LoginFinishCommand,LoginStartCommand:()=>LoginStartCommand,LogoutSelfCommand:()=>LogoutSelfCommand,LogoutUserCommand:()=>LogoutUserCommand,MatchUserIdentificationCommand:()=>MatchUserIdentificationCommand,OCRDocumentCommand:()=>OCRDocumentCommand,PurchaseReservationEarlyCheckInProductsCommand:()=>PurchaseReservationEarlyCheckInProductsCommand,PurchaseReservationLateCheckOutProductsCommand:()=>PurchaseReservationLateCheckOutProductsCommand,PurchaseReservationPetProductsCommand:()=>PurchaseReservationPetProductsCommand,PurchaseReservationPromosCommand:()=>PurchaseReservationPromosCommand,PurchaseReservationRoomUpgradesCommand:()=>PurchaseReservationRoomUpgradesCommand,RefreshTokenCommand:()=>RefreshTokenCommand,RequestLoginTokenCommand:()=>RequestLoginTokenCommand,SendCheckInSMSCommand:()=>SendCheckInSMSCommand,SendCheckOutSMSCommand:()=>SendCheckOutSMSCommand,SendPreArrivalEmailCommand:()=>SendPreArrivalEmailCommand,SendPreArrivalSMSCommand:()=>SendPreArrivalSMSCommand,SendRoomControlSMSCommand:()=>SendRoomControlSMSCommand,SendVerificationCodeCommand:()=>SendVerificationCodeCommand,SetAlarmCommand:()=>SetAlarmCommand,SetCameraCommand:()=>SetCameraCommand,SetCourtesyCommand:()=>SetCourtesyCommand,SetDimmerCommand:()=>SetDimmerCommand,SetLockCommand:()=>SetLockCommand,SetMediaSourceCommand:()=>SetMediaSourceCommand,SetRoomSceneCommand:()=>SetRoomSceneCommand,SetSceneCommand:()=>SetSceneCommand,SetSpaceSceneCommand:()=>SetSpaceSceneCommand,SetSwitchCommand:()=>SetSwitchCommand,SetThermostatCommand:()=>SetThermostatCommand,SetWindowCoveringCommand:()=>SetWindowCoveringCommand,StartRegisterPasskeyCommand:()=>StartRegisterPasskeyCommand,StartSOSCommand:()=>StartSOSCommand,StopSOSCommand:()=>StopSOSCommand,TipUserCommand:()=>TipUserCommand,UpdateAlarmCommand:()=>UpdateAlarmCommand,UpdateAnnouncementCommand:()=>UpdateAnnouncementCommand,UpdateAutomationCommand:()=>UpdateAutomationCommand,UpdateCameraCommand:()=>UpdateCameraCommand,UpdateCategoryCommand:()=>UpdateCategoryCommand,UpdateCourtesyCommand:()=>UpdateCourtesyCommand,UpdateDimmerCommand:()=>UpdateDimmerCommand,UpdateDiscoveredDeviceCommand:()=>UpdateDiscoveredDeviceCommand,UpdateIssueCommand:()=>UpdateIssueCommand,UpdateLockCommand:()=>UpdateLockCommand,UpdateMediaSourceCommand:()=>UpdateMediaSourceCommand,UpdateMessageReadStatusCommand:()=>UpdateMessageReadStatusCommand,UpdateOrganizationCommand:()=>UpdateOrganizationCommand,UpdatePolicyCommand:()=>UpdatePolicyCommand,UpdatePropertyCommand:()=>UpdatePropertyCommand,UpdatePropertySettingsCommand:()=>UpdatePropertySettingsCommand,UpdateReservationCommand:()=>UpdateReservationCommand,UpdateReservationExpectedArrivalTimeCommand:()=>UpdateReservationExpectedArrivalTimeCommand,UpdateRoomCommand:()=>UpdateRoomCommand,UpdateSelfCommand:()=>UpdateSelfCommand,UpdateSpaceCommand:()=>UpdateSpaceCommand,UpdateSwitchCommand:()=>UpdateSwitchCommand,UpdateThermostatCommand:()=>UpdateThermostatCommand,UpdateTicketCommand:()=>UpdateTicketCommand,UpdateTicketStatusCommand:()=>UpdateTicketStatusCommand,UpdateTimeSheetCommand:()=>UpdateTimeSheetCommand,UpdateTimeSheetTimeEntryCommand:()=>UpdateTimeSheetTimeEntryCommand,UpdateUserCommand:()=>UpdateUserCommand,UpdateVendorCommand:()=>UpdateVendorCommand,UpdateWindowCoveringCommand:()=>UpdateWindowCoveringCommand,UploadImageCommand:()=>UploadImageCommand,UpsertDiscoveredDeviceCommand:()=>UpsertDiscoveredDeviceCommand});var AssignSpaceToReservationCommand=class _AssignSpaceToReservationCommand{static{__name(this,"AssignSpaceToReservationCommand")}constructor(commandConfig,options={}){const pathParams=_AssignSpaceToReservationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_AssignSpaceToReservationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_AssignSpaceToReservationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/space";static method="post"},AutoAssociateDiscoveredDevicesCommand=class _AutoAssociateDiscoveredDevicesCommand{static{__name(this,"AutoAssociateDiscoveredDevicesCommand")}constructor(commandConfig,options={}){const pathParams=_AutoAssociateDiscoveredDevicesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_AutoAssociateDiscoveredDevicesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_AutoAssociateDiscoveredDevicesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/discoveredDevices/autoAssociate";static method="post"},AutoCloseTicketsCommand=class _AutoCloseTicketsCommand{static{__name(this,"AutoCloseTicketsCommand")}constructor(commandConfig,options={}){const pathParams=_AutoCloseTicketsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_AutoCloseTicketsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_AutoCloseTicketsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/tickets/autoClose";static method="post"},BatchNotifyCheckInCommand=class _BatchNotifyCheckInCommand{static{__name(this,"BatchNotifyCheckInCommand")}constructor(commandConfig,options={}){const pathParams=_BatchNotifyCheckInCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_BatchNotifyCheckInCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_BatchNotifyCheckInCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/reservations/batchNotifyCheckIn";static method="post"},BatchNotifyCheckOutCommand=class _BatchNotifyCheckOutCommand{static{__name(this,"BatchNotifyCheckOutCommand")}constructor(commandConfig,options={}){const pathParams=_BatchNotifyCheckOutCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_BatchNotifyCheckOutCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_BatchNotifyCheckOutCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/reservations/batchNotifyCheckIn";static method="post"},BatchNotifyMissedCheckOutCommand=class _BatchNotifyMissedCheckOutCommand{static{__name(this,"BatchNotifyMissedCheckOutCommand")}constructor(commandConfig,options={}){const pathParams=_BatchNotifyMissedCheckOutCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_BatchNotifyMissedCheckOutCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_BatchNotifyMissedCheckOutCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/reservations/batchNotifyMissedCheckOut";static method="post"},BatchNotifyPreArrivalCommand=class _BatchNotifyPreArrivalCommand{static{__name(this,"BatchNotifyPreArrivalCommand")}constructor(commandConfig,options={}){const pathParams=_BatchNotifyPreArrivalCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_BatchNotifyPreArrivalCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_BatchNotifyPreArrivalCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/reservations/batchNotifyPreArrival";static method="post"},BulkUpdateIssueCommand=class _BulkUpdateIssueCommand{static{__name(this,"BulkUpdateIssueCommand")}constructor(commandConfig,options={}){const pathParams=_BulkUpdateIssueCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_BulkUpdateIssueCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_BulkUpdateIssueCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/issues";static method="put"},CheckInReservationCommand=class _CheckInReservationCommand{static{__name(this,"CheckInReservationCommand")}constructor(commandConfig,options={}){const pathParams=_CheckInReservationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CheckInReservationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CheckInReservationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/checkin";static method="post"},CheckOutReservationCommand=class _CheckOutReservationCommand{static{__name(this,"CheckOutReservationCommand")}constructor(commandConfig,options={}){const pathParams=_CheckOutReservationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CheckOutReservationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CheckOutReservationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/checkout";static method="post"},CheckVerificationCodeCommand=class _CheckVerificationCodeCommand{static{__name(this,"CheckVerificationCodeCommand")}constructor(commandConfig,options={}){const pathParams=_CheckVerificationCodeCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CheckVerificationCodeCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CheckVerificationCodeCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/users/:id/checkVerificationCode";static method="post"},CreateAlarmCommand=class _CreateAlarmCommand{static{__name(this,"CreateAlarmCommand")}constructor(commandConfig,options={}){const pathParams=_CreateAlarmCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateAlarmCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateAlarmCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/alarms";static method="post"},CreateAnnouncementCommand=class _CreateAnnouncementCommand{static{__name(this,"CreateAnnouncementCommand")}constructor(commandConfig,options={}){const pathParams=_CreateAnnouncementCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateAnnouncementCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateAnnouncementCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/announcements";static method="post"},CreateAutomationCommand=class _CreateAutomationCommand{static{__name(this,"CreateAutomationCommand")}constructor(commandConfig,options={}){const pathParams=_CreateAutomationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateAutomationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateAutomationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/automations";static method="post"},CreateCameraCommand=class _CreateCameraCommand{static{__name(this,"CreateCameraCommand")}constructor(commandConfig,options={}){const pathParams=_CreateCameraCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateCameraCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateCameraCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/cameras";static method="post"},CreateCategoryCommand=class _CreateCategoryCommand{static{__name(this,"CreateCategoryCommand")}constructor(commandConfig,options={}){const pathParams=_CreateCategoryCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateCategoryCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateCategoryCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/categories";static method="post"},CreateCourtesyCommand=class _CreateCourtesyCommand{static{__name(this,"CreateCourtesyCommand")}constructor(commandConfig,options={}){const pathParams=_CreateCourtesyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateCourtesyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateCourtesyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/courtesy";static method="post"},CreateDefaultScenesCommand=class _CreateDefaultScenesCommand{static{__name(this,"CreateDefaultScenesCommand")}constructor(commandConfig,options={}){const pathParams=_CreateDefaultScenesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateDefaultScenesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateDefaultScenesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/scenes/default";static method="post"},CreateDimmerCommand=class _CreateDimmerCommand{static{__name(this,"CreateDimmerCommand")}constructor(commandConfig,options={}){const pathParams=_CreateDimmerCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateDimmerCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateDimmerCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/dimmers";static method="post"},CreateDiscoveredDeviceCommand=class _CreateDiscoveredDeviceCommand{static{__name(this,"CreateDiscoveredDeviceCommand")}constructor(commandConfig,options={}){const pathParams=_CreateDiscoveredDeviceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateDiscoveredDeviceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateDiscoveredDeviceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/discoveredDevices";static method="post"},CreateDiscoveredDeviceAssociationCommand=class _CreateDiscoveredDeviceAssociationCommand{static{__name(this,"CreateDiscoveredDeviceAssociationCommand")}constructor(commandConfig,options={}){const pathParams=_CreateDiscoveredDeviceAssociationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateDiscoveredDeviceAssociationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateDiscoveredDeviceAssociationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/discoveredDevices/:id/associate";static method="post"},CreateDiscoveredDeviceAssociationMapCommand=class _CreateDiscoveredDeviceAssociationMapCommand{static{__name(this,"CreateDiscoveredDeviceAssociationMapCommand")}constructor(commandConfig,options={}){const pathParams=_CreateDiscoveredDeviceAssociationMapCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateDiscoveredDeviceAssociationMapCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateDiscoveredDeviceAssociationMapCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/discoveredDevices/associationMap";static method="get"},CreateImageUploadEndpointCommand=class _CreateImageUploadEndpointCommand{static{__name(this,"CreateImageUploadEndpointCommand")}constructor(commandConfig,options={}){const pathParams=_CreateImageUploadEndpointCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateImageUploadEndpointCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateImageUploadEndpointCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/mediaFiles/imageUploadEndpoint";static method="post"},CreateIssueCommand=class _CreateIssueCommand{static{__name(this,"CreateIssueCommand")}constructor(commandConfig,options={}){const pathParams=_CreateIssueCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateIssueCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateIssueCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/issues";static method="post"},CreateLockCommand=class _CreateLockCommand{static{__name(this,"CreateLockCommand")}constructor(commandConfig,options={}){const pathParams=_CreateLockCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateLockCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateLockCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/locks";static method="post"},CreateMediaSourceCommand=class _CreateMediaSourceCommand{static{__name(this,"CreateMediaSourceCommand")}constructor(commandConfig,options={}){const pathParams=_CreateMediaSourceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateMediaSourceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateMediaSourceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/mediaSources";static method="post"},CreateOrganizationCommand=class _CreateOrganizationCommand{static{__name(this,"CreateOrganizationCommand")}constructor(commandConfig,options={}){const pathParams=_CreateOrganizationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateOrganizationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateOrganizationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/organizations";static method="post"},CreatePolicyCommand=class _CreatePolicyCommand{static{__name(this,"CreatePolicyCommand")}constructor(commandConfig,options={}){const pathParams=_CreatePolicyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreatePolicyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreatePolicyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/policies";static method="post"},CreatePropertyCommand=class _CreatePropertyCommand{static{__name(this,"CreatePropertyCommand")}constructor(commandConfig,options={}){const pathParams=_CreatePropertyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreatePropertyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreatePropertyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/properties";static method="post"},CreateReservationCommand=class _CreateReservationCommand{static{__name(this,"CreateReservationCommand")}constructor(commandConfig,options={}){const pathParams=_CreateReservationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateReservationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateReservationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/reservations";static method="post"},CreateRoomCommand=class _CreateRoomCommand{static{__name(this,"CreateRoomCommand")}constructor(commandConfig,options={}){const pathParams=_CreateRoomCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateRoomCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateRoomCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/rooms";static method="post"},CreateRoomInSpaceCommand=class _CreateRoomInSpaceCommand{static{__name(this,"CreateRoomInSpaceCommand")}constructor(commandConfig,options={}){const pathParams=_CreateRoomInSpaceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateRoomInSpaceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateRoomInSpaceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/spaces/:id/rooms";static method="post"},CreateSceneCommand=class _CreateSceneCommand{static{__name(this,"CreateSceneCommand")}constructor(commandConfig,options={}){const pathParams=_CreateSceneCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateSceneCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateSceneCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/scenes";static method="post"},CreateSpaceCommand=class _CreateSpaceCommand{static{__name(this,"CreateSpaceCommand")}constructor(commandConfig,options={}){const pathParams=_CreateSpaceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateSpaceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateSpaceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/spaces";static method="post"},CreateSwitchCommand=class _CreateSwitchCommand{static{__name(this,"CreateSwitchCommand")}constructor(commandConfig,options={}){const pathParams=_CreateSwitchCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateSwitchCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateSwitchCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/switches";static method="post"},CreateThermostatCommand=class _CreateThermostatCommand{static{__name(this,"CreateThermostatCommand")}constructor(commandConfig,options={}){const pathParams=_CreateThermostatCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateThermostatCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateThermostatCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/thermostats";static method="post"},CreateTicketCommand=class _CreateTicketCommand{static{__name(this,"CreateTicketCommand")}constructor(commandConfig,options={}){const pathParams=_CreateTicketCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateTicketCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateTicketCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/tickets";static method="post"},CreateTicketMessageCommand=class _CreateTicketMessageCommand{static{__name(this,"CreateTicketMessageCommand")}constructor(commandConfig,options={}){const pathParams=_CreateTicketMessageCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateTicketMessageCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateTicketMessageCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/tickets/:id/messages";static method="post"},CreateTimeSheetCommand=class _CreateTimeSheetCommand{static{__name(this,"CreateTimeSheetCommand")}constructor(commandConfig,options={}){const pathParams=_CreateTimeSheetCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateTimeSheetCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateTimeSheetCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/timesheets";static method="post"},CreateTimeSheetTimeEntryCommand=class _CreateTimeSheetTimeEntryCommand{static{__name(this,"CreateTimeSheetTimeEntryCommand")}constructor(commandConfig,options={}){const pathParams=_CreateTimeSheetTimeEntryCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateTimeSheetTimeEntryCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateTimeSheetTimeEntryCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["timeSheetId"];static url="/timesheets/:timeSheetId/timeEntries";static method="post"},CreateUserCommand=class _CreateUserCommand{static{__name(this,"CreateUserCommand")}constructor(commandConfig,options={}){const pathParams=_CreateUserCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateUserCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateUserCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/users";static method="post"},CreateUserMobileKeyCommand=class _CreateUserMobileKeyCommand{static{__name(this,"CreateUserMobileKeyCommand")}constructor(commandConfig,options={}){const pathParams=_CreateUserMobileKeyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateUserMobileKeyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateUserMobileKeyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/users/:id/mobileKeys";static method="post"},CreateVendorCommand=class _CreateVendorCommand{static{__name(this,"CreateVendorCommand")}constructor(commandConfig,options={}){const pathParams=_CreateVendorCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateVendorCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateVendorCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/vendors";static method="post"},CreateWindowCoveringCommand=class _CreateWindowCoveringCommand{static{__name(this,"CreateWindowCoveringCommand")}constructor(commandConfig,options={}){const pathParams=_CreateWindowCoveringCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_CreateWindowCoveringCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_CreateWindowCoveringCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/windowCoverings";static method="post"},DeleteAlarmCommand=class _DeleteAlarmCommand{static{__name(this,"DeleteAlarmCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteAlarmCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteAlarmCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteAlarmCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/alarms/:id";static method="delete"},DeleteAnnouncementCommand=class _DeleteAnnouncementCommand{static{__name(this,"DeleteAnnouncementCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteAnnouncementCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteAnnouncementCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteAnnouncementCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/announcements/:id";static method="delete"},DeleteAutomationCommand=class _DeleteAutomationCommand{static{__name(this,"DeleteAutomationCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteAutomationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteAutomationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteAutomationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/automations/:id";static method="delete"},DeleteCameraCommand=class _DeleteCameraCommand{static{__name(this,"DeleteCameraCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteCameraCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteCameraCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteCameraCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/cameras/:id";static method="delete"},DeleteCategoryCommand=class _DeleteCategoryCommand{static{__name(this,"DeleteCategoryCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteCategoryCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteCategoryCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteCategoryCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/categories/:id";static method="delete"},DeleteCourtesyCommand=class _DeleteCourtesyCommand{static{__name(this,"DeleteCourtesyCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteCourtesyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteCourtesyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteCourtesyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/courtesy/:id";static method="delete"},DeleteDimmerCommand=class _DeleteDimmerCommand{static{__name(this,"DeleteDimmerCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteDimmerCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteDimmerCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteDimmerCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/dimmers/:id";static method="delete"},DeleteDiscoveredDeviceCommand=class _DeleteDiscoveredDeviceCommand{static{__name(this,"DeleteDiscoveredDeviceCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteDiscoveredDeviceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteDiscoveredDeviceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteDiscoveredDeviceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/discoveredDevices/:id";static method="delete"},DeleteIssueCommand=class _DeleteIssueCommand{static{__name(this,"DeleteIssueCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteIssueCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteIssueCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteIssueCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/issues/:id";static method="delete"},DeleteLockCommand=class _DeleteLockCommand{static{__name(this,"DeleteLockCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteLockCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteLockCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteLockCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/locks/:id";static method="delete"},DeleteMediaFileCommand=class _DeleteMediaFileCommand{static{__name(this,"DeleteMediaFileCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteMediaFileCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteMediaFileCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteMediaFileCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/mediaFiles/:id";static method="delete"},DeleteMediaSourceCommand=class _DeleteMediaSourceCommand{static{__name(this,"DeleteMediaSourceCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteMediaSourceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteMediaSourceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteMediaSourceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/mediaSources/:id";static method="delete"},DeletePolicyCommand=class _DeletePolicyCommand{static{__name(this,"DeletePolicyCommand")}constructor(commandConfig,options={}){const pathParams=_DeletePolicyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeletePolicyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeletePolicyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/policies/:id";static method="delete"},DeleteReservationCommand=class _DeleteReservationCommand{static{__name(this,"DeleteReservationCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteReservationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteReservationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteReservationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id";static method="delete"},DeleteRoomCommand=class _DeleteRoomCommand{static{__name(this,"DeleteRoomCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteRoomCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteRoomCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteRoomCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/rooms/:id";static method="delete"},DeleteSpaceCommand=class _DeleteSpaceCommand{static{__name(this,"DeleteSpaceCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteSpaceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteSpaceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteSpaceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/spaces/:id";static method="delete"},DeleteSwitchCommand=class _DeleteSwitchCommand{static{__name(this,"DeleteSwitchCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteSwitchCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteSwitchCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteSwitchCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/switches/:id";static method="delete"},DeleteThermostatCommand=class _DeleteThermostatCommand{static{__name(this,"DeleteThermostatCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteThermostatCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteThermostatCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteThermostatCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/thermostats/:id";static method="delete"},DeleteTicketCommand=class _DeleteTicketCommand{static{__name(this,"DeleteTicketCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteTicketCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteTicketCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteTicketCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/tickets/:id";static method="delete"},DeleteTimeSheetCommand=class _DeleteTimeSheetCommand{static{__name(this,"DeleteTimeSheetCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteTimeSheetCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteTimeSheetCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteTimeSheetCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/timesheets/:id";static method="delete"},DeleteTimeSheetTimeEntryCommand=class _DeleteTimeSheetTimeEntryCommand{static{__name(this,"DeleteTimeSheetTimeEntryCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteTimeSheetTimeEntryCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteTimeSheetTimeEntryCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteTimeSheetTimeEntryCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["timeSheetId","id"];static url="/timesheets/:timeSheetId/timeEntries/:id";static method="delete"},DeleteUserCommand=class _DeleteUserCommand{static{__name(this,"DeleteUserCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteUserCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteUserCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteUserCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/users/:id";static method="delete"},DeleteUserCredentialCommand=class _DeleteUserCredentialCommand{static{__name(this,"DeleteUserCredentialCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteUserCredentialCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteUserCredentialCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteUserCredentialCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/users/me/accessCredentials/:id";static method="delete"},DeleteVendorCommand=class _DeleteVendorCommand{static{__name(this,"DeleteVendorCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteVendorCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteVendorCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteVendorCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/vendors/:id";static method="delete"},DeleteWindowCoveringCommand=class _DeleteWindowCoveringCommand{static{__name(this,"DeleteWindowCoveringCommand")}constructor(commandConfig,options={}){const pathParams=_DeleteWindowCoveringCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DeleteWindowCoveringCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DeleteWindowCoveringCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/windowCoverings/:id";static method="delete"},DescribeAlarmCommand=class _DescribeAlarmCommand{static{__name(this,"DescribeAlarmCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeAlarmCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeAlarmCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeAlarmCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/alarms/:id";static method="get"},DescribeAlarmConfigCommand=class _DescribeAlarmConfigCommand{static{__name(this,"DescribeAlarmConfigCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeAlarmConfigCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeAlarmConfigCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeAlarmConfigCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/alarms/:id/config";static method="get"},DescribeAnnouncementCommand=class _DescribeAnnouncementCommand{static{__name(this,"DescribeAnnouncementCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeAnnouncementCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeAnnouncementCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeAnnouncementCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/announcements/:id";static method="get"},DescribeAutomationCommand=class _DescribeAutomationCommand{static{__name(this,"DescribeAutomationCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeAutomationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeAutomationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeAutomationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/automations/:id";static method="get"},DescribeCameraCommand=class _DescribeCameraCommand{static{__name(this,"DescribeCameraCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeCameraCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeCameraCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeCameraCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/cameras/:id";static method="get"},DescribeCategoryCommand=class _DescribeCategoryCommand{static{__name(this,"DescribeCategoryCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeCategoryCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeCategoryCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeCategoryCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/categories/:id";static method="get"},DescribeCourtesyCommand=class _DescribeCourtesyCommand{static{__name(this,"DescribeCourtesyCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeCourtesyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeCourtesyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeCourtesyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/courtesy/:id";static method="get"},DescribeDimmerCommand=class _DescribeDimmerCommand{static{__name(this,"DescribeDimmerCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeDimmerCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeDimmerCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeDimmerCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/dimmers/:id";static method="get"},DescribeDiscoveredDeviceCommand=class _DescribeDiscoveredDeviceCommand{static{__name(this,"DescribeDiscoveredDeviceCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeDiscoveredDeviceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeDiscoveredDeviceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeDiscoveredDeviceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/discoveredDevices/:id";static method="get"},DescribeIssueCommand=class _DescribeIssueCommand{static{__name(this,"DescribeIssueCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeIssueCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeIssueCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeIssueCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/issues/:id";static method="get"},DescribeLockCommand=class _DescribeLockCommand{static{__name(this,"DescribeLockCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeLockCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeLockCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeLockCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/locks/:id";static method="get"},DescribeLockCredentialCommand=class _DescribeLockCredentialCommand{static{__name(this,"DescribeLockCredentialCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeLockCredentialCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeLockCredentialCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeLockCredentialCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/locks/:id/credential";static method="post"},DescribeMediaSourceCommand=class _DescribeMediaSourceCommand{static{__name(this,"DescribeMediaSourceCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeMediaSourceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeMediaSourceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeMediaSourceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/mediaSources/:id";static method="get"},DescribeMyAuthCommand=class _DescribeMyAuthCommand{static{__name(this,"DescribeMyAuthCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeMyAuthCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeMyAuthCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeMyAuthCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/auth/me";static method="get"},DescribeMyMobileKeyAppCommand=class _DescribeMyMobileKeyAppCommand{static{__name(this,"DescribeMyMobileKeyAppCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeMyMobileKeyAppCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeMyMobileKeyAppCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeMyMobileKeyAppCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/users/me/accessCredentials";static method="get"},DescribeMyOrganizationCommand=class _DescribeMyOrganizationCommand{static{__name(this,"DescribeMyOrganizationCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeMyOrganizationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeMyOrganizationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeMyOrganizationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/organizations/mine";static method="get"},DescribeMyPasskeyRegistrationsCommand=class _DescribeMyPasskeyRegistrationsCommand{static{__name(this,"DescribeMyPasskeyRegistrationsCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeMyPasskeyRegistrationsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeMyPasskeyRegistrationsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeMyPasskeyRegistrationsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/users/me/passkeyRegistrations";static method="get"},DescribeOrganizationCommand=class _DescribeOrganizationCommand{static{__name(this,"DescribeOrganizationCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeOrganizationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeOrganizationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeOrganizationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/organizations/:id";static method="get"},DescribePolicyCommand=class _DescribePolicyCommand{static{__name(this,"DescribePolicyCommand")}constructor(commandConfig,options={}){const pathParams=_DescribePolicyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribePolicyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribePolicyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/policies/:id";static method="get"},DescribeProductCommand=class _DescribeProductCommand{static{__name(this,"DescribeProductCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeProductCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeProductCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeProductCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/products/:id";static method="get"},DescribePropertyCommand=class _DescribePropertyCommand{static{__name(this,"DescribePropertyCommand")}constructor(commandConfig,options={}){const pathParams=_DescribePropertyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribePropertyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribePropertyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/properties/:id";static method="get"},DescribeReservationCommand=class _DescribeReservationCommand{static{__name(this,"DescribeReservationCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeReservationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeReservationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeReservationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id";static method="get"},DescribeReservationEarlyCheckInProductsCommand=class _DescribeReservationEarlyCheckInProductsCommand{static{__name(this,"DescribeReservationEarlyCheckInProductsCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeReservationEarlyCheckInProductsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeReservationEarlyCheckInProductsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeReservationEarlyCheckInProductsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/products/earlyCheckIn";static method="get"},DescribeReservationLateCheckOutProductsCommand=class _DescribeReservationLateCheckOutProductsCommand{static{__name(this,"DescribeReservationLateCheckOutProductsCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeReservationLateCheckOutProductsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeReservationLateCheckOutProductsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeReservationLateCheckOutProductsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/products/lateCheckOut";static method="get"},DescribeReservationPetProductsCommand=class _DescribeReservationPetProductsCommand{static{__name(this,"DescribeReservationPetProductsCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeReservationPetProductsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeReservationPetProductsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeReservationPetProductsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/products/pet";static method="get"},DescribeReservationPromosCommand=class _DescribeReservationPromosCommand{static{__name(this,"DescribeReservationPromosCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeReservationPromosCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeReservationPromosCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeReservationPromosCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/products/promo";static method="get"},DescribeReservationRoomUpgradesCommand=class _DescribeReservationRoomUpgradesCommand{static{__name(this,"DescribeReservationRoomUpgradesCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeReservationRoomUpgradesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeReservationRoomUpgradesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeReservationRoomUpgradesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/products/roomUpgrades";static method="get"},DescribeRoomCommand=class _DescribeRoomCommand{static{__name(this,"DescribeRoomCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeRoomCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeRoomCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeRoomCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/rooms/:id";static method="get"},DescribeSOSCommand=class _DescribeSOSCommand{static{__name(this,"DescribeSOSCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeSOSCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeSOSCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeSOSCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/sos";static method="get"},DescribeSelfCommand=class _DescribeSelfCommand{static{__name(this,"DescribeSelfCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeSelfCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeSelfCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeSelfCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/users/me";static method="get"},DescribeSpaceCommand=class _DescribeSpaceCommand{static{__name(this,"DescribeSpaceCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeSpaceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeSpaceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeSpaceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/spaces/:id";static method="get"},DescribeSwitchCommand=class _DescribeSwitchCommand{static{__name(this,"DescribeSwitchCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeSwitchCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeSwitchCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeSwitchCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/switches/:id";static method="get"},DescribeThermostatCommand=class _DescribeThermostatCommand{static{__name(this,"DescribeThermostatCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeThermostatCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeThermostatCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeThermostatCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/thermostats/:id";static method="get"},DescribeTicketCommand=class _DescribeTicketCommand{static{__name(this,"DescribeTicketCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeTicketCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeTicketCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeTicketCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/tickets/:id";static method="get"},DescribeTicketFiltersCommand=class _DescribeTicketFiltersCommand{static{__name(this,"DescribeTicketFiltersCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeTicketFiltersCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeTicketFiltersCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeTicketFiltersCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/tickets/filters";static method="get"},DescribeTicketStatsCommand=class _DescribeTicketStatsCommand{static{__name(this,"DescribeTicketStatsCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeTicketStatsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeTicketStatsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeTicketStatsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/tickets/stats";static method="get"},DescribeTimeSheetCommand=class _DescribeTimeSheetCommand{static{__name(this,"DescribeTimeSheetCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeTimeSheetCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeTimeSheetCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeTimeSheetCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/timesheets/:id";static method="get"},DescribeTimeSheetStatsCommand=class _DescribeTimeSheetStatsCommand{static{__name(this,"DescribeTimeSheetStatsCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeTimeSheetStatsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeTimeSheetStatsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeTimeSheetStatsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/timesheets/stats";static method="get"},DescribeUserCommand=class _DescribeUserCommand{static{__name(this,"DescribeUserCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeUserCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeUserCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeUserCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/users/:id";static method="get"},DescribeVendorCommand=class _DescribeVendorCommand{static{__name(this,"DescribeVendorCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeVendorCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeVendorCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeVendorCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/vendors/:id";static method="get"},DescribeWindowCoveringCommand=class _DescribeWindowCoveringCommand{static{__name(this,"DescribeWindowCoveringCommand")}constructor(commandConfig,options={}){const pathParams=_DescribeWindowCoveringCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DescribeWindowCoveringCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DescribeWindowCoveringCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/windowCoverings/:id";static method="get"},DiscoverReservationsCommand=class _DiscoverReservationsCommand{static{__name(this,"DiscoverReservationsCommand")}constructor(commandConfig,options={}){const pathParams=_DiscoverReservationsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_DiscoverReservationsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_DiscoverReservationsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/reservations/discover";static method="get"},EmailUserAccountSetupCommand=class _EmailUserAccountSetupCommand{static{__name(this,"EmailUserAccountSetupCommand")}constructor(commandConfig,options={}){const pathParams=_EmailUserAccountSetupCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_EmailUserAccountSetupCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_EmailUserAccountSetupCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/users/:id/email/setup";static method="post"},FinishRegisterPasskeyCommand=class _FinishRegisterPasskeyCommand{static{__name(this,"FinishRegisterPasskeyCommand")}constructor(commandConfig,options={}){const pathParams=_FinishRegisterPasskeyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_FinishRegisterPasskeyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_FinishRegisterPasskeyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/auth/registerPasskey/finish";static method="post"},LeaveTicketCommand=class _LeaveTicketCommand{static{__name(this,"LeaveTicketCommand")}constructor(commandConfig,options={}){const pathParams=_LeaveTicketCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_LeaveTicketCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_LeaveTicketCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/tickets/:id/leave";static method="post"},ListAlarmsCommand=class _ListAlarmsCommand{static{__name(this,"ListAlarmsCommand")}constructor(commandConfig,options={}){const pathParams=_ListAlarmsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListAlarmsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListAlarmsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/alarms";static method="get"},ListAnnouncementsCommand=class _ListAnnouncementsCommand{static{__name(this,"ListAnnouncementsCommand")}constructor(commandConfig,options={}){const pathParams=_ListAnnouncementsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListAnnouncementsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListAnnouncementsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/announcements";static method="get"},ListAutomationsCommand=class _ListAutomationsCommand{static{__name(this,"ListAutomationsCommand")}constructor(commandConfig,options={}){const pathParams=_ListAutomationsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListAutomationsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListAutomationsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/automations";static method="get"},ListCameraStreamPreviewsCommand=class _ListCameraStreamPreviewsCommand{static{__name(this,"ListCameraStreamPreviewsCommand")}constructor(commandConfig,options={}){const pathParams=_ListCameraStreamPreviewsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListCameraStreamPreviewsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListCameraStreamPreviewsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/cameras/stream-previews";static method="get"},ListCamerasCommand=class _ListCamerasCommand{static{__name(this,"ListCamerasCommand")}constructor(commandConfig,options={}){const pathParams=_ListCamerasCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListCamerasCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListCamerasCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/cameras";static method="get"},ListCategoriesCommand=class _ListCategoriesCommand{static{__name(this,"ListCategoriesCommand")}constructor(commandConfig,options={}){const pathParams=_ListCategoriesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListCategoriesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListCategoriesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/categories";static method="get"},ListCourtesyCommand=class _ListCourtesyCommand{static{__name(this,"ListCourtesyCommand")}constructor(commandConfig,options={}){const pathParams=_ListCourtesyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListCourtesyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListCourtesyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/courtesy";static method="get"},ListDimmersCommand=class _ListDimmersCommand{static{__name(this,"ListDimmersCommand")}constructor(commandConfig,options={}){const pathParams=_ListDimmersCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListDimmersCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListDimmersCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/dimmers";static method="get"},ListDiscoveredDevicesCommand=class _ListDiscoveredDevicesCommand{static{__name(this,"ListDiscoveredDevicesCommand")}constructor(commandConfig,options={}){const pathParams=_ListDiscoveredDevicesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListDiscoveredDevicesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListDiscoveredDevicesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/discoveredDevices";static method="get"},ListIssuesCommand=class _ListIssuesCommand{static{__name(this,"ListIssuesCommand")}constructor(commandConfig,options={}){const pathParams=_ListIssuesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListIssuesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListIssuesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/issues";static method="get"},ListLocksCommand=class _ListLocksCommand{static{__name(this,"ListLocksCommand")}constructor(commandConfig,options={}){const pathParams=_ListLocksCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListLocksCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListLocksCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/locks";static method="get"},ListMediaSourcesCommand=class _ListMediaSourcesCommand{static{__name(this,"ListMediaSourcesCommand")}constructor(commandConfig,options={}){const pathParams=_ListMediaSourcesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListMediaSourcesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListMediaSourcesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/mediaSources";static method="get"},ListMyOrdersCommand=class _ListMyOrdersCommand{static{__name(this,"ListMyOrdersCommand")}constructor(commandConfig,options={}){const pathParams=_ListMyOrdersCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListMyOrdersCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListMyOrdersCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/orders/mine";static method="get"},ListMyPropertiesCommand=class _ListMyPropertiesCommand{static{__name(this,"ListMyPropertiesCommand")}constructor(commandConfig,options={}){const pathParams=_ListMyPropertiesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListMyPropertiesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListMyPropertiesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/properties/mine";static method="get"},ListMyReservationsCommand=class _ListMyReservationsCommand{static{__name(this,"ListMyReservationsCommand")}constructor(commandConfig,options={}){const pathParams=_ListMyReservationsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListMyReservationsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListMyReservationsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/reservations/mine";static method="get"},ListMySpacesCommand=class _ListMySpacesCommand{static{__name(this,"ListMySpacesCommand")}constructor(commandConfig,options={}){const pathParams=_ListMySpacesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListMySpacesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListMySpacesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/spaces/mine";static method="get"},ListMyTicketsCommand=class _ListMyTicketsCommand{static{__name(this,"ListMyTicketsCommand")}constructor(commandConfig,options={}){const pathParams=_ListMyTicketsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListMyTicketsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListMyTicketsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/tickets/mine";static method="get"},ListMyTimeSheetsCommand=class _ListMyTimeSheetsCommand{static{__name(this,"ListMyTimeSheetsCommand")}constructor(commandConfig,options={}){const pathParams=_ListMyTimeSheetsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListMyTimeSheetsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListMyTimeSheetsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/timesheets/mine";static method="get"},ListOrdersCommand=class _ListOrdersCommand{static{__name(this,"ListOrdersCommand")}constructor(commandConfig,options={}){const pathParams=_ListOrdersCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListOrdersCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListOrdersCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/orders";static method="get"},ListOrganizationsCommand=class _ListOrganizationsCommand{static{__name(this,"ListOrganizationsCommand")}constructor(commandConfig,options={}){const pathParams=_ListOrganizationsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListOrganizationsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListOrganizationsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/organizations";static method="get"},ListPoliciesCommand=class _ListPoliciesCommand{static{__name(this,"ListPoliciesCommand")}constructor(commandConfig,options={}){const pathParams=_ListPoliciesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListPoliciesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListPoliciesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/policies";static method="get"},ListProductsCommand=class _ListProductsCommand{static{__name(this,"ListProductsCommand")}constructor(commandConfig,options={}){const pathParams=_ListProductsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListProductsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListProductsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/products";static method="get"},ListPropertiesCommand=class _ListPropertiesCommand{static{__name(this,"ListPropertiesCommand")}constructor(commandConfig,options={}){const pathParams=_ListPropertiesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListPropertiesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListPropertiesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/properties";static method="get"},ListReservationsCommand=class _ListReservationsCommand{static{__name(this,"ListReservationsCommand")}constructor(commandConfig,options={}){const pathParams=_ListReservationsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListReservationsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListReservationsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/reservations";static method="get"},ListRoomsCommand=class _ListRoomsCommand{static{__name(this,"ListRoomsCommand")}constructor(commandConfig,options={}){const pathParams=_ListRoomsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListRoomsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListRoomsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/rooms";static method="get"},ListRoomsInSpaceCommand=class _ListRoomsInSpaceCommand{static{__name(this,"ListRoomsInSpaceCommand")}constructor(commandConfig,options={}){const pathParams=_ListRoomsInSpaceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListRoomsInSpaceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListRoomsInSpaceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/spaces/:id/rooms";static method="get"},ListScenesCommand=class _ListScenesCommand{static{__name(this,"ListScenesCommand")}constructor(commandConfig,options={}){const pathParams=_ListScenesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListScenesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListScenesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/scenes";static method="get"},ListSpacesCommand=class _ListSpacesCommand{static{__name(this,"ListSpacesCommand")}constructor(commandConfig,options={}){const pathParams=_ListSpacesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListSpacesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListSpacesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/spaces";static method="get"},ListSwitchesCommand=class _ListSwitchesCommand{static{__name(this,"ListSwitchesCommand")}constructor(commandConfig,options={}){const pathParams=_ListSwitchesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListSwitchesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListSwitchesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/switches";static method="get"},ListTeamCommand=class _ListTeamCommand{static{__name(this,"ListTeamCommand")}constructor(commandConfig,options={}){const pathParams=_ListTeamCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListTeamCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListTeamCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/team";static method="get"},ListThermostatsCommand=class _ListThermostatsCommand{static{__name(this,"ListThermostatsCommand")}constructor(commandConfig,options={}){const pathParams=_ListThermostatsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListThermostatsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListThermostatsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/thermostats";static method="get"},ListTicketLocationsCommand=class _ListTicketLocationsCommand{static{__name(this,"ListTicketLocationsCommand")}constructor(commandConfig,options={}){const pathParams=_ListTicketLocationsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListTicketLocationsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListTicketLocationsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/tickets/locations";static method="get"},ListTicketsCommand=class _ListTicketsCommand{static{__name(this,"ListTicketsCommand")}constructor(commandConfig,options={}){const pathParams=_ListTicketsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListTicketsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListTicketsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/tickets";static method="get"},ListTimeSheetsCommand=class _ListTimeSheetsCommand{static{__name(this,"ListTimeSheetsCommand")}constructor(commandConfig,options={}){const pathParams=_ListTimeSheetsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListTimeSheetsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListTimeSheetsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/timesheets";static method="get"},ListUserMobileKeysCommand=class _ListUserMobileKeysCommand{static{__name(this,"ListUserMobileKeysCommand")}constructor(commandConfig,options={}){const pathParams=_ListUserMobileKeysCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListUserMobileKeysCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListUserMobileKeysCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/users/:id/mobileKeys";static method="get"},ListUserOrdersCommand=class _ListUserOrdersCommand{static{__name(this,"ListUserOrdersCommand")}constructor(commandConfig,options={}){const pathParams=_ListUserOrdersCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListUserOrdersCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListUserOrdersCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/users/:id/orders";static method="get"},ListUserReservationsCommand=class _ListUserReservationsCommand{static{__name(this,"ListUserReservationsCommand")}constructor(commandConfig,options={}){const pathParams=_ListUserReservationsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListUserReservationsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListUserReservationsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/users/:id/reservations";static method="get"},ListUserSpacesCommand=class _ListUserSpacesCommand{static{__name(this,"ListUserSpacesCommand")}constructor(commandConfig,options={}){const pathParams=_ListUserSpacesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListUserSpacesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListUserSpacesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/users/:id/spaces";static method="get"},ListUsersCommand=class _ListUsersCommand{static{__name(this,"ListUsersCommand")}constructor(commandConfig,options={}){const pathParams=_ListUsersCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListUsersCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListUsersCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/users";static method="get"},ListVendorsCommand=class _ListVendorsCommand{static{__name(this,"ListVendorsCommand")}constructor(commandConfig,options={}){const pathParams=_ListVendorsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListVendorsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListVendorsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/vendors";static method="get"},ListWindowCoveringsCommand=class _ListWindowCoveringsCommand{static{__name(this,"ListWindowCoveringsCommand")}constructor(commandConfig,options={}){const pathParams=_ListWindowCoveringsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_ListWindowCoveringsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_ListWindowCoveringsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId"];static url="/rooms/:roomId/windowCoverings";static method="get"},LoginFinishCommand=class _LoginFinishCommand{static{__name(this,"LoginFinishCommand")}constructor(commandConfig,options={}){const pathParams=_LoginFinishCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_LoginFinishCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_LoginFinishCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/auth/finish";static method="post"},LoginStartCommand=class _LoginStartCommand{static{__name(this,"LoginStartCommand")}constructor(commandConfig,options={}){const pathParams=_LoginStartCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_LoginStartCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_LoginStartCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/auth/start";static method="post"},LogoutSelfCommand=class _LogoutSelfCommand{static{__name(this,"LogoutSelfCommand")}constructor(commandConfig,options={}){const pathParams=_LogoutSelfCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_LogoutSelfCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_LogoutSelfCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/auth/user/me/logout";static method="post"},LogoutUserCommand=class _LogoutUserCommand{static{__name(this,"LogoutUserCommand")}constructor(commandConfig,options={}){const pathParams=_LogoutUserCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_LogoutUserCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_LogoutUserCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/auth/user/:id/logout";static method="post"},MatchUserIdentificationCommand=class _MatchUserIdentificationCommand{static{__name(this,"MatchUserIdentificationCommand")}constructor(commandConfig,options={}){const pathParams=_MatchUserIdentificationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_MatchUserIdentificationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_MatchUserIdentificationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/users/:id/identifications/match";static method="post"},OCRDocumentCommand=class _OCRDocumentCommand{static{__name(this,"OCRDocumentCommand")}constructor(commandConfig,options={}){const pathParams=_OCRDocumentCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_OCRDocumentCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_OCRDocumentCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/documents/ocr";static method="post"},PurchaseReservationEarlyCheckInProductsCommand=class _PurchaseReservationEarlyCheckInProductsCommand{static{__name(this,"PurchaseReservationEarlyCheckInProductsCommand")}constructor(commandConfig,options={}){const pathParams=_PurchaseReservationEarlyCheckInProductsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_PurchaseReservationEarlyCheckInProductsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_PurchaseReservationEarlyCheckInProductsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/products/earlyCheckIn";static method="post"},PurchaseReservationLateCheckOutProductsCommand=class _PurchaseReservationLateCheckOutProductsCommand{static{__name(this,"PurchaseReservationLateCheckOutProductsCommand")}constructor(commandConfig,options={}){const pathParams=_PurchaseReservationLateCheckOutProductsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_PurchaseReservationLateCheckOutProductsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_PurchaseReservationLateCheckOutProductsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/products/lateCheckOut";static method="post"},PurchaseReservationPetProductsCommand=class _PurchaseReservationPetProductsCommand{static{__name(this,"PurchaseReservationPetProductsCommand")}constructor(commandConfig,options={}){const pathParams=_PurchaseReservationPetProductsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_PurchaseReservationPetProductsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_PurchaseReservationPetProductsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/products/pet";static method="post"},PurchaseReservationPromosCommand=class _PurchaseReservationPromosCommand{static{__name(this,"PurchaseReservationPromosCommand")}constructor(commandConfig,options={}){const pathParams=_PurchaseReservationPromosCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_PurchaseReservationPromosCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_PurchaseReservationPromosCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/products/promo";static method="post"},PurchaseReservationRoomUpgradesCommand=class _PurchaseReservationRoomUpgradesCommand{static{__name(this,"PurchaseReservationRoomUpgradesCommand")}constructor(commandConfig,options={}){const pathParams=_PurchaseReservationRoomUpgradesCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_PurchaseReservationRoomUpgradesCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_PurchaseReservationRoomUpgradesCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/products/roomUpgrades";static method="post"},RequestLoginTokenCommand=class _RequestLoginTokenCommand{static{__name(this,"RequestLoginTokenCommand")}constructor(commandConfig,options={}){const pathParams=_RequestLoginTokenCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_RequestLoginTokenCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_RequestLoginTokenCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/auth/loginToken";static method="get"},SendCheckInSMSCommand=class _SendCheckInSMSCommand{static{__name(this,"SendCheckInSMSCommand")}constructor(commandConfig,options={}){const pathParams=_SendCheckInSMSCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SendCheckInSMSCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SendCheckInSMSCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/sendCheckInSMS";static method="post"},SendCheckOutSMSCommand=class _SendCheckOutSMSCommand{static{__name(this,"SendCheckOutSMSCommand")}constructor(commandConfig,options={}){const pathParams=_SendCheckOutSMSCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SendCheckOutSMSCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SendCheckOutSMSCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/sendCheckOutSMS";static method="post"},SendPreArrivalEmailCommand=class _SendPreArrivalEmailCommand{static{__name(this,"SendPreArrivalEmailCommand")}constructor(commandConfig,options={}){const pathParams=_SendPreArrivalEmailCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SendPreArrivalEmailCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SendPreArrivalEmailCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/sendPreArrivalEmail";static method="post"},SendPreArrivalSMSCommand=class _SendPreArrivalSMSCommand{static{__name(this,"SendPreArrivalSMSCommand")}constructor(commandConfig,options={}){const pathParams=_SendPreArrivalSMSCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SendPreArrivalSMSCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SendPreArrivalSMSCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/sendPreArrivalSMS";static method="post"},SendRoomControlSMSCommand=class _SendRoomControlSMSCommand{static{__name(this,"SendRoomControlSMSCommand")}constructor(commandConfig,options={}){const pathParams=_SendRoomControlSMSCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SendRoomControlSMSCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SendRoomControlSMSCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/sendRoomControlSMS";static method="post"},SendVerificationCodeCommand=class _SendVerificationCodeCommand{static{__name(this,"SendVerificationCodeCommand")}constructor(commandConfig,options={}){const pathParams=_SendVerificationCodeCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SendVerificationCodeCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SendVerificationCodeCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/users/:id/sendVerificationCode";static method="post"},SetAlarmCommand=class _SetAlarmCommand{static{__name(this,"SetAlarmCommand")}constructor(commandConfig,options={}){const pathParams=_SetAlarmCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SetAlarmCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SetAlarmCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/alarms/:id";static method="post"},SetCameraCommand=class _SetCameraCommand{static{__name(this,"SetCameraCommand")}constructor(commandConfig,options={}){const pathParams=_SetCameraCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SetCameraCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SetCameraCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/cameras/:id";static method="post"},SetCourtesyCommand=class _SetCourtesyCommand{static{__name(this,"SetCourtesyCommand")}constructor(commandConfig,options={}){const pathParams=_SetCourtesyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SetCourtesyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SetCourtesyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/courtesy/:id";static method="post"},SetDimmerCommand=class _SetDimmerCommand{static{__name(this,"SetDimmerCommand")}constructor(commandConfig,options={}){const pathParams=_SetDimmerCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SetDimmerCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SetDimmerCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/dimmers/:id";static method="post"},SetLockCommand=class _SetLockCommand{static{__name(this,"SetLockCommand")}constructor(commandConfig,options={}){const pathParams=_SetLockCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SetLockCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SetLockCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/locks/:id";static method="post"},SetMediaSourceCommand=class _SetMediaSourceCommand{static{__name(this,"SetMediaSourceCommand")}constructor(commandConfig,options={}){const pathParams=_SetMediaSourceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SetMediaSourceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SetMediaSourceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/mediaSources/:id";static method="post"},SetRoomSceneCommand=class _SetRoomSceneCommand{static{__name(this,"SetRoomSceneCommand")}constructor(commandConfig,options={}){const pathParams=_SetRoomSceneCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SetRoomSceneCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SetRoomSceneCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/scenes/:id";static method="post"},SetSceneCommand=class _SetSceneCommand{static{__name(this,"SetSceneCommand")}constructor(commandConfig,options={}){const pathParams=_SetSceneCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SetSceneCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SetSceneCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/scenes/:id";static method="post"},SetSpaceSceneCommand=class _SetSpaceSceneCommand{static{__name(this,"SetSpaceSceneCommand")}constructor(commandConfig,options={}){const pathParams=_SetSpaceSceneCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SetSpaceSceneCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SetSpaceSceneCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["spaceId","id"];static url="/spaces/:spaceId/scenes/:id";static method="post"},SetSwitchCommand=class _SetSwitchCommand{static{__name(this,"SetSwitchCommand")}constructor(commandConfig,options={}){const pathParams=_SetSwitchCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SetSwitchCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SetSwitchCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/switches/:id";static method="post"},SetThermostatCommand=class _SetThermostatCommand{static{__name(this,"SetThermostatCommand")}constructor(commandConfig,options={}){const pathParams=_SetThermostatCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SetThermostatCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SetThermostatCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/thermostats/:id";static method="post"},SetWindowCoveringCommand=class _SetWindowCoveringCommand{static{__name(this,"SetWindowCoveringCommand")}constructor(commandConfig,options={}){const pathParams=_SetWindowCoveringCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_SetWindowCoveringCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_SetWindowCoveringCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/windowCoverings/:id";static method="post"},StartRegisterPasskeyCommand=class _StartRegisterPasskeyCommand{static{__name(this,"StartRegisterPasskeyCommand")}constructor(commandConfig,options={}){const pathParams=_StartRegisterPasskeyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_StartRegisterPasskeyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_StartRegisterPasskeyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/auth/registerPasskey/start";static method="post"},StartSOSCommand=class _StartSOSCommand{static{__name(this,"StartSOSCommand")}constructor(commandConfig,options={}){const pathParams=_StartSOSCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_StartSOSCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_StartSOSCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/sos/start";static method="post"},StopSOSCommand=class _StopSOSCommand{static{__name(this,"StopSOSCommand")}constructor(commandConfig,options={}){const pathParams=_StopSOSCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_StopSOSCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_StopSOSCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/sos/stop";static method="post"},TipUserCommand=class _TipUserCommand{static{__name(this,"TipUserCommand")}constructor(commandConfig,options={}){const pathParams=_TipUserCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_TipUserCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_TipUserCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/users/:id/tip";static method="post"},UpdateAlarmCommand=class _UpdateAlarmCommand{static{__name(this,"UpdateAlarmCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateAlarmCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateAlarmCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateAlarmCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/alarms/:id";static method="put"},UpdateAnnouncementCommand=class _UpdateAnnouncementCommand{static{__name(this,"UpdateAnnouncementCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateAnnouncementCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateAnnouncementCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateAnnouncementCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/announcements/:id";static method="put"},UpdateAutomationCommand=class _UpdateAutomationCommand{static{__name(this,"UpdateAutomationCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateAutomationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateAutomationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateAutomationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/automations/:id";static method="put"},UpdateCameraCommand=class _UpdateCameraCommand{static{__name(this,"UpdateCameraCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateCameraCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateCameraCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateCameraCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/cameras/:id";static method="put"},UpdateCategoryCommand=class _UpdateCategoryCommand{static{__name(this,"UpdateCategoryCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateCategoryCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateCategoryCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateCategoryCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/categories/:id";static method="put"},UpdateCourtesyCommand=class _UpdateCourtesyCommand{static{__name(this,"UpdateCourtesyCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateCourtesyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateCourtesyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateCourtesyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/courtesy/:id";static method="put"},UpdateDimmerCommand=class _UpdateDimmerCommand{static{__name(this,"UpdateDimmerCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateDimmerCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateDimmerCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateDimmerCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/dimmers/:id";static method="put"},UpdateDiscoveredDeviceCommand=class _UpdateDiscoveredDeviceCommand{static{__name(this,"UpdateDiscoveredDeviceCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateDiscoveredDeviceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateDiscoveredDeviceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateDiscoveredDeviceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/discoveredDevices/:id";static method="put"},UpdateIssueCommand=class _UpdateIssueCommand{static{__name(this,"UpdateIssueCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateIssueCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateIssueCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateIssueCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/issues/:id";static method="put"},UpdateLockCommand=class _UpdateLockCommand{static{__name(this,"UpdateLockCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateLockCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateLockCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateLockCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/locks/:id";static method="put"},UpdateMediaSourceCommand=class _UpdateMediaSourceCommand{static{__name(this,"UpdateMediaSourceCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateMediaSourceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateMediaSourceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateMediaSourceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/mediaSources/:id";static method="put"},UpdateMessageReadStatusCommand=class _UpdateMessageReadStatusCommand{static{__name(this,"UpdateMessageReadStatusCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateMessageReadStatusCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateMessageReadStatusCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateMessageReadStatusCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/tickets/:id/readAll";static method="post"},UpdateOrganizationCommand=class _UpdateOrganizationCommand{static{__name(this,"UpdateOrganizationCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateOrganizationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateOrganizationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateOrganizationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/organizations/:id";static method="put"},UpdatePolicyCommand=class _UpdatePolicyCommand{static{__name(this,"UpdatePolicyCommand")}constructor(commandConfig,options={}){const pathParams=_UpdatePolicyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdatePolicyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdatePolicyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/policies/:id";static method="put"},UpdatePropertyCommand=class _UpdatePropertyCommand{static{__name(this,"UpdatePropertyCommand")}constructor(commandConfig,options={}){const pathParams=_UpdatePropertyCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdatePropertyCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdatePropertyCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/properties/:id";static method="put"},UpdatePropertySettingsCommand=class _UpdatePropertySettingsCommand{static{__name(this,"UpdatePropertySettingsCommand")}constructor(commandConfig,options={}){const pathParams=_UpdatePropertySettingsCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdatePropertySettingsCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdatePropertySettingsCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/properties/:id/settings";static method="put"},UpdateReservationCommand=class _UpdateReservationCommand{static{__name(this,"UpdateReservationCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateReservationCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateReservationCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateReservationCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id";static method="put"},UpdateReservationExpectedArrivalTimeCommand=class _UpdateReservationExpectedArrivalTimeCommand{static{__name(this,"UpdateReservationExpectedArrivalTimeCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateReservationExpectedArrivalTimeCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateReservationExpectedArrivalTimeCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateReservationExpectedArrivalTimeCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/reservations/:id/expectedArrivalTime";static method="put"},UpdateRoomCommand=class _UpdateRoomCommand{static{__name(this,"UpdateRoomCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateRoomCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateRoomCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateRoomCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/rooms/:id";static method="put"},UpdateSelfCommand=class _UpdateSelfCommand{static{__name(this,"UpdateSelfCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateSelfCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateSelfCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateSelfCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/users/me";static method="put"},UpdateSpaceCommand=class _UpdateSpaceCommand{static{__name(this,"UpdateSpaceCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateSpaceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateSpaceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateSpaceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/spaces/:id";static method="put"},UpdateSwitchCommand=class _UpdateSwitchCommand{static{__name(this,"UpdateSwitchCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateSwitchCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateSwitchCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateSwitchCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/switches/:id";static method="put"},UpdateThermostatCommand=class _UpdateThermostatCommand{static{__name(this,"UpdateThermostatCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateThermostatCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateThermostatCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateThermostatCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/thermostats/:id";static method="put"},UpdateTicketCommand=class _UpdateTicketCommand{static{__name(this,"UpdateTicketCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateTicketCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateTicketCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateTicketCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/tickets/:id";static method="put"},UpdateTicketStatusCommand=class _UpdateTicketStatusCommand{static{__name(this,"UpdateTicketStatusCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateTicketStatusCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateTicketStatusCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateTicketStatusCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/tickets/:id/status";static method="put"},UpdateTimeSheetCommand=class _UpdateTimeSheetCommand{static{__name(this,"UpdateTimeSheetCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateTimeSheetCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateTimeSheetCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateTimeSheetCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/timesheets/:id";static method="put"},UpdateTimeSheetTimeEntryCommand=class _UpdateTimeSheetTimeEntryCommand{static{__name(this,"UpdateTimeSheetTimeEntryCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateTimeSheetTimeEntryCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateTimeSheetTimeEntryCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateTimeSheetTimeEntryCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["timeSheetId","id"];static url="/timesheets/:timeSheetId/timeEntries/:id";static method="put"},UpdateUserCommand=class _UpdateUserCommand{static{__name(this,"UpdateUserCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateUserCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateUserCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateUserCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/users/:id";static method="put"},UpdateVendorCommand=class _UpdateVendorCommand{static{__name(this,"UpdateVendorCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateVendorCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateVendorCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateVendorCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["id"];static url="/vendors/:id";static method="put"},UpdateWindowCoveringCommand=class _UpdateWindowCoveringCommand{static{__name(this,"UpdateWindowCoveringCommand")}constructor(commandConfig,options={}){const pathParams=_UpdateWindowCoveringCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpdateWindowCoveringCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpdateWindowCoveringCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=["roomId","id"];static url="/rooms/:roomId/windowCoverings/:id";static method="put"},UploadImageCommand=class _UploadImageCommand{static{__name(this,"UploadImageCommand")}constructor(commandConfig,options={}){const pathParams=_UploadImageCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UploadImageCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UploadImageCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/mediaFiles/uploadImage";static method="post"},UpsertDiscoveredDeviceCommand=class _UpsertDiscoveredDeviceCommand{static{__name(this,"UpsertDiscoveredDeviceCommand")}constructor(commandConfig,options={}){const pathParams=_UpsertDiscoveredDeviceCommand.params;let{data:data,query:query,headers:headers}=commandConfig??{};void 0===data&&(data=null),void 0===query&&(query=null),void 0===headers&&(headers=null);let url=_UpsertDiscoveredDeviceCommand.url;if(pathParams&&data)for(const param of pathParams){const urlParam=":"+param;url=url.replace(urlParam,data[param])}if(url.match(/:[a-zA-Z0-9]+/g)){const missingParams=url.match(/:[a-zA-Z0-9]+/g);if(missingParams){const missing=missingParams.map((param=>param.replace(":","")));throw new Error("Missing parameters: "+missing.join(", "))}}this.url=url,this.data=data,this.query=query,this.headers=headers,this.config={method:_UpsertDiscoveredDeviceCommand.method,url:url,data:data,params:query,headers:headers,...options}}static params=[];static url="/discoveredDevices/upsert";static method="post"},utils_exports={};function entityFactory(type){switch(type){case"reservation":return Reservation;case"mediaFile":return MediaFile;case"switch":return Switch;case"alarm":return Alarm;case"dimmer":return Dimmer;case"lock":return Lock;case"thermostat":return Thermostat;case"windowCovering":return WindowCovering;case"identification":return Identification;case"user":return User;case"systemUser":return SystemUser;case"policy":return Policy;case"courtesy":return Courtesy;case"camera":return Camera;case"motionSensor":return MotionSensor;case"mediaSource":return MediaSource;case"room":return Room;case"space":return Space;case"category":return Category;case"ticket":return Ticket;case"scene":return Scene;case"gateway":return Gateway;case"product":return Product;case"order":return Order;case"discoveredDevice":return DiscoveredDevice;case"deviceRouter":return DeviceRouter;case"credential":return Credential;case"shortLink":return ShortLink;case"energyReportShard":return EnergyReportShard;case"energyReport":return EnergyReport;case"smsMessage":return SmsMessage;case"emailMessage":return EmailMessage;case"announcement":return Announcement;case"timeSheet":return TimeSheet;case"property":return Property;case"organization":return Organization;case"issue":return Issue;case"vendor":return Vendor;case"log":return Log;default:throw new Error("Unknown entity type: "+type)}}function errorFactory(errName){switch(errName){case"AppError":return AppError;case"AuthenticationError":return AuthenticationError;case"AuthorizationError":return AuthorizationError;case"ConflictError":return ConflictError;case"DeviceCommError":return DeviceCommError;case"LoginError":return LoginError;case"NotFoundError":return NotFoundError;case"RequestError":return RequestError;case"SystemCommError":return SystemCommError;case"TokenExpiredError":return TokenExpiredError;case"UnprocessableRequestError":return UnprocessableRequestError;case"ValidationError":return ValidationError;default:return new Error("Invalid error name: "+errName)}}function eventFactory(eventName){const Event2=Object.values(events_exports).find((E=>E.prototype.name===eventName));if(!Event2)throw new Error("Invalid event name: "+eventName);return Event2}__export(utils_exports,{entityFactory:()=>entityFactory,errorFactory:()=>errorFactory,eventFactory:()=>eventFactory}),__name(entityFactory,"entityFactory"),__name(errorFactory,"errorFactory"),__name(eventFactory,"eventFactory");//# sourceMappingURL=index.cjs.map
|