Required role: | bookingsupplier-administrator-write |
POST | /customers | Create a new customer | Creates a new customer, if an admin user is making the request, the user will be associated with the admin user's company. |
---|
import 'package:servicestack/servicestack.dart';
class CustomFieldValueResponse implements IConvertible
{
String? Value;
CustomFieldValueResponse({this.Value});
CustomFieldValueResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Value = json['Value'];
return this;
}
Map<String, dynamic> toJson() => {
'Value': Value
};
getTypeName() => "CustomFieldValueResponse";
TypeContext? context = _ctx;
}
class CustomFieldConfigData implements IConvertible
{
/**
* Custom field id
*/
// @ApiMember(Description="Custom field id")
int? Id;
/**
* Configuration name. Example: 'Number of persons'.
*/
// @ApiMember(Description="Configuration name. Example: 'Number of persons'.")
String? Name;
/**
* Custom field description. Example: 'For how many persons is this booking?'
*/
// @ApiMember(Description="Custom field description. Example: 'For how many persons is this booking?'")
String? Description;
/**
* Field width. Example: 20 for 20px
*/
// @ApiMember(Description="Field width. Example: 20 for 20px")
int? Width;
/**
* Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'
*/
// @ApiMember(Description="Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'")
String? DataType;
/**
* Default value of the field. Example: '3'
*/
// @ApiMember(Description="Default value of the field. Example: '3'")
String? DefaultValue;
/**
* Determines if the field is required to have a value or not
*/
// @ApiMember(Description="Determines if the field is required to have a value or not")
bool? IsMandatory;
/**
* Error message shown to the user if the field data is required but not entered
*/
// @ApiMember(Description="Error message shown to the user if the field data is required but not entered")
String? MandatoryErrorMessage;
/**
* Max lenght of the field
*/
// @ApiMember(Description="Max lenght of the field")
int? MaxLength;
/**
* If the field should have multiple lines
*/
// @ApiMember(Description="If the field should have multiple lines")
bool? MultipleLineText;
/**
* Regular expression used for validation of the field
*/
// @ApiMember(Description="Regular expression used for validation of the field")
String? RegEx;
/**
* Error message shown if the regular expression validation failed
*/
// @ApiMember(Description="Error message shown if the regular expression validation failed")
String? RegExErrorMessage;
/**
* The values to select from if Datatype is DropDown for this custom field
*/
// @ApiMember(Description="The values to select from if Datatype is DropDown for this custom field")
List<CustomFieldValueResponse>? Values;
CustomFieldConfigData({this.Id,this.Name,this.Description,this.Width,this.DataType,this.DefaultValue,this.IsMandatory,this.MandatoryErrorMessage,this.MaxLength,this.MultipleLineText,this.RegEx,this.RegExErrorMessage,this.Values});
CustomFieldConfigData.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
Name = json['Name'];
Description = json['Description'];
Width = json['Width'];
DataType = json['DataType'];
DefaultValue = json['DefaultValue'];
IsMandatory = json['IsMandatory'];
MandatoryErrorMessage = json['MandatoryErrorMessage'];
MaxLength = json['MaxLength'];
MultipleLineText = json['MultipleLineText'];
RegEx = json['RegEx'];
RegExErrorMessage = json['RegExErrorMessage'];
Values = JsonConverters.fromJson(json['Values'],'List<CustomFieldValueResponse>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'Name': Name,
'Description': Description,
'Width': Width,
'DataType': DataType,
'DefaultValue': DefaultValue,
'IsMandatory': IsMandatory,
'MandatoryErrorMessage': MandatoryErrorMessage,
'MaxLength': MaxLength,
'MultipleLineText': MultipleLineText,
'RegEx': RegEx,
'RegExErrorMessage': RegExErrorMessage,
'Values': JsonConverters.toJson(Values,'List<CustomFieldValueResponse>',context!)
};
getTypeName() => "CustomFieldConfigData";
TypeContext? context = _ctx;
}
class CustomFieldDataResponse implements IConvertible
{
int? Id;
String? Column;
String? Name;
String? Description;
String? Value;
/**
* Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'
*/
// @ApiMember(Description="Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'")
String? DataType;
CustomFieldDataResponse({this.Id,this.Column,this.Name,this.Description,this.Value,this.DataType});
CustomFieldDataResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
Column = json['Column'];
Name = json['Name'];
Description = json['Description'];
Value = json['Value'];
DataType = json['DataType'];
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'Column': Column,
'Name': Name,
'Description': Description,
'Value': Value,
'DataType': DataType
};
getTypeName() => "CustomFieldDataResponse";
TypeContext? context = _ctx;
}
class CustomerCommentsResponse implements IConvertible
{
int? Id;
String? CustomerId;
String? Comments;
DateTime? Updated;
DateTime? Created;
Uri? ImageUrl;
CustomerCommentsResponse({this.Id,this.CustomerId,this.Comments,this.Updated,this.Created,this.ImageUrl});
CustomerCommentsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
CustomerId = json['CustomerId'];
Comments = json['Comments'];
Updated = JsonConverters.fromJson(json['Updated'],'DateTime',context!);
Created = JsonConverters.fromJson(json['Created'],'DateTime',context!);
ImageUrl = JsonConverters.fromJson(json['ImageUrl'],'Uri',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'CustomerId': CustomerId,
'Comments': Comments,
'Updated': JsonConverters.toJson(Updated,'DateTime',context!),
'Created': JsonConverters.toJson(Created,'DateTime',context!),
'ImageUrl': JsonConverters.toJson(ImageUrl,'Uri',context!)
};
getTypeName() => "CustomerCommentsResponse";
TypeContext? context = _ctx;
}
class BaseModel implements IConvertible
{
BaseModel();
BaseModel.fromJson(Map<String, dynamic> json) : super();
fromMap(Map<String, dynamic> json) {
return this;
}
Map<String, dynamic> toJson() => {};
getTypeName() => "BaseModel";
TypeContext? context = _ctx;
}
class UserAccessKeys extends BaseModel implements IConvertible
{
// @Required()
String? CompanyId;
// @Required()
int? AccessKeyTypeId;
// @Required()
String? Value;
// @Required()
String? CustomerId;
String? Description;
// @Required()
String? Id;
UserAccessKeys({this.CompanyId,this.AccessKeyTypeId,this.Value,this.CustomerId,this.Description,this.Id});
UserAccessKeys.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
CompanyId = json['CompanyId'];
AccessKeyTypeId = json['AccessKeyTypeId'];
Value = json['Value'];
CustomerId = json['CustomerId'];
Description = json['Description'];
Id = json['Id'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'CompanyId': CompanyId,
'AccessKeyTypeId': AccessKeyTypeId,
'Value': Value,
'CustomerId': CustomerId,
'Description': Description,
'Id': Id
});
getTypeName() => "UserAccessKeys";
TypeContext? context = _ctx;
}
class InvoiceAddress implements IConvertible
{
String? CorporateIdentityNumber;
String? InvoiceAddress1;
String? InvoiceAddress2;
String? InvoiceCity;
String? InvoicePostalCode;
String? InvoiceCountryCode;
InvoiceAddress({this.CorporateIdentityNumber,this.InvoiceAddress1,this.InvoiceAddress2,this.InvoiceCity,this.InvoicePostalCode,this.InvoiceCountryCode});
InvoiceAddress.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
CorporateIdentityNumber = json['CorporateIdentityNumber'];
InvoiceAddress1 = json['InvoiceAddress1'];
InvoiceAddress2 = json['InvoiceAddress2'];
InvoiceCity = json['InvoiceCity'];
InvoicePostalCode = json['InvoicePostalCode'];
InvoiceCountryCode = json['InvoiceCountryCode'];
return this;
}
Map<String, dynamic> toJson() => {
'CorporateIdentityNumber': CorporateIdentityNumber,
'InvoiceAddress1': InvoiceAddress1,
'InvoiceAddress2': InvoiceAddress2,
'InvoiceCity': InvoiceCity,
'InvoicePostalCode': InvoicePostalCode,
'InvoiceCountryCode': InvoiceCountryCode
};
getTypeName() => "InvoiceAddress";
TypeContext? context = _ctx;
}
class CustomerQueryResponse implements IConvertible
{
String? Id;
String? Firstname;
String? Lastname;
String? Email;
String? Phone;
String? ImageUrl;
List<CustomFieldConfigData>? CustomFields;
List<CustomFieldDataResponse>? CustomFieldValues;
List<CustomerCommentsResponse>? Comments;
List<UserAccessKeys>? AccessKeys;
DateTime? Updated;
DateTime? Created;
dynamic? ResponseStatus;
bool? SubscribedToNewsletter;
InvoiceAddress? InvoiceAddress;
CustomerQueryResponse({this.Id,this.Firstname,this.Lastname,this.Email,this.Phone,this.ImageUrl,this.CustomFields,this.CustomFieldValues,this.Comments,this.AccessKeys,this.Updated,this.Created,this.ResponseStatus,this.SubscribedToNewsletter,this.InvoiceAddress});
CustomerQueryResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
Firstname = json['Firstname'];
Lastname = json['Lastname'];
Email = json['Email'];
Phone = json['Phone'];
ImageUrl = json['ImageUrl'];
CustomFields = JsonConverters.fromJson(json['CustomFields'],'List<CustomFieldConfigData>',context!);
CustomFieldValues = JsonConverters.fromJson(json['CustomFieldValues'],'List<CustomFieldDataResponse>',context!);
Comments = JsonConverters.fromJson(json['Comments'],'List<CustomerCommentsResponse>',context!);
AccessKeys = JsonConverters.fromJson(json['AccessKeys'],'List<UserAccessKeys>',context!);
Updated = JsonConverters.fromJson(json['Updated'],'DateTime',context!);
Created = JsonConverters.fromJson(json['Created'],'DateTime',context!);
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'dynamic',context!);
SubscribedToNewsletter = json['SubscribedToNewsletter'];
InvoiceAddress = JsonConverters.fromJson(json['InvoiceAddress'],'InvoiceAddress',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'Firstname': Firstname,
'Lastname': Lastname,
'Email': Email,
'Phone': Phone,
'ImageUrl': ImageUrl,
'CustomFields': JsonConverters.toJson(CustomFields,'List<CustomFieldConfigData>',context!),
'CustomFieldValues': JsonConverters.toJson(CustomFieldValues,'List<CustomFieldDataResponse>',context!),
'Comments': JsonConverters.toJson(Comments,'List<CustomerCommentsResponse>',context!),
'AccessKeys': JsonConverters.toJson(AccessKeys,'List<UserAccessKeys>',context!),
'Updated': JsonConverters.toJson(Updated,'DateTime',context!),
'Created': JsonConverters.toJson(Created,'DateTime',context!),
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'dynamic',context!),
'SubscribedToNewsletter': SubscribedToNewsletter,
'InvoiceAddress': JsonConverters.toJson(InvoiceAddress,'InvoiceAddress',context!)
};
getTypeName() => "CustomerQueryResponse";
TypeContext? context = _ctx;
}
class UpdateCustomerResponse extends CustomerQueryResponse implements IConvertible
{
String? FacebookUserName;
String? UserId;
String? CompanyId;
DateTime? CreatedDate;
List<UserAccessKeys>? DeletedAccessKeys;
List<UserAccessKeys>? CreatedOrUpdatedAccessKeys;
UpdateCustomerResponse({this.FacebookUserName,this.UserId,this.CompanyId,this.CreatedDate,this.DeletedAccessKeys,this.CreatedOrUpdatedAccessKeys});
UpdateCustomerResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
FacebookUserName = json['FacebookUserName'];
UserId = json['UserId'];
CompanyId = json['CompanyId'];
CreatedDate = JsonConverters.fromJson(json['CreatedDate'],'DateTime',context!);
DeletedAccessKeys = JsonConverters.fromJson(json['DeletedAccessKeys'],'List<UserAccessKeys>',context!);
CreatedOrUpdatedAccessKeys = JsonConverters.fromJson(json['CreatedOrUpdatedAccessKeys'],'List<UserAccessKeys>',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'FacebookUserName': FacebookUserName,
'UserId': UserId,
'CompanyId': CompanyId,
'CreatedDate': JsonConverters.toJson(CreatedDate,'DateTime',context!),
'DeletedAccessKeys': JsonConverters.toJson(DeletedAccessKeys,'List<UserAccessKeys>',context!),
'CreatedOrUpdatedAccessKeys': JsonConverters.toJson(CreatedOrUpdatedAccessKeys,'List<UserAccessKeys>',context!)
});
getTypeName() => "UpdateCustomerResponse";
TypeContext? context = _ctx;
}
class AddCustomField implements IConvertible
{
int? Id;
String? Value;
AddCustomField({this.Id,this.Value});
AddCustomField.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
Value = json['Value'];
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'Value': Value
};
getTypeName() => "AddCustomField";
TypeContext? context = _ctx;
}
class AddUserAccessKey implements IConvertible
{
String? Id;
String? CompanyId;
int? AccessKeyTypeId;
String? Value;
String? CustomerId;
String? Description;
AddUserAccessKey({this.Id,this.CompanyId,this.AccessKeyTypeId,this.Value,this.CustomerId,this.Description});
AddUserAccessKey.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
CompanyId = json['CompanyId'];
AccessKeyTypeId = json['AccessKeyTypeId'];
Value = json['Value'];
CustomerId = json['CustomerId'];
Description = json['Description'];
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'CompanyId': CompanyId,
'AccessKeyTypeId': AccessKeyTypeId,
'Value': Value,
'CustomerId': CustomerId,
'Description': Description
};
getTypeName() => "AddUserAccessKey";
TypeContext? context = _ctx;
}
// @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")
class CreateCustomer implements IConvertible
{
/**
* Enter the company and id for the customer, if blank company id and you are an admin, your company id will be used.
*/
// @ApiMember(Description="Enter the company and id for the customer, if blank company id and you are an admin, your company id will be used.", ParameterType="query")
String? CompanyId;
// @ApiMember(IsRequired=true)
String? Firstname;
// @ApiMember(IsRequired=true)
String? Lastname;
// @ApiMember(IsRequired=true)
String? Phone;
// @ApiMember()
String? Email;
/**
* If Custom Fields are added to the customer, here you will send the id and the value for each custom field to be updated
*/
// @ApiMember(Description="If Custom Fields are added to the customer, here you will send the id and the value for each custom field to be updated")
List<AddCustomField>? CustomFields;
/**
* List of Access Keys
*/
// @ApiMember(Description="List of Access Keys")
List<AddUserAccessKey>? AccessKeys;
/**
* Customer invoice adress
*/
// @ApiMember(Description="Customer invoice adress")
InvoiceAddress? InvoiceAddress;
CreateCustomer({this.CompanyId,this.Firstname,this.Lastname,this.Phone,this.Email,this.CustomFields,this.AccessKeys,this.InvoiceAddress});
CreateCustomer.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
CompanyId = json['CompanyId'];
Firstname = json['Firstname'];
Lastname = json['Lastname'];
Phone = json['Phone'];
Email = json['Email'];
CustomFields = JsonConverters.fromJson(json['CustomFields'],'List<AddCustomField>',context!);
AccessKeys = JsonConverters.fromJson(json['AccessKeys'],'List<AddUserAccessKey>',context!);
InvoiceAddress = JsonConverters.fromJson(json['InvoiceAddress'],'InvoiceAddress',context!);
return this;
}
Map<String, dynamic> toJson() => {
'CompanyId': CompanyId,
'Firstname': Firstname,
'Lastname': Lastname,
'Phone': Phone,
'Email': Email,
'CustomFields': JsonConverters.toJson(CustomFields,'List<AddCustomField>',context!),
'AccessKeys': JsonConverters.toJson(AccessKeys,'List<AddUserAccessKey>',context!),
'InvoiceAddress': JsonConverters.toJson(InvoiceAddress,'InvoiceAddress',context!)
};
getTypeName() => "CreateCustomer";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'testapi.bokamera.se', types: <String, TypeInfo> {
'CustomFieldValueResponse': TypeInfo(TypeOf.Class, create:() => CustomFieldValueResponse()),
'CustomFieldConfigData': TypeInfo(TypeOf.Class, create:() => CustomFieldConfigData()),
'List<CustomFieldValueResponse>': TypeInfo(TypeOf.Class, create:() => <CustomFieldValueResponse>[]),
'CustomFieldDataResponse': TypeInfo(TypeOf.Class, create:() => CustomFieldDataResponse()),
'CustomerCommentsResponse': TypeInfo(TypeOf.Class, create:() => CustomerCommentsResponse()),
'Uri': TypeInfo(TypeOf.Class, create:() => Uri()),
'BaseModel': TypeInfo(TypeOf.Class, create:() => BaseModel()),
'UserAccessKeys': TypeInfo(TypeOf.Class, create:() => UserAccessKeys()),
'InvoiceAddress': TypeInfo(TypeOf.Class, create:() => InvoiceAddress()),
'CustomerQueryResponse': TypeInfo(TypeOf.Class, create:() => CustomerQueryResponse()),
'List<CustomFieldConfigData>': TypeInfo(TypeOf.Class, create:() => <CustomFieldConfigData>[]),
'List<CustomFieldDataResponse>': TypeInfo(TypeOf.Class, create:() => <CustomFieldDataResponse>[]),
'List<CustomerCommentsResponse>': TypeInfo(TypeOf.Class, create:() => <CustomerCommentsResponse>[]),
'List<UserAccessKeys>': TypeInfo(TypeOf.Class, create:() => <UserAccessKeys>[]),
'UpdateCustomerResponse': TypeInfo(TypeOf.Class, create:() => UpdateCustomerResponse()),
'AddCustomField': TypeInfo(TypeOf.Class, create:() => AddCustomField()),
'AddUserAccessKey': TypeInfo(TypeOf.Class, create:() => AddUserAccessKey()),
'CreateCustomer': TypeInfo(TypeOf.Class, create:() => CreateCustomer()),
'List<AddCustomField>': TypeInfo(TypeOf.Class, create:() => <AddCustomField>[]),
'List<AddUserAccessKey>': TypeInfo(TypeOf.Class, create:() => <AddUserAccessKey>[]),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /customers HTTP/1.1
Host: testapi.bokamera.se
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<CreateCustomer xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
<AccessKeys>
<AddUserAccessKey>
<AccessKeyTypeId>0</AccessKeyTypeId>
<CompanyId>00000000-0000-0000-0000-000000000000</CompanyId>
<CustomerId>00000000-0000-0000-0000-000000000000</CustomerId>
<Description>String</Description>
<Id>00000000-0000-0000-0000-000000000000</Id>
<Value>String</Value>
</AddUserAccessKey>
</AccessKeys>
<CompanyId>00000000-0000-0000-0000-000000000000</CompanyId>
<CustomFields>
<AddCustomField>
<Id>0</Id>
<Value>String</Value>
</AddCustomField>
</CustomFields>
<Email>String</Email>
<Firstname>String</Firstname>
<InvoiceAddress>
<CorporateIdentityNumber>String</CorporateIdentityNumber>
<InvoiceAddress1>String</InvoiceAddress1>
<InvoiceAddress2>String</InvoiceAddress2>
<InvoiceCity>String</InvoiceCity>
<InvoiceCountryCode>String</InvoiceCountryCode>
<InvoicePostalCode>String</InvoicePostalCode>
</InvoiceAddress>
<Lastname>String</Lastname>
<Phone>String</Phone>
</CreateCustomer>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <UpdateCustomerResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos"> <AccessKeys xmlns:d2p1="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Db"> <d2p1:UserAccessKeys> <d2p1:AccessKeyTypeId>0</d2p1:AccessKeyTypeId> <d2p1:CompanyId>00000000-0000-0000-0000-000000000000</d2p1:CompanyId> <d2p1:CustomerId>00000000-0000-0000-0000-000000000000</d2p1:CustomerId> <d2p1:Description>String</d2p1:Description> <d2p1:Id>00000000-0000-0000-0000-000000000000</d2p1:Id> <d2p1:Value>String</d2p1:Value> </d2p1:UserAccessKeys> </AccessKeys> <Comments> <CustomerCommentsResponse> <Comments>String</Comments> <Created>0001-01-01T00:00:00</Created> <CustomerId>00000000-0000-0000-0000-000000000000</CustomerId> <Id>0</Id> <ImageUrl i:nil="true" /> <Updated>0001-01-01T00:00:00</Updated> </CustomerCommentsResponse> </Comments> <Created>0001-01-01T00:00:00</Created> <CustomFieldValues> <CustomFieldDataResponse> <Column>String</Column> <DataType>String</DataType> <Description>String</Description> <Id>0</Id> <Name>String</Name> <Value>String</Value> </CustomFieldDataResponse> </CustomFieldValues> <CustomFields> <CustomFieldConfigData> <DataType>String</DataType> <DefaultValue>String</DefaultValue> <Description>String</Description> <Id>0</Id> <IsMandatory>false</IsMandatory> <MandatoryErrorMessage>String</MandatoryErrorMessage> <MaxLength>0</MaxLength> <MultipleLineText>false</MultipleLineText> <Name>String</Name> <RegEx>String</RegEx> <RegExErrorMessage>String</RegExErrorMessage> <Values> <CustomFieldValueResponse> <Value>String</Value> </CustomFieldValueResponse> </Values> <Width>0</Width> </CustomFieldConfigData> </CustomFields> <Email>String</Email> <Firstname>String</Firstname> <Id>00000000-0000-0000-0000-000000000000</Id> <ImageUrl>String</ImageUrl> <InvoiceAddress> <CorporateIdentityNumber>String</CorporateIdentityNumber> <InvoiceAddress1>String</InvoiceAddress1> <InvoiceAddress2>String</InvoiceAddress2> <InvoiceCity>String</InvoiceCity> <InvoiceCountryCode>String</InvoiceCountryCode> <InvoicePostalCode>String</InvoicePostalCode> </InvoiceAddress> <Lastname>String</Lastname> <Phone>String</Phone> <ResponseStatus /> <SubscribedToNewsletter>false</SubscribedToNewsletter> <Updated>0001-01-01T00:00:00</Updated> <CompanyId>00000000-0000-0000-0000-000000000000</CompanyId> <CreatedDate>0001-01-01T00:00:00</CreatedDate> <CreatedOrUpdatedAccessKeys xmlns:d2p1="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Db"> <d2p1:UserAccessKeys> <d2p1:AccessKeyTypeId>0</d2p1:AccessKeyTypeId> <d2p1:CompanyId>00000000-0000-0000-0000-000000000000</d2p1:CompanyId> <d2p1:CustomerId>00000000-0000-0000-0000-000000000000</d2p1:CustomerId> <d2p1:Description>String</d2p1:Description> <d2p1:Id>00000000-0000-0000-0000-000000000000</d2p1:Id> <d2p1:Value>String</d2p1:Value> </d2p1:UserAccessKeys> </CreatedOrUpdatedAccessKeys> <DeletedAccessKeys xmlns:d2p1="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Db"> <d2p1:UserAccessKeys> <d2p1:AccessKeyTypeId>0</d2p1:AccessKeyTypeId> <d2p1:CompanyId>00000000-0000-0000-0000-000000000000</d2p1:CompanyId> <d2p1:CustomerId>00000000-0000-0000-0000-000000000000</d2p1:CustomerId> <d2p1:Description>String</d2p1:Description> <d2p1:Id>00000000-0000-0000-0000-000000000000</d2p1:Id> <d2p1:Value>String</d2p1:Value> </d2p1:UserAccessKeys> </DeletedAccessKeys> <FacebookUserName>String</FacebookUserName> <UserId>00000000-0000-0000-0000-000000000000</UserId> </UpdateCustomerResponse>