/* Options:
Date: 2025-06-02 12:00:37
Version: 8.71
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://team.evovoice.io

//Package: 
//GlobalNamespace: dtos
//AddPropertyAccessors: True
//SettersReturnThis: True
//AddServiceStackTypes: True
//AddResponseStatus: False
//AddDescriptionAsComments: True
//AddImplicitVersion: 
IncludeTypes: GetChatTranscript.*
//ExcludeTypes: 
//TreatTypesAsStrings: 
//DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.*
*/

import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;

public class dtos
{

    /**
    * Gets the specified transcript
    */
    @Route(Path="/sessions/{sessionId}/transcript", Verbs="GET")
    @Api(Description="Gets the specified transcript")
    public static class GetChatTranscript implements IReturn<GetChatTranscriptResponse>, IGet
    {
        /**
        * the session whose transcript you want to get
        */
        @ApiMember(Description="the session whose transcript you want to get")
        public String sessionId = null;

        /**
        * Include previous messages from this chat party
        */
        @ApiMember(Description="Include previous messages from this chat party")
        public Boolean includeHistorical = null;

        /**
        * How far back to include in historical messages. Max 6 months in past
        */
        @ApiMember(Description="How far back to include in historical messages. Max 6 months in past")
        public String historicalCutOffDate = null;
        
        public String getSessionId() { return sessionId; }
        public GetChatTranscript setSessionId(String value) { this.sessionId = value; return this; }
        public Boolean isIncludeHistorical() { return includeHistorical; }
        public GetChatTranscript setIncludeHistorical(Boolean value) { this.includeHistorical = value; return this; }
        public String getHistoricalCutOffDate() { return historicalCutOffDate; }
        public GetChatTranscript setHistoricalCutOffDate(String value) { this.historicalCutOffDate = value; return this; }
        private static Object responseType = GetChatTranscriptResponse.class;
        public Object getResponseType() { return responseType; }
    }

    public static class GetChatTranscriptResponse
    {
        public ArrayList<ChatTranscriptMessage> messages = null;
        
        public ArrayList<ChatTranscriptMessage> getMessages() { return messages; }
        public GetChatTranscriptResponse setMessages(ArrayList<ChatTranscriptMessage> value) { this.messages = value; return this; }
    }

    public static class ChatTranscriptMessage
    {
        public String date = null;
        public String from = null;
        public String body = null;
        public String mediaUri = null;
        public String mediaContentType = null;
        
        public String getDate() { return date; }
        public ChatTranscriptMessage setDate(String value) { this.date = value; return this; }
        public String getFrom() { return from; }
        public ChatTranscriptMessage setFrom(String value) { this.from = value; return this; }
        public String getBody() { return body; }
        public ChatTranscriptMessage setBody(String value) { this.body = value; return this; }
        public String getMediaUri() { return mediaUri; }
        public ChatTranscriptMessage setMediaUri(String value) { this.mediaUri = value; return this; }
        public String getMediaContentType() { return mediaContentType; }
        public ChatTranscriptMessage setMediaContentType(String value) { this.mediaContentType = value; return this; }
    }

}