| Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
| POST | /tags | Create a new tag | Creates a new tag for the company. |
|---|
import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;
public class dtos
{
@ApiResponse(Description="Returned if there is a validation error on the input parameters", StatusCode=400)
// @ApiResponse(Description="Returned if the current user is not allowed to perform the action", StatusCode=401)
@ValidateRequest(Validator="IsAuthenticated")
public static class CreateTag implements ICompany
{
/**
* The company id, if empty will use the company id for the user you are logged in with.
*/
@ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")
public UUID CompanyId = null;
/**
* The tag name.
*/
@ApiMember(Description="The tag name.", IsRequired=true)
public String Name = null;
/**
* The scope this tag applies to. 0 = Booking, 1 = Customer.
*/
@ApiMember(Description="The scope this tag applies to. 0 = Booking, 1 = Customer.", IsRequired=true)
public TagScope Scope = null;
/**
* The display color for the tag, e.g. '#FF5733' or 'red'.
*/
@ApiMember(Description="The display color for the tag, e.g. '#FF5733' or 'red'.")
public String Color = null;
/**
* The sort order for the tag.
*/
@ApiMember(Description="The sort order for the tag.")
public Integer SortOrder = null;
public UUID getCompanyId() { return CompanyId; }
public CreateTag setCompanyId(UUID value) { this.CompanyId = value; return this; }
public String getName() { return Name; }
public CreateTag setName(String value) { this.Name = value; return this; }
public TagScope getScope() { return Scope; }
public CreateTag setScope(TagScope value) { this.Scope = value; return this; }
public String getColor() { return Color; }
public CreateTag setColor(String value) { this.Color = value; return this; }
public Integer getSortOrder() { return SortOrder; }
public CreateTag setSortOrder(Integer value) { this.SortOrder = value; return this; }
}
public static enum TagScope
{
Booking,
Customer;
}
public static class TagResponse
{
public Integer Id = null;
public UUID CompanyId = null;
public String Name = null;
public Integer Scope = null;
public String Color = null;
public Integer SortOrder = null;
public Boolean Active = null;
public Date CreatedDate = null;
public ResponseStatus ResponseStatus = null;
public Integer getId() { return Id; }
public TagResponse setId(Integer value) { this.Id = value; return this; }
public UUID getCompanyId() { return CompanyId; }
public TagResponse setCompanyId(UUID value) { this.CompanyId = value; return this; }
public String getName() { return Name; }
public TagResponse setName(String value) { this.Name = value; return this; }
public Integer getScope() { return Scope; }
public TagResponse setScope(Integer value) { this.Scope = value; return this; }
public String getColor() { return Color; }
public TagResponse setColor(String value) { this.Color = value; return this; }
public Integer getSortOrder() { return SortOrder; }
public TagResponse setSortOrder(Integer value) { this.SortOrder = value; return this; }
public Boolean isActive() { return Active; }
public TagResponse setActive(Boolean value) { this.Active = value; return this; }
public Date getCreatedDate() { return CreatedDate; }
public TagResponse setCreatedDate(Date value) { this.CreatedDate = value; return this; }
public ResponseStatus getResponseStatus() { return ResponseStatus; }
public TagResponse setResponseStatus(ResponseStatus value) { this.ResponseStatus = value; return this; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /tags HTTP/1.1
Host: api.bookmore.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
CompanyId: 00000000-0000-0000-0000-000000000000,
Name: String,
Scope: Booking,
Color: String,
SortOrder: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Id: 0,
Name: String,
Scope: 0,
Color: String,
SortOrder: 0,
Active: False,
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
}
}