/* Options: Date: 2025-09-14 06:04:11 SwiftVersion: 6.0 Version: 8.52 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://production-eros-gateway-api-supplierconnect.azurewebsites.net/api //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: ScheduleRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack /** * Creates or Reschedules a SupplierConnect schedule. This will return the id of the schedule request created and the communication id of the notification sent. */ // @Route("/schedules", "POST") // @Route("/schedules/{RequestId}", "PUT") // @Api(Description="Creates or Reschedules a SupplierConnect schedule. This will return the id of the schedule request created and the communication id of the notification sent.") // @DataContract public class ScheduleRequest : IReturn, Codable { public typealias Return = ScheduleResponse /** * Id of the schedule request to be recreated */ // @DataMember(Name="RequestId") // @ApiMember(Description="Id of the schedule request to be recreated", IsRequired=true, Name="RequestId") public var RequestId:String? /** * Date/Time of the activity */ // @DataMember(Name="ScheduleDateTime") // @ApiMember(Description="Date/Time of the activity", IsRequired=true, Name="ScheduleDateTime") // @Required() public var ScheduleDateTime:Date? // @DataMember(Name="Requester") public var Requester:ContactInfo? // @DataMember(Name="Supplier") public var Supplier:ContactInfo? // @DataMember(Name="Project") public var Project:ProjectInfo? // @DataMember(Name="PurchaseOrder") public var PurchaseOrder:PurchaseOrderInfo? // @DataMember(Name="Activity") public var Activity:ActivityReference? // @DataMember(Name="Params") public var Params:[ScheduleParams]? // @DataMember(Name="Attachments") public var Attachments:[EmailAttachment]? required public init(){} } public class ScheduleResponse : Codable { public var referenceId:String? public var communicationId:String? public var success:Bool? public var message:String? public var payload:String? required public init(){} } // @DataContract public class ContactInfo : Codable { // @DataMember(Name="Id") public var Id:String? // @DataMember(Name="Name") public var Name:String? // @DataMember(Name="Email") public var Email:String? // @DataMember(Name="Phone") public var Phone:String? // @DataMember(Name="ContactReference") public var ContactReference:ObjectReference? required public init(){} } // @DataContract public class ProjectInfo : Codable { // @DataMember(Name="Id") public var Id:String? // @DataMember(Name="Name") public var Name:String? // @DataMember(Name="Reference") public var Reference:String? // @DataMember(Name="Description") public var Description:String? // @DataMember(Name="Address") public var Address:String? // @DataMember(Name="HouseType") public var HouseType:String? // @DataMember(Name="Elevation") public var Elevation:String? // @DataMember(Name="CustomerName") public var CustomerName:String? // @DataMember(Name="Supervisor") public var Supervisor:ContactInfo? // @DataMember(Name="ProjectReference") public var ProjectReference:ObjectReference? required public init(){} } // @DataContract public class PurchaseOrderInfo : Codable { // @DataMember(Name="Id") public var Id:String? // @DataMember(Name="Reference") public var Reference:String? // @DataMember(Name="Description") public var Description:String? // @DataMember(Name="PurchaseOrderReference") public var PurchaseOrderReference:ObjectReference? required public init(){} } // @DataContract public class ActivityReference : Codable { /** * Name/details of the activity */ // @DataMember(Name="name") // @ApiMember(Description="Name/details of the activity", IsRequired=true, Name="Name") public var name:String? // @DataMember(Name="notes") public var notes:String? required public init(){} } // @DataContract public class ScheduleParams : Codable { // @DataMember(Name="Name") public var Name:String? // @DataMember(Name="Value") public var Value:String? required public init(){} } public class EmailAttachment : Codable { public var fileName:String? public var contentType:String? public var path:String? public var url:String? public var length:Int? public var fileStream:Data? public var streamContent:String? public var attachmentType:AttachmentType? public var processedAndUploadedAsBlob:Bool? required public init(){} } // @DataContract public class ObjectReference : Codable { // @DataMember(Name="RmsTableContextId") public var RmsTableContextId:String? // @DataMember(Name="AlternateKey") public var AlternateKey:String? // @DataMember(Name="DataSourceInstanceId") public var DataSourceInstanceId:String? required public init(){} } public enum AttachmentType : String, Codable { case Url case FileStream }