BokaMera.API.Host

<back to all web services

CreateSupportCase

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
POST/support/casesAdd a new support caseAdd a new support case to the company of the currently logged in user, only administrators are allowed to add support cases.
import java.math.*;
import java.util.*;
import net.servicestack.client.*;

public class dtos
{

    @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
    // @ApiResponse(Description="You have too low privilegies to call this service", StatusCode=403)
    @ValidateRequest(Validator="IsAuthenticated")
    public static class CreateSupportCase implements ICompany
    {
        /**
        * Enter the company id, if blank company id and you are an admin, your company id will be used.
        */
        @ApiMember(Description="Enter the company id, if blank company id and you are an admin, your company id will be used.", IsRequired=true)
        public UUID CompanyId = null;

        /**
        * The case title.
        */
        @ApiMember(Description="The case title.")
        public String Title = null;

        /**
        * The case description.
        */
        @ApiMember(Description="The case description.")
        public String Description = null;

        /**
        * If the case type id.
        */
        @ApiMember(Description="If the case type id.")
        public Integer CaseTypeId = null;

        /**
        * If the case area id.
        */
        @ApiMember(Description="If the case area id.")
        public Integer CaseAreaId = null;
        
        public UUID getCompanyId() { return CompanyId; }
        public CreateSupportCase setCompanyId(UUID value) { this.CompanyId = value; return this; }
        public String getTitle() { return Title; }
        public CreateSupportCase setTitle(String value) { this.Title = value; return this; }
        public String getDescription() { return Description; }
        public CreateSupportCase setDescription(String value) { this.Description = value; return this; }
        public Integer getCaseTypeId() { return CaseTypeId; }
        public CreateSupportCase setCaseTypeId(Integer value) { this.CaseTypeId = value; return this; }
        public Integer getCaseAreaId() { return CaseAreaId; }
        public CreateSupportCase setCaseAreaId(Integer value) { this.CaseAreaId = value; return this; }
    }

    public static class SupportCaseQueryResponse
    {
        /**
        * The support case id
        */
        @ApiMember(Description="The support case id")
        public Integer Id = null;

        /**
        * The company user id
        */
        @ApiMember(Description="The company user id")
        public UUID CompanyUserId = null;

        /**
        * The case title.
        */
        @ApiMember(Description="The case title.")
        public String Title = null;

        /**
        * The case description.
        */
        @ApiMember(Description="The case description.")
        public String Description = null;

        /**
        * The case status id.
        */
        @ApiMember(Description="The case status id.")
        public Integer CaseStatusId = null;

        /**
        * If the case type id.
        */
        @ApiMember(Description="If the case type id.")
        public Integer CaseTypeId = null;

        /**
        * If the case area id.
        */
        @ApiMember(Description="If the case area id.")
        public Integer CaseAreaId = null;

        /**
        * The case created by.
        */
        @ApiMember(Description="The case created by.")
        public String CreatedBy = null;

        /**
        * The case updated by.
        */
        @ApiMember(Description="The case updated by.")
        public String UpdatedBy = null;

        /**
        * The case solved by.
        */
        @ApiMember(Description="The case solved by.")
        public String SolvedBy = null;

        /**
        * If case updated date.
        */
        @ApiMember(Description="If case updated date.")
        public Date Updated = null;

        /**
        * If case created date.
        */
        @ApiMember(Description="If case created date.")
        public Date Created = null;

        /**
        * Who owns the support case.
        */
        @ApiMember(Description="Who owns the support case.")
        public String CaseOwner = null;

        /**
        * The case status information.
        */
        @ApiMember(Description="The case status information.")
        public SupportCaseStatusResponse CaseStatus = null;

        /**
        * The case type information.
        */
        @ApiMember(Description="The case type information.")
        public SupportCaseTypeResponse CaseType = null;

        /**
        * The case area information.
        */
        @ApiMember(Description="The case area information.")
        public SupportCaseAreaResponse CaseArea = null;

        /**
        * The case comments.
        */
        @ApiMember(Description="The case comments.")
        public ArrayList<SupportCaseCommentsResponse> Comments = null;

        /**
        * The case attachments.
        */
        @ApiMember(Description="The case attachments.")
        public ArrayList<SupportCaseAttachmentResponse> Attachments = null;

        /**
        * The case status options to select from.
        */
        @ApiMember(Description="The case status options to select from.")
        public ArrayList<SupportCaseStatusResponse> CaseStatusOptions = null;

        /**
        * The case type  options to select from.
        */
        @ApiMember(Description="The case type  options to select from.")
        public ArrayList<SupportCaseTypeResponse> CaseTypeOptions = null;

        /**
        * The case area  options to select from.
        */
        @ApiMember(Description="The case area  options to select from.")
        public ArrayList<SupportCaseAreaResponse> CaseAreaOptions = null;
        
        public Integer getId() { return Id; }
        public SupportCaseQueryResponse setId(Integer value) { this.Id = value; return this; }
        public UUID getCompanyUserId() { return CompanyUserId; }
        public SupportCaseQueryResponse setCompanyUserId(UUID value) { this.CompanyUserId = value; return this; }
        public String getTitle() { return Title; }
        public SupportCaseQueryResponse setTitle(String value) { this.Title = value; return this; }
        public String getDescription() { return Description; }
        public SupportCaseQueryResponse setDescription(String value) { this.Description = value; return this; }
        public Integer getCaseStatusId() { return CaseStatusId; }
        public SupportCaseQueryResponse setCaseStatusId(Integer value) { this.CaseStatusId = value; return this; }
        public Integer getCaseTypeId() { return CaseTypeId; }
        public SupportCaseQueryResponse setCaseTypeId(Integer value) { this.CaseTypeId = value; return this; }
        public Integer getCaseAreaId() { return CaseAreaId; }
        public SupportCaseQueryResponse setCaseAreaId(Integer value) { this.CaseAreaId = value; return this; }
        public String getCreatedBy() { return CreatedBy; }
        public SupportCaseQueryResponse setCreatedBy(String value) { this.CreatedBy = value; return this; }
        public String getUpdatedBy() { return UpdatedBy; }
        public SupportCaseQueryResponse setUpdatedBy(String value) { this.UpdatedBy = value; return this; }
        public String getSolvedBy() { return SolvedBy; }
        public SupportCaseQueryResponse setSolvedBy(String value) { this.SolvedBy = value; return this; }
        public Date getUpdated() { return Updated; }
        public SupportCaseQueryResponse setUpdated(Date value) { this.Updated = value; return this; }
        public Date getCreated() { return Created; }
        public SupportCaseQueryResponse setCreated(Date value) { this.Created = value; return this; }
        public String getCaseOwner() { return CaseOwner; }
        public SupportCaseQueryResponse setCaseOwner(String value) { this.CaseOwner = value; return this; }
        public SupportCaseStatusResponse getCaseStatus() { return CaseStatus; }
        public SupportCaseQueryResponse setCaseStatus(SupportCaseStatusResponse value) { this.CaseStatus = value; return this; }
        public SupportCaseTypeResponse getCaseType() { return CaseType; }
        public SupportCaseQueryResponse setCaseType(SupportCaseTypeResponse value) { this.CaseType = value; return this; }
        public SupportCaseAreaResponse getCaseArea() { return CaseArea; }
        public SupportCaseQueryResponse setCaseArea(SupportCaseAreaResponse value) { this.CaseArea = value; return this; }
        public ArrayList<SupportCaseCommentsResponse> getComments() { return Comments; }
        public SupportCaseQueryResponse setComments(ArrayList<SupportCaseCommentsResponse> value) { this.Comments = value; return this; }
        public ArrayList<SupportCaseAttachmentResponse> getAttachments() { return Attachments; }
        public SupportCaseQueryResponse setAttachments(ArrayList<SupportCaseAttachmentResponse> value) { this.Attachments = value; return this; }
        public ArrayList<SupportCaseStatusResponse> getCaseStatusOptions() { return CaseStatusOptions; }
        public SupportCaseQueryResponse setCaseStatusOptions(ArrayList<SupportCaseStatusResponse> value) { this.CaseStatusOptions = value; return this; }
        public ArrayList<SupportCaseTypeResponse> getCaseTypeOptions() { return CaseTypeOptions; }
        public SupportCaseQueryResponse setCaseTypeOptions(ArrayList<SupportCaseTypeResponse> value) { this.CaseTypeOptions = value; return this; }
        public ArrayList<SupportCaseAreaResponse> getCaseAreaOptions() { return CaseAreaOptions; }
        public SupportCaseQueryResponse setCaseAreaOptions(ArrayList<SupportCaseAreaResponse> value) { this.CaseAreaOptions = value; return this; }
    }

    public static class SupportCaseStatusResponse
    {
        /**
        * The status id
        */
        @ApiMember(Description="The status id")
        public Integer Id = null;

        /**
        * The status name
        */
        @ApiMember(Description="The status name")
        public String Name = null;

        /**
        * The status description
        */
        @ApiMember(Description="The status description")
        public String Description = null;

        /**
        * The status icon
        */
        @ApiMember(Description="The status icon")
        public String Icon = null;

        /**
        * The status color
        */
        @ApiMember(Description="The status color")
        public String Color = null;
        
        public Integer getId() { return Id; }
        public SupportCaseStatusResponse setId(Integer value) { this.Id = value; return this; }
        public String getName() { return Name; }
        public SupportCaseStatusResponse setName(String value) { this.Name = value; return this; }
        public String getDescription() { return Description; }
        public SupportCaseStatusResponse setDescription(String value) { this.Description = value; return this; }
        public String getIcon() { return Icon; }
        public SupportCaseStatusResponse setIcon(String value) { this.Icon = value; return this; }
        public String getColor() { return Color; }
        public SupportCaseStatusResponse setColor(String value) { this.Color = value; return this; }
    }

    public static class SupportCaseTypeResponse
    {
        /**
        * The type id
        */
        @ApiMember(Description="The type id")
        public Integer Id = null;

        /**
        * The type name
        */
        @ApiMember(Description="The type name")
        public String Name = null;

        /**
        * The type description
        */
        @ApiMember(Description="The type description")
        public String Description = null;
        
        public Integer getId() { return Id; }
        public SupportCaseTypeResponse setId(Integer value) { this.Id = value; return this; }
        public String getName() { return Name; }
        public SupportCaseTypeResponse setName(String value) { this.Name = value; return this; }
        public String getDescription() { return Description; }
        public SupportCaseTypeResponse setDescription(String value) { this.Description = value; return this; }
    }

    public static class SupportCaseAreaResponse
    {
        /**
        * The area id
        */
        @ApiMember(Description="The area id")
        public Integer Id = null;

        /**
        * The area name
        */
        @ApiMember(Description="The area name")
        public String Name = null;

        /**
        * The area description
        */
        @ApiMember(Description="The area description")
        public String Description = null;
        
        public Integer getId() { return Id; }
        public SupportCaseAreaResponse setId(Integer value) { this.Id = value; return this; }
        public String getName() { return Name; }
        public SupportCaseAreaResponse setName(String value) { this.Name = value; return this; }
        public String getDescription() { return Description; }
        public SupportCaseAreaResponse setDescription(String value) { this.Description = value; return this; }
    }

    public static class SupportCaseCommentsResponse
    {
        /**
        * The case id
        */
        @ApiMember(Description="The case id")
        public Integer SupportCaseId = null;

        /**
        * The comments id
        */
        @ApiMember(Description="The comments id")
        public Integer Id = null;

        /**
        * The case comment
        */
        @ApiMember(Description="The case comment")
        public String Comment = null;

        /**
        * The case comment created by
        */
        @ApiMember(Description="The case comment created by")
        public String CreatedBy = null;

        /**
        * The case comment created date
        */
        @ApiMember(Description="The case comment created date")
        public Date Created = null;
        
        public Integer getSupportCaseId() { return SupportCaseId; }
        public SupportCaseCommentsResponse setSupportCaseId(Integer value) { this.SupportCaseId = value; return this; }
        public Integer getId() { return Id; }
        public SupportCaseCommentsResponse setId(Integer value) { this.Id = value; return this; }
        public String getComment() { return Comment; }
        public SupportCaseCommentsResponse setComment(String value) { this.Comment = value; return this; }
        public String getCreatedBy() { return CreatedBy; }
        public SupportCaseCommentsResponse setCreatedBy(String value) { this.CreatedBy = value; return this; }
        public Date getCreated() { return Created; }
        public SupportCaseCommentsResponse setCreated(Date value) { this.Created = value; return this; }
    }

    public static class SupportCaseAttachmentResponse
    {
        /**
        * The attachment id
        */
        @ApiMember(Description="The attachment id")
        public Integer Id = null;

        /**
        * The attachment file url
        */
        @ApiMember(Description="The attachment file url")
        public String FileUrl = null;
        
        public Integer getId() { return Id; }
        public SupportCaseAttachmentResponse setId(Integer value) { this.Id = value; return this; }
        public String getFileUrl() { return FileUrl; }
        public SupportCaseAttachmentResponse setFileUrl(String value) { this.FileUrl = value; return this; }
    }

}

Java CreateSupportCase DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /support/cases HTTP/1.1 
Host: testapi.bokamera.se 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"CompanyId":"00000000-0000-0000-0000-000000000000","Title":"String","Description":"String","CaseTypeId":0,"CaseAreaId":0}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"Id":0,"Title":"String","Description":"String","CaseStatusId":0,"CaseTypeId":0,"CaseAreaId":0,"CreatedBy":"String","UpdatedBy":"String","SolvedBy":"String","CaseOwner":"String","CaseStatus":{"Id":0,"Name":"String","Description":"String","Icon":"String","Color":"String"},"CaseType":{"Id":0,"Name":"String","Description":"String"},"CaseArea":{"Id":0,"Name":"String","Description":"String"},"Comments":[{"SupportCaseId":0,"Id":0,"Comment":"String","CreatedBy":"String"}],"Attachments":[{"Id":0,"FileUrl":"String"}],"CaseStatusOptions":[{"Id":0,"Name":"String","Description":"String","Icon":"String","Color":"String"}],"CaseTypeOptions":[{"Id":0,"Name":"String","Description":"String"}],"CaseAreaOptions":[{"Id":0,"Name":"String","Description":"String"}]}