(* Options: Date: 2025-09-14 06:48:22 Version: 8.52 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://production-eros-platform-apisubscription.azurewebsites.net/api //GlobalNamespace: //MakeDataContractsExtensible: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //ExportValueTypes: False IncludeTypes: SaveContactGroup.* //ExcludeTypes: //InitializeCollections: False //AddNamespaces: *) namespace Eros.Saguna.Common.WebAPI.ServiceModel open System open System.IO open System.Collections open System.Collections.Generic open System.Runtime.Serialization open ServiceStack open ServiceStack.DataAnnotations [] type SubscriptionLinkContact() = /// ///Guid of the contact object within Eros. /// [] member val ContactId:Guid = new Guid() with get,set /// ///The unique key that represents the contact on the external system. /// [] member val ContactAlternateKey:String = null with get,set /// ///Guid of the Role List Item object within Eros. /// [] member val RoleId:Guid = new Guid() with get,set /// ///The unique key that represents the role type on the external system. Note: Use of this is not currently implemented /// [] member val RoleAlternateKey:String = null with get,set [] type SubscriptionContactGroupConnectionModel() = inherit SubscriptionLinkContact() /// ///The order this contact is in priority. 1 would be the primary contact, 2 the secondary and so forth. /// [] member val Index:Int32 = new Int32() with get,set /// ///Set this to be true if the contact connection to the group is to be deleted /// [] member val MarkAsDeleted:Boolean = new Boolean() with get,set [] type SubscriptionContactGroupModel() = /// ///A name for the contact group. /// [] member val ContactGroupName:String = null with get,set /// ///Guid of the Role List Item object within Eros that defines the role of the group. /// [] member val GroupRoleId:Guid = new Guid() with get,set /// ///The unique key that represents the role type of the group on the external system. Note: Use of this is not currently implemented /// [] member val RoleAlternateKey:String = null with get,set /// ///A list of ContactGroupConnection records that link contacts (and their role in the contact group) to the contact group. /// [", Description="A list of ContactGroupConnection records that link contacts (and their role in the contact group) to the contact group.", Name="ContactConnections", ParameterType="query")>] member val ContactConnections:ResizeArray = null with get,set /// ///Set this to be true if the contact group is to be deleted /// [] member val MarkAsDeleted:Boolean = new Boolean() with get,set /// ///Set this to be true if the contact group is to be archived /// [] member val MarkAsArchived:Boolean = new Boolean() with get,set /// ///Set this to be true if the contact group is to be restored /// [] member val MarkAsRestored:Boolean = new Boolean() with get,set [] type RuleValidationResult() = member val RuleCode:String = null with get,set member val Message:String = null with get,set member val Key:String = null with get,set member val Tag:String = null with get,set member val ErrorCode:String = null with get,set [] type ValidationErrorList() = member val ValidationErrors:ResizeArray = null with get,set [] type ISubscription = abstract SuiteDataSourceInstanceId:Guid with get,set abstract ObjectId:Guid with get,set abstract AlternateKey:String with get,set abstract IgnoreValidation:Boolean with get,set /// ///Inserts or Updates a contact group and its contact connections. /// [] [] type SaveContactGroup() = inherit ValidationErrorList() interface IReturn /// ///Guid representing the external systems datasource information. /// [] member val SuiteDataSourceInstanceId:Guid = new Guid() with get,set /// ///The unique key that represents the contact group on the external system. /// [] member val AlternateKey:String = null with get,set /// ///Guid of the contact group object within Eros. If ObjectId is known, the external system may pass this insted of the alternate key. /// [] member val ObjectId:Guid = new Guid() with get,set /// ///If set to true, the object will be updated/refreshed. If false, the hash representation of the ContactGroup model and its data will be compared with the current ContactGroup to determine if there are any changes to save. /// [] member val IgnoreHash:Boolean = new Boolean() with get,set /// ///Object containing all details of the contact group to be inserted or updated. /// [] member val ContactGroup:SubscriptionContactGroupModel = null with get,set member val IgnoreValidation:Boolean = new Boolean() with get,set member val LicenseeId:Guid = new Guid() with get,set member val SessionId:Guid = new Guid() with get,set