BokaMera.API.Host

<back to all web services

AddReference

The following routes are available for this service:
POST/referencesAdd referenceAdd reference
import 'package:servicestack/servicestack.dart';

class ReferenceQueryResponse implements IConvertible
{
    /**
    * The company id
    */
    // @ApiMember(Description="The company id")
    String? CompanyId;

    /**
    * Id of the reference
    */
    // @ApiMember(Description="Id of the reference")
    String? Id;

    /**
    * Internal Id of the reference. Example could be the Booking Id
    */
    // @ApiMember(Description="Internal Id of the reference. Example could be the Booking Id")
    String? OwnerId;

    /**
    * The type of reference, you can name this parameter what you like. Example could be system_bookingid where the system is the external system
    */
    // @ApiMember(Description="The type of reference, you can name this parameter what you like. Example could be system_bookingid where the system is the external system")
    String? ReferenceType;

    /**
    * The external data. Could be a Id or a JSON object or anything
    */
    // @ApiMember(Description="The external data. Could be a Id or a JSON object or anything")
    String? ExternalData;

    /**
    * Will show when the reference was updated.
    */
    // @ApiMember(DataType="datetime", Description="Will show when the reference was updated.")
    DateTime? Updated;

    /**
    * Will show when the reference was created.
    */
    // @ApiMember(DataType="datetime", Description="Will show when the reference was created.")
    DateTime? Created;

    /**
    * Will show who created the reference.
    */
    // @ApiMember(DataType="datetime", Description="Will show who created the reference.")
    String? CreatedBy;

    /**
    * Will show who update the reference.
    */
    // @ApiMember(DataType="datetime", Description="Will show who update the reference.")
    String? UpdatedBy;

    ResponseStatus? ResponseStatus;

    ReferenceQueryResponse({this.CompanyId,this.Id,this.OwnerId,this.ReferenceType,this.ExternalData,this.Updated,this.Created,this.CreatedBy,this.UpdatedBy,this.ResponseStatus});
    ReferenceQueryResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CompanyId = json['CompanyId'];
        Id = json['Id'];
        OwnerId = json['OwnerId'];
        ReferenceType = json['ReferenceType'];
        ExternalData = json['ExternalData'];
        Updated = JsonConverters.fromJson(json['Updated'],'DateTime',context!);
        Created = JsonConverters.fromJson(json['Created'],'DateTime',context!);
        CreatedBy = json['CreatedBy'];
        UpdatedBy = json['UpdatedBy'];
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CompanyId': CompanyId,
        'Id': Id,
        'OwnerId': OwnerId,
        'ReferenceType': ReferenceType,
        'ExternalData': ExternalData,
        'Updated': JsonConverters.toJson(Updated,'DateTime',context!),
        'Created': JsonConverters.toJson(Created,'DateTime',context!),
        'CreatedBy': CreatedBy,
        'UpdatedBy': UpdatedBy,
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
    };

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

class AddReference 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;

    /**
    * Internal Id of the reference. Example could be the Booking Id
    */
    // @ApiMember(Description="Internal Id of the reference. Example could be the Booking Id")
    String? OwnerId;

    /**
    * The type of reference, you can name this parameter what you like. Example could be system_bookingid where the system is the external system
    */
    // @ApiMember(Description="The type of reference, you can name this parameter what you like. Example could be system_bookingid where the system is the external system")
    String? ReferenceType;

    /**
    * The external data. Could be a Id or a JSON object or anything
    */
    // @ApiMember(Description="The external data. Could be a Id or a JSON object or anything")
    String? ExternalData;

    /**
    * Will show who created the reference.
    */
    // @ApiMember(DataType="datetime", Description="Will show who created the reference.")
    String? CreatedBy;

    AddReference({this.CompanyId,this.OwnerId,this.ReferenceType,this.ExternalData,this.CreatedBy});
    AddReference.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CompanyId = json['CompanyId'];
        OwnerId = json['OwnerId'];
        ReferenceType = json['ReferenceType'];
        ExternalData = json['ExternalData'];
        CreatedBy = json['CreatedBy'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CompanyId': CompanyId,
        'OwnerId': OwnerId,
        'ReferenceType': ReferenceType,
        'ExternalData': ExternalData,
        'CreatedBy': CreatedBy
    };

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

TypeContext _ctx = TypeContext(library: 'testapi.bokamera.se', types: <String, TypeInfo> {
    'ReferenceQueryResponse': TypeInfo(TypeOf.Class, create:() => ReferenceQueryResponse()),
    'AddReference': TypeInfo(TypeOf.Class, create:() => AddReference()),
});

Dart AddReference 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 /references HTTP/1.1 
Host: testapi.bokamera.se 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	CompanyId: 00000000-0000-0000-0000-000000000000,
	ReferenceType: String,
	ExternalData: String,
	CreatedBy: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	ReferenceType: String,
	ExternalData: String,
	CreatedBy: String,
	UpdatedBy: String,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}