BokaMera.API.Host

<back to all web services

CreateTag

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
POST/tagsCreate a new tagCreates a new tag for the company.
import Foundation
import ServiceStack

// @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 class CreateTag : ICompany, Codable
{
    /**
    * 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 var companyId:String?

    /**
    * The tag name.
    */
    // @ApiMember(Description="The tag name.", IsRequired=true)
    public var name:String

    /**
    * 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 var scope:TagScope

    /**
    * 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 var color:String

    /**
    * The sort order for the tag.
    */
    // @ApiMember(Description="The sort order for the tag.")
    public var sortOrder:Int

    required public init(){}
}

public enum TagScope : String, Codable
{
    case Booking
    case Customer
}

public class TagResponse : Codable
{
    public var id:Int
    public var companyId:String
    public var name:String
    public var scope:Int
    public var color:String
    public var sortOrder:Int
    public var active:Bool
    public var createdDate:Date
    public var responseStatus:ResponseStatus

    required public init(){}
}


Swift CreateTag DTOs

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

HTTP + 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
		}
	}
}