/* Options: Date: 2025-12-10 04:31:07 SwiftVersion: 6.0 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://wh.entersecurity.com //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: QboWebhooksRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/qbowebhook", "POST") // @DataContract public class QboWebhooksRequest : IReturn, Codable { public typealias Return = String // @DataMember(Name="eventNotifications") public var eventNotifications:[QBOEventNotification]? required public init(){} } public class QBOEventNotification : Codable { // @DataMember(Name="realmId") public var realmId:String? // @DataMember(Name="dataChangeEvent") public var dataChangeEvent:QBODataChangeEvent? required public init(){} } public class QBODataChangeEvent : Codable { // @DataMember(Name="entities") public var entities:[QBOEntity]? required public init(){} } public class QBOEntity : Codable { // @DataMember(Name="name") public var name:QBOEntityName? // @DataMember(Name="id") public var id:String? // @DataMember(Name="operation") public var operation:QBOOperation? // @DataMember(Name="lastUpdated") public var lastUpdated:Date? // @DataMember(Name="deletedId") public var deletedId:String? required public init(){} } public enum QBOEntityName : Int, Codable { case Customer = 20 case Department = 21 case Vendor = 21 case Deposit = 22 case Invoice = 23 case Bill = 24 case Item = 24 case JournalCode = 25 case PurchaseOrder = 25 case JournalEntry = 26 case Estimate = 26 case RefundReceipt = 26 case Employee = 27 case SalesReceipt = 27 case TaxAgency = 28 case Term = 29 case TimeActivity = 30 case Account = 30 case Transfer = 31 case VendorCredit = 31 case CreditMemo = 32 case Purchase = 33 case Currency = 33 case Payment = 35 case PaymentMethod = 36 case BillPayment = 36 case Preferences = 37 case Budget = 37 case Class = 38 } public enum QBOOperation : String, Codable { case Update case Create case Merge case Delete case Emailed case Void }