/* Options:
Date: 2025-07-15 19:50:32
Version: 8.71
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://team.evovoice.io

//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: False
//ExportValueTypes: False
IncludeTypes: NewOutgoingSession.*
//ExcludeTypes: 
//AddNamespaces: 
//AddDefaultXmlNamespace: http://schemas.servicestack.net/types
*/

using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Voice.Api.Sessions;

namespace Voice.Api.Sessions
{
    ///<summary>
    ///Create a new outgoing call and process it with the specified flow. This can only be used for voice sessions. If no caller ID is specified, we will use a random one.
    ///</summary>
    [Route("/sessions/outgoing", "POST")]
    [Api(Description="Create a new outgoing call and process it with the specified flow. This can only be used for voice sessions. If no caller ID is specified, we will use a random one.")]
    public partial class NewOutgoingSession
        : IReturnVoid, IPost
    {
        ///<summary>
        ///The ID of the flow to use. This flow will be executed as soon as the call is answered.
        ///</summary>
        [ApiMember(Description="The ID of the flow to use. This flow will be executed as soon as the call is answered.")]
        public virtual string FlowId { get; set; }

        ///<summary>
        ///The E164 number to dial, e.g. +18144043093
        ///</summary>
        [ApiMember(Description="The E164 number to dial, e.g. +18144043093")]
        public virtual string NumberToDial { get; set; }

        ///<summary>
        ///The Caller ID to use. This must be the E164 number of an owned phone number
        ///</summary>
        [ApiMember(Description="The Caller ID to use. This must be the E164 number of an owned phone number")]
        public virtual string CallerId { get; set; }
    }

}