BokaMera.API.Host

<back to all web services

CreateCompanyCreditCard

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
POST/billing/company/creditcardAdd a new credit card with Ticket Id from payment solution.Add new credit card from payment solution with their ticket id.
import 'package:servicestack/servicestack.dart';

class CompanyCreditCardQueryResponse implements IConvertible
{
    /**
    * The credit card id
    */
    // @ApiMember(Description="The credit card id")
    int? Id;

    /**
    * The credit card name
    */
    // @ApiMember(Description="The credit card name")
    String? Name;

    /**
    * If the credit card is active
    */
    // @ApiMember(Description="If the credit card is active")
    bool? Active;

    /**
    * If the credit card is valid (active and not expired)
    */
    // @ApiMember(Description="If the credit card is valid (active and not expired)")
    bool? IsValid;

    /**
    * The credit card type
    */
    // @ApiMember(Description="The credit card type")
    String? Type;

    /**
    * The credit card expiration Year
    */
    // @ApiMember(Description="The credit card expiration Year")
    String? ExpYear;

    /**
    * The credit card expiration month
    */
    // @ApiMember(Description="The credit card expiration month")
    String? ExpMonth;

    /**
    * The credit card ticket name. This is secret information and won't be displayed
    */
    // @ApiMember(Description="The credit card ticket name. This is secret information and won't be displayed")
    String? TicketId;

    /**
    * The date when the credit card was saved.
    */
    // @ApiMember(Description="The date when the credit card was saved.")
    DateTime? Created;

    /**
    * The date when the credit card was updated.
    */
    // @ApiMember(Description="The date when the credit card was updated.")
    DateTime? Updated;

    CompanyCreditCardQueryResponse({this.Id,this.Name,this.Active,this.IsValid,this.Type,this.ExpYear,this.ExpMonth,this.TicketId,this.Created,this.Updated});
    CompanyCreditCardQueryResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Name = json['Name'];
        Active = json['Active'];
        IsValid = json['IsValid'];
        Type = json['Type'];
        ExpYear = json['ExpYear'];
        ExpMonth = json['ExpMonth'];
        TicketId = json['TicketId'];
        Created = JsonConverters.fromJson(json['Created'],'DateTime',context!);
        Updated = JsonConverters.fromJson(json['Updated'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Name': Name,
        'Active': Active,
        'IsValid': IsValid,
        'Type': Type,
        'ExpYear': ExpYear,
        'ExpMonth': ExpMonth,
        'TicketId': TicketId,
        'Created': JsonConverters.toJson(Created,'DateTime',context!),
        'Updated': JsonConverters.toJson(Updated,'DateTime',context!)
    };

    getTypeName() => "CompanyCreditCardQueryResponse";
    TypeContext? context = _ctx;
}

// @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
// @ValidateRequest(Validator="IsAuthenticated")
class CreateCompanyCreditCard implements ICompany, IConvertible
{
    /**
    * 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.")
    String? CompanyId;

    /**
    * The credit card name
    */
    // @ApiMember(Description="The credit card name")
    String? Name;

    /**
    * The credit card type. In example Mastercard, Visa
    */
    // @ApiMember(Description="The credit card type. In example Mastercard, Visa")
    String? Type;

    /**
    * The credit card expiration Year
    */
    // @ApiMember(Description="The credit card expiration Year")
    String? ExpYear;

    /**
    * The credit card expiration month
    */
    // @ApiMember(Description="The credit card expiration month")
    String? ExpMonth;

    /**
    * The credit card ticket name. This is secret information and won't be displayed
    */
    // @ApiMember(Description="The credit card ticket name. This is secret information and won't be displayed")
    String? TicketId;

    CreateCompanyCreditCard({this.CompanyId,this.Name,this.Type,this.ExpYear,this.ExpMonth,this.TicketId});
    CreateCompanyCreditCard.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CompanyId = json['CompanyId'];
        Name = json['Name'];
        Type = json['Type'];
        ExpYear = json['ExpYear'];
        ExpMonth = json['ExpMonth'];
        TicketId = json['TicketId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CompanyId': CompanyId,
        'Name': Name,
        'Type': Type,
        'ExpYear': ExpYear,
        'ExpMonth': ExpMonth,
        'TicketId': TicketId
    };

    getTypeName() => "CreateCompanyCreditCard";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'api.bokamera.se', types: <String, TypeInfo> {
    'CompanyCreditCardQueryResponse': TypeInfo(TypeOf.Class, create:() => CompanyCreditCardQueryResponse()),
    'CreateCompanyCreditCard': TypeInfo(TypeOf.Class, create:() => CreateCompanyCreditCard()),
});

Dart CreateCompanyCreditCard 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 /billing/company/creditcard HTTP/1.1 
Host: api.bokamera.se 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	CompanyId: 00000000-0000-0000-0000-000000000000,
	Name: String,
	Type: String,
	ExpYear: String,
	ExpMonth: String,
	TicketId: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Id: 0,
	Name: String,
	Active: False,
	IsValid: False,
	Type: String,
	ExpYear: String,
	ExpMonth: String,
	TicketId: String,
	Created: "0001-01-01T00:00:00",
	Updated: "0001-01-01T00:00:00"
}