BokaMera.API.Host

<back to all web services

RemoveTagFromCustomer

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
DELETE/customers/{CustomerId}/tags/{TagId}Remove a tag from a customerDetaches a tag from an existing customer.
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using BokaMera.API.ServiceModel.Dtos;
using BokaMera.API.ServiceModel.Db;

namespace BokaMera.API.ServiceModel.Db
{
    public partial class BaseModel
    {
    }

    public partial class UserAccessKeys
        : BaseModel
    {
        [Required]
        public virtual Guid CompanyId { get; set; }

        [Required]
        public virtual int AccessKeyTypeId { get; set; }

        [Required]
        public virtual string Value { get; set; }

        [Required]
        public virtual Guid CustomerId { get; set; }

        public virtual string? Description { get; set; }
        [Required]
        public virtual Guid Id { get; set; }
    }

}

namespace BokaMera.API.ServiceModel.Dtos
{
    public partial class CustomerCommentsResponse
    {
        public virtual int Id { get; set; }
        public virtual Guid CustomerId { get; set; }
        public virtual string Comments { get; set; }
        public virtual DateTime Updated { get; set; }
        public virtual DateTime Created { get; set; }
        public virtual Uri ImageUrl { get; set; }
    }

    public partial class CustomerQueryResponse
    {
        public virtual Guid Id { get; set; }
        public virtual string Firstname { get; set; }
        public virtual string Lastname { get; set; }
        public virtual string Email { get; set; }
        public virtual string Phone { get; set; }
        public virtual string ImageUrl { get; set; }
        public virtual string PersonalIdentityNumber { get; set; }
        public virtual List<CustomFieldConfigData> CustomFields { get; set; } = [];
        public virtual List<CustomFieldDataResponse> CustomFieldValues { get; set; } = [];
        public virtual List<CustomerCommentsResponse> Comments { get; set; } = [];
        public virtual List<UserAccessKeys> AccessKeys { get; set; } = [];
        public virtual DateTime Updated { get; set; }
        public virtual DateTime Created { get; set; }
        public virtual Object ResponseStatus { get; set; }
        public virtual bool SubscribedToNewsletter { get; set; }
        public virtual InvoiceAddressResponse InvoiceAddress { get; set; }
        public virtual List<TagResponse> Tags { get; set; } = [];
    }

    public partial class CustomFieldConfigData
    {
        ///<summary>
        ///Custom field id
        ///</summary>
        [ApiMember(Description="Custom field id")]
        public virtual int Id { get; set; }

        ///<summary>
        ///Configuration name. Example: 'Number of persons'.
        ///</summary>
        [ApiMember(Description="Configuration name. Example: 'Number of persons'.")]
        public virtual string Name { get; set; }

        ///<summary>
        ///Custom field description. Example: 'For how many persons is this booking?'
        ///</summary>
        [ApiMember(Description="Custom field description. Example: 'For how many persons is this booking?'")]
        public virtual string Description { get; set; }

        ///<summary>
        ///Field width. Example: 20 for 20px
        ///</summary>
        [ApiMember(Description="Field width. Example: 20 for 20px")]
        public virtual int? Width { get; set; }

        ///<summary>
        ///Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'
        ///</summary>
        [ApiMember(Description="Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'")]
        public virtual string DataType { get; set; }

        ///<summary>
        ///Default value of the field. Example: '3'
        ///</summary>
        [ApiMember(Description="Default value of the field. Example: '3'")]
        public virtual string DefaultValue { get; set; }

        ///<summary>
        ///Determines if the field is required to have a value or not
        ///</summary>
        [ApiMember(Description="Determines if the field is required to have a value or not")]
        public virtual bool IsMandatory { get; set; }

        ///<summary>
        ///Error message shown to the user if the field data is required but not entered
        ///</summary>
        [ApiMember(Description="Error message shown to the user if the field data is required but not entered")]
        public virtual string MandatoryErrorMessage { get; set; }

        ///<summary>
        ///Max lenght of the field
        ///</summary>
        [ApiMember(Description="Max lenght of the field")]
        public virtual int MaxLength { get; set; }

        ///<summary>
        ///If the field should have multiple lines
        ///</summary>
        [ApiMember(Description="If the field should have multiple lines")]
        public virtual bool MultipleLineText { get; set; }

        ///<summary>
        ///Regular expression used for validation of the field
        ///</summary>
        [ApiMember(Description="Regular expression used for validation of the field")]
        public virtual string RegEx { get; set; }

        ///<summary>
        ///Error message shown if the regular expression validation failed
        ///</summary>
        [ApiMember(Description="Error message shown if the regular expression validation failed")]
        public virtual string RegExErrorMessage { get; set; }

        ///<summary>
        ///The values to select from if Datatype is DropDown for this custom field
        ///</summary>
        [ApiMember(Description="The values to select from if Datatype is DropDown for this custom field")]
        public virtual List<CustomFieldValueResponse> Values { get; set; } = [];
    }

    public partial class CustomFieldDataResponse
    {
        public virtual int Id { get; set; }
        public virtual string Column { get; set; }
        public virtual string Name { get; set; }
        public virtual string Description { get; set; }
        public virtual string Value { get; set; }
        ///<summary>
        ///Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'
        ///</summary>
        [ApiMember(Description="Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'")]
        public virtual string DataType { get; set; }
    }

    public partial class CustomFieldValueResponse
    {
        public virtual string Value { get; set; }
    }

    public partial class InvoiceAddressResponse
    {
        public virtual Guid InvoiceAddressId { get; set; }
        public virtual Guid? UserId { get; set; }
        public virtual string CorporateIdentityNumber { get; set; }
        public virtual string InvoiceAddress1 { get; set; }
        public virtual string InvoiceAddress2 { get; set; }
        public virtual string InvoiceCity { get; set; }
        public virtual string InvoicePostalCode { get; set; }
        public virtual string InvoiceCountryCode { get; set; }
    }

    [ApiResponse(Description="Returned if the customer or tag relation was not found", StatusCode=404)]
    [ApiResponse(Description="Returned if the current user is not allowed to perform the action", StatusCode=401)]
    [ValidateRequest("IsAuthenticated")]
    public partial class RemoveTagFromCustomer
        : ICompany
    {
        ///<summary>
        ///The company id, if empty will use the company id for the user you are logged in with.
        ///</summary>
        [ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")]
        public virtual Guid? CompanyId { get; set; }

        ///<summary>
        ///The customer id.
        ///</summary>
        [ApiMember(Description="The customer id.", IsRequired=true, ParameterType="path")]
        public virtual Guid CustomerId { get; set; }

        ///<summary>
        ///The tag id to remove.
        ///</summary>
        [ApiMember(Description="The tag id to remove.", IsRequired=true, ParameterType="path")]
        public virtual int TagId { get; set; }
    }

    public partial class TagResponse
    {
        public virtual int Id { get; set; }
        public virtual Guid CompanyId { get; set; }
        public virtual string Name { get; set; }
        public virtual int Scope { get; set; }
        public virtual string Color { get; set; }
        public virtual int SortOrder { get; set; }
        public virtual bool Active { get; set; }
        public virtual DateTime CreatedDate { get; set; }
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

}

C# RemoveTagFromCustomer 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.

DELETE /customers/{CustomerId}/tags/{TagId} HTTP/1.1 
Host: api.bookmore.com 
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"Firstname":"String","Lastname":"String","Email":"String","Phone":"String","ImageUrl":"String","PersonalIdentityNumber":"String","CustomFields":[{"Id":0,"Name":"String","Description":"String","Width":0,"DataType":"String","DefaultValue":"String","IsMandatory":false,"MandatoryErrorMessage":"String","MaxLength":0,"MultipleLineText":false,"RegEx":"String","RegExErrorMessage":"String","Values":[{"Value":"String"}]}],"CustomFieldValues":[{"Id":0,"Column":"String","Name":"String","Description":"String","Value":"String","DataType":"String"}],"Comments":[{"Id":0,"Comments":"String"}],"AccessKeys":[{"AccessKeyTypeId":0,"Value":"String","Description":"String"}],"ResponseStatus":{},"SubscribedToNewsletter":false,"InvoiceAddress":{"UserId":"00000000-0000-0000-0000-000000000000","CorporateIdentityNumber":"String","InvoiceAddress1":"String","InvoiceAddress2":"String","InvoiceCity":"String","InvoicePostalCode":"String","InvoiceCountryCode":"String"},"Tags":[{"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"}}}]}