/* Options:
Date: 2025-04-13 02:08:28
Version: 6.10
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://api.paysecure.acculynk.net

//GlobalNamespace: 
//MakePartial: True
//MakeVirtual: True
//MakeInternal: False
//MakeDataContractsExtensible: False
//AddNullableAnnotations: False
//AddReturnMarker: True
//AddDescriptionAsComments: True
//AddDataContractAttributes: False
//AddIndexesToDataMembers: False
//AddGeneratedCodeAttributes: False
//AddResponseStatus: False
//AddImplicitVersion: 
//InitializeCollections: True
//ExportValueTypes: False
IncludeTypes: DSInitializeRequest.*
//ExcludeTypes: 
//AddNamespaces: 
//AddDefaultXmlNamespace: http://schemas.servicestack.net/types
*/

using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Paysecure.ServiceModel.Types;
using Paysecure.ServiceModel;

namespace Paysecure.ServiceModel
{
    public partial class DataStoreFor
    {
        public virtual DataStoreScope StoreScope { get; set; }
        public virtual string Value { get; set; }
    }

    public enum DataStoreScope
    {
        AllMerchants,
        SingleMerchant,
    }

    public partial class DSInitialize
    {
        public virtual string ErrorCode { get; set; }
        public virtual string ErrorMessage { get; set; }
    }

    [Route("/DSInitialize", "Put")]
    public partial class DSInitializeRequest
        : IReturn<DSInitialize>
    {
        public virtual RequestorCredentials Credentials { get; set; }
        public virtual DataStoreFor Scope { get; set; }
    }

}

namespace Paysecure.ServiceModel.Types
{
    public partial class RequestorCredentials
    {
        [Required]
        public virtual string MerchantId { get; set; }

        [Required]
        public virtual string UserName { get; set; }

        [Required]
        public virtual string Password { get; set; }

        [Required]
        public virtual string Version { get; set; }
    }

}