/* Options:
Date: 2025-04-08 15:44:48
Version: 8.22
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://data.regent-college.edu

//Package: 
//AddServiceStackTypes: True
//AddResponseStatus: False
//AddImplicitVersion: 
//AddDescriptionAsComments: True
IncludeTypes: CourseCreateRequest.*
//ExcludeTypes: 
//InitializeCollections: True
//TreatTypesAsStrings: 
//DefaultImports: java.math.*,java.util.*,net.servicestack.client.*
*/

import java.math.*
import java.util.*
import net.servicestack.client.*


@Route(Path="/Courses/Admin/Create", Verbs="POST")
open class CourseCreateRequest : IReturn<ResponseStatus>
{
    var course_name:String? = null
    var title:String? = null
    var pretty_title:String? = null
    var course_description:String? = null
    var is_active:Boolean? = null
    var course_requirements:ArrayList<CourseRequirementResponse> = ArrayList<CourseRequirementResponse>()
    var authorizing_uuid:String? = null
    companion object { private val responseType = ResponseStatus::class.java }
    override fun getResponseType(): Any? = CourseCreateRequest.responseType
}

@DataContract
open class ResponseStatus
{
    @DataMember(Order=1)
    var errorCode:String? = null

    @DataMember(Order=2)
    var message:String? = null

    @DataMember(Order=3)
    var stackTrace:String? = null

    @DataMember(Order=4)
    var errors:ArrayList<ResponseError> = ArrayList<ResponseError>()

    @DataMember(Order=5)
    var meta:HashMap<String,String> = HashMap<String,String>()
}

open class CourseRequirementResponse
{
    var course_id:Int? = null
    var required_course_id:Int? = null
    var requirement_group:Int? = null
    var is_prerequisite:Boolean? = null
    var is_corequisite:Boolean? = null
    var timestamp:Date? = null
}