/* Options:
Date: 2025-04-10 06:51:11
Version: 6.10
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://staging-api.billiecart.com.au

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

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

public class dtos
{

    @Route(Path="/cars", Verbs="POST")
    public static class CreateCarRequest extends PostOperationTenanted<CreateCarResponse> implements IReturn<CreateCarResponse>
    {
        public Integer year = null;
        public String make = null;
        public String model = null;
        
        public Integer getYear() { return year; }
        public CreateCarRequest setYear(Integer value) { this.year = value; return this; }
        public String getMake() { return make; }
        public CreateCarRequest setMake(String value) { this.make = value; return this; }
        public String getModel() { return model; }
        public CreateCarRequest setModel(String value) { this.model = value; return this; }
        private static Object responseType = CreateCarResponse.class;
        public Object getResponseType() { return responseType; }
    }

    public static class CreateCarResponse
    {
        public ResponseStatus responseStatus = null;
        public Car car = null;
        
        public ResponseStatus getResponseStatus() { return responseStatus; }
        public CreateCarResponse setResponseStatus(ResponseStatus value) { this.responseStatus = value; return this; }
        public Car getCar() { return car; }
        public CreateCarResponse setCar(Car value) { this.car = value; return this; }
    }

    public static class PostOperationUnTenanted<TResponse> implements IPost
    {
        
    }

    public static class PostOperationTenanted<TResponse> extends PostOperationUnTenanted<TResponse> implements ITenantedRequest
    {
        public String organisationId = null;
        
        public String getOrganisationId() { return organisationId; }
        public PostOperationTenanted<TResponse> setOrganisationId(String value) { this.organisationId = value; return this; }
    }

    public static interface ITenantedRequest
    {
        public String organisationId = null;
    }

    public static class Car implements IIdentifiableResource
    {
        public CarManufacturer manufacturer = null;
        public CarLicensePlate plate = null;
        public CarOwner owner = null;
        public ArrayList<CarManager> managers = null;
        public String status = null;
        public Boolean altered = null;
        public String id = null;
        
        public CarManufacturer getManufacturer() { return manufacturer; }
        public Car setManufacturer(CarManufacturer value) { this.manufacturer = value; return this; }
        public CarLicensePlate getPlate() { return plate; }
        public Car setPlate(CarLicensePlate value) { this.plate = value; return this; }
        public CarOwner getOwner() { return owner; }
        public Car setOwner(CarOwner value) { this.owner = value; return this; }
        public ArrayList<CarManager> getManagers() { return managers; }
        public Car setManagers(ArrayList<CarManager> value) { this.managers = value; return this; }
        public String getStatus() { return status; }
        public Car setStatus(String value) { this.status = value; return this; }
        public Boolean isAltered() { return altered; }
        public Car setAltered(Boolean value) { this.altered = value; return this; }
        public String getId() { return id; }
        public Car setId(String value) { this.id = value; return this; }
    }

    public static interface IIdentifiableResource
    {
        public String id = null;
    }

    public static class CarManufacturer
    {
        public Integer year = null;
        public String make = null;
        public String model = null;
        
        public Integer getYear() { return year; }
        public CarManufacturer setYear(Integer value) { this.year = value; return this; }
        public String getMake() { return make; }
        public CarManufacturer setMake(String value) { this.make = value; return this; }
        public String getModel() { return model; }
        public CarManufacturer setModel(String value) { this.model = value; return this; }
    }

    public static class CarLicensePlate
    {
        public String jurisdiction = null;
        public String number = null;
        
        public String getJurisdiction() { return jurisdiction; }
        public CarLicensePlate setJurisdiction(String value) { this.jurisdiction = value; return this; }
        public String getNumber() { return number; }
        public CarLicensePlate setNumber(String value) { this.number = value; return this; }
    }

    public static class CarOwner
    {
        public String id = null;
        
        public String getId() { return id; }
        public CarOwner setId(String value) { this.id = value; return this; }
    }

    public static class CarManager
    {
        public String id = null;
        
        public String getId() { return id; }
        public CarManager setId(String value) { this.id = value; return this; }
    }

}