Update a guest or resident profile by guest Id
put
/spms/v2/ships/{shipId}/profiles/guests/{profileId}
This is to update a new guest or resident profile details by guest Id
Request
Supported Media Types
- application/json
Path Parameters
-
profileId(required): integer
Profile Id
-
shipId(required): number
Ship Id
Guest Profile Object
Root Schema : Guest Profile Request
Type:
objectTitle:
Guest Profile RequestGuest Profile Request Body
Show Source
-
accountCategory:
string
Allowed Values:
[ "PAX" ]accountCategoryExample:PAX -
age(required):
integer(int32)
Minimum Value:
1Maximum Value:150AgeExample:25 -
awardLevel:
string
Maximum Length:
6Award Level * `null` if emptyExample:gold -
birthNation:
string
Minimum Length:
1Maximum Length:3Pattern:^[ A-Za-z0-9,'_@./#&+-]*$Birth Nation Code * `null` if emptyExample:US -
birthPlace:
string
Maximum Length:
50Birth Place * `null` if emptyExample:KL -
classification:
string
Minimum Length:
1Maximum Length:20Classification * `null` if emptyExample:CLASS I -
contactDetails:
object contactDetails
Contact Details
-
dateOfBirth(required):
string(ISO 8601 (YYYY-MM-DD))
Date Of BirthExample:
1999-02-15 -
finNumber:
string
Maximum Length:
20FIN Number * `null` if emptyExample:a1234 -
firstName(required):
string
Minimum Length:
1Maximum Length:40First NameExample:Down -
frequentNumber:
string
Maximum Length:
60Frequent Number * `null` if emptyExample:a1234 -
gender(required):
string
Minimum Length:
1Maximum Length:6Pattern:^[ A-Za-z0-9,'_@./#&+-]*$Gender Code * `F` - Female * `M` - MaleExample:M -
intoxication:
boolean
Is the guest intoxicated: * `true` - Intoxicated * `false` - Non-intoxicatedExample:
true -
lastName(required):
string
Minimum Length:
1Maximum Length:40Last NameExample:Niel -
maritalStatus:
string
Minimum Length:
1Maximum Length:6Pattern:^[ A-Za-z0-9,'_@./#&+-]*$Marital Status CodeExample:S -
middleName:
string
Minimum Length:
1Maximum Length:20Middle Name * `null` if emptyExample:MB -
nationalId:
string
Minimum Length:
1Maximum Length:20National Id * `null` if emptyExample:A123 -
nationality(required):
string
Minimum Length:
1Maximum Length:6Pattern:^[ A-Za-z0-9,'_@./#&+-]*$Country CodeExample:MY -
otherFirstName:
string
Minimum Length:
1Maximum Length:80Other First Name * `null` if emptyExample:Mäya -
otherLastName:
string
Minimum Length:
1Maximum Length:100Other Last Name * `null` if emptyExample:Wälters -
passportDetails:
object passportDetailsRequest
Passport Details
-
permanentResidentNumber:
string
Maximum Length:
30Permanent Resident Number * `null` if emptyExample:a1234 -
photo:
string
PhotoExample:
/9j/4AAQSkZJRgABAQEASABIAAD== -
preferredLanguage:
string
Minimum Length:
1Maximum Length:6Pattern:^[ A-Za-z0-9,'_@./#&+-]*$Preferred Language CodeExample:EN -
profession:
string
Maximum Length:
50Profession * `null` if emptyExample:Sales Executive -
profileType:
string
Minimum Length:
1Maximum Length:1Pattern:[PR]$Profile Type Code * `P` - Guest * `R` - ResidentExample:R -
resident:
boolean
Is the guest a resident: * `true` - resident * `false` - Not residentExample:
true -
royaltyNumber:
string
Maximum Length:
20Royalty Number * `null` if emptyExample:a1234 -
salutation:
string
Minimum Length:
1Maximum Length:20SalutationExample:Mr. -
smoker:
boolean
Is the guest a smoker: * `true` - Smoker * `false` - Non-smokerExample:
true -
title:
string
Minimum Length:
1Maximum Length:20Title * `null` if emptyExample:MR -
vip:
string
Nested Schema : contactDetails
Type:
objectContact Details
Show Source
-
alternativeNumber:
string
Minimum Length:
1Maximum Length:30Pattern:^[0-9 \+\-\(\)]*$Temporary Phone Number * `null` if emptyExample:4413563590 -
emailAddress:
string
Minimum Length:
1Maximum Length:50Pattern:^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$Email Address * `null` if emptyExample:email@example.com -
emergencyContactMobileNumber:
string
Minimum Length:
1Maximum Length:30Pattern:^[0-9 \+\-\(\)]*$Emergency Contact Mobile Phone Number * `null` if emptyExample:0173443434 -
emergencyContactName:
string
Minimum Length:
1Maximum Length:40Emergency Contact Name * `null` if emptyExample:Emmeline -
emergencyContactPhoneNumber:
string
Minimum Length:
1Maximum Length:30Pattern:^[0-9 \+\-\(\)]*$Emergency Contact Phone Number * `null` if emptyExample:+(62) 3962999 -
mobileNumber:
string
Minimum Length:
1Maximum Length:30Pattern:^[0-9 \+\-\(\)]*$Mobile Number * `null` if emptyExample:62-39629630
Nested Schema : passportDetailsRequest
Type:
objectPassport Details
Show Source
-
passportExpiryDate:
string(ISO 8601)
Passport Expiry DateExample:
2019-10-31 -
passportIssuedCountry:
string
Minimum Length:
1Maximum Length:6Pattern:^[ A-Za-z0-9,'_@./#&+-]*$Country CodeExample:MY -
passportIssuedDate:
string(ISO 8601)
Passport Issued DateExample:
2009-10-31 -
passportIssuedPlace:
string
Maximum Length:
50Passport Issued PlaceExample:Shah Alam -
passportNumber:
string
Minimum Length:
1Maximum Length:20Pattern:^[ A-Za-z0-9,'_@./#&+-]*$Passport NumberExample:ABC12345678
Response
Supported Media Types
- application/hal+json
200 Response
OK
Root Schema : Guest Profile
Type:
objectTitle:
Guest ProfileGuest Profile Response
Show Source
-
_links:
object _links
Links
-
accountCategory:
string
Allowed Values:
[ "PAX" ]accountCategoryExample:PAX -
age:
integer(int32)
Minimum Value:
1Maximum Value:150AgeExample:25 -
awardLevel:
string
Maximum Length:
6Award Level * `null` if emptyExample:gold -
birthNation:
object birthNation
Birth Nation
-
birthPlace:
string
Maximum Length:
50Birth Place * `null` if emptyExample:KL -
classification:
string
Minimum Length:
1Maximum Length:20Classification * `null` if emptyExample:CLASS I -
contactDetails:
object contactDetails
Contact Details
-
dateOfBirth:
string(ISO 8601 (YYYY-MM-DD))
Date Of BirthExample:
1999-02-15 -
finNumber:
string
Maximum Length:
20FIN Number * `null` if emptyExample:a1234 -
firstName:
string
Minimum Length:
1Maximum Length:40First NameExample:Down -
frequentNumber:
string
Maximum Length:
60Frequent Number * `null` if emptyExample:a1234 -
gender:
string
GenderExample:
Male -
guestId:
integer
Minimum Value:
0Guest IdExample:456789 -
intoxication:
boolean
Is the guest intoxicated: * `true` - Intoxicated * `false` - Non-intoxicatedExample:
true -
lastName:
string
Minimum Length:
1Maximum Length:40Last NameExample:Niel -
maritalStatus:
object maritalStatus
Marital Status
-
middleName:
string
Minimum Length:
1Maximum Length:20Middle Name * `null` if emptyExample:MB -
nationalId:
string
Minimum Length:
1Maximum Length:20National Id * `null` if emptyExample:A123 -
nationality:
object gpdNationalityStruct
Nationality
-
otherFirstName:
string
Minimum Length:
1Maximum Length:80Other First Name * `null` if emptyExample:Mäya -
otherLastName:
string
Minimum Length:
1Maximum Length:100Other Last Name * `null` if emptyExample:Wälters -
passportDetails:
object gpdPassportDetailsResponse
Passport Details
-
permanentResidentNumber:
string
Maximum Length:
30Permanent Resident Number * `null` if emptyExample:a1234 -
photo:
string
PhotoExample:
/9j/4AAQSkZJRgABAQEASABIAAD== -
preferredLanguage:
object preferredLanguage
Preferred Language
-
profession:
string
Maximum Length:
50Profession * `null` if emptyExample:Sales Executive -
profileType:
string
Allowed Values:
[ "Guest", "Resident" ]Profile TypeExample:Resident -
resident:
boolean
Is the guest a resident: * `true` - resident * `false` - Not residentExample:
true -
royaltyNumber:
string
Maximum Length:
20Royalty Number * `null` if emptyExample:a1234 -
salutation:
string
Minimum Length:
1Maximum Length:20SalutationExample:Mr. -
smoker:
boolean
Is the guest a smoker: * `true` - Smoker * `false` - Non-smokerExample:
true -
title:
string
Minimum Length:
1Maximum Length:20Title * `null` if emptyExample:MR -
vip:
object gpdVip
VIP
Nested Schema : _links
Type:
objectLinks
Show Source
-
self:
object homeAddressLink
Home Address Link (relation)
Nested Schema : birthNation
Type:
objectBirth Nation
Show Source
-
code:
string
Minimum Length:
1Maximum Length:3Pattern:^[ A-Za-z0-9,'_@./#&+-]*$Birth Nation Code * `null` if emptyExample:US -
description:
string
Birth Nation Name * `null` if emptyExample:
United States
Nested Schema : contactDetails
Type:
objectContact Details
Show Source
-
alternativeNumber:
string
Minimum Length:
1Maximum Length:30Pattern:^[0-9 \+\-\(\)]*$Temporary Phone Number * `null` if emptyExample:4413563590 -
emailAddress:
string
Minimum Length:
1Maximum Length:50Pattern:^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$Email Address * `null` if emptyExample:email@example.com -
emergencyContactMobileNumber:
string
Minimum Length:
1Maximum Length:30Pattern:^[0-9 \+\-\(\)]*$Emergency Contact Mobile Phone Number * `null` if emptyExample:0173443434 -
emergencyContactName:
string
Minimum Length:
1Maximum Length:40Emergency Contact Name * `null` if emptyExample:Emmeline -
emergencyContactPhoneNumber:
string
Minimum Length:
1Maximum Length:30Pattern:^[0-9 \+\-\(\)]*$Emergency Contact Phone Number * `null` if emptyExample:+(62) 3962999 -
mobileNumber:
string
Minimum Length:
1Maximum Length:30Pattern:^[0-9 \+\-\(\)]*$Mobile Number * `null` if emptyExample:62-39629630
Nested Schema : maritalStatus
Type:
objectMarital Status
Show Source
-
code:
string
Minimum Length:
1Maximum Length:6Pattern:^[ A-Za-z0-9,'_@./#&+-]*$Marital Status CodeExample:S -
description:
string
Marital Status DescriptionExample:
Single
Nested Schema : gpdNationalityStruct
Type:
objectNationality
Show Source
-
code:
string
Minimum Length:
1Maximum Length:6Pattern:^[ A-Za-z0-9,'_@./#&+-]*$Country CodeExample:MY -
description:
string
Country NameExample:
Malaysia
Nested Schema : gpdPassportDetailsResponse
Type:
objectPassport Details
Show Source
-
passportExpiryDate:
string(ISO 8601)
Passport Expiry DateExample:
2019-10-31 -
passportIssuedCountry:
object gpdPassportIssuedCountry
Passport Issued Country
-
passportIssuedDate:
string(ISO 8601)
Passport Issued DateExample:
2009-10-31 -
passportIssuedPlace:
string
Maximum Length:
50Passport Issued PlaceExample:Shah Alam -
passportNumber:
string
Minimum Length:
1Maximum Length:20Pattern:^[ A-Za-z0-9,'_@./#&+-]*$Passport NumberExample:ABC12345678
Nested Schema : preferredLanguage
Type:
objectPreferred Language
Show Source
-
code:
string
Minimum Length:
1Maximum Length:6Pattern:^[ A-Za-z0-9,'_@./#&+-]*$Preferred Language CodeExample:EN -
description:
string
Preferred Language DescriptionExample:
English
Nested Schema : gpdVip
Type:
objectVIP
Show Source
-
code:
string
Minimum Length:
1Maximum Length:6Pattern:^[ A-Za-z0-9,'_@./#&+-]*$VIP CodeExample:S/VIP -
description:
string
VIP DescriptionExample:
SUPERVIP
Nested Schema : homeAddressLink
Type:
objectHome Address Link (relation)
Show Source
-
href:
string
Example:
http://[HOSTNAME]/spms/v2/ships/186000000117/profile/1001/addresses/home -
method:
string
Example:
get -
operationId:
string
Example:
getHomeAddress
Nested Schema : gpdPassportIssuedCountry
Type:
objectPassport Issued Country
Show Source
-
code:
string
Minimum Length:
1Maximum Length:6Pattern:^[ A-Za-z0-9,'_@./#&+-]*$Country CodeExample:MY -
description:
string
Country NameExample:
Malaysia
400 Response
Bad Request
Root Schema : schema
Match All
Show Source
-
object
Error Response
Title:
Error ResponseError Response returned when encountered error
Example:
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
"title":"Bad Request",
"detail":"Malformed JSON request"
}Nested Schema : Error Response
Type:
objectTitle:
Error ResponseError Response returned when encountered error
Show Source
401 Response
Unauthorized
Root Schema : schema
Match All
Show Source
-
object
Error Response
Title:
Error ResponseError Response returned when encountered error
Example:
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.2",
"title":"Unauthorized",
"detail":"Valid token is required to access this resource"
}Nested Schema : Error Response
Type:
objectTitle:
Error ResponseError Response returned when encountered error
Show Source
403 Response
Forbidden
Root Schema : schema
Match All
Show Source
-
object
Error Response
Title:
Error ResponseError Response returned when encountered error
Example:
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.4",
"title":"Forbidden",
"detail":"Access to this resource is forbidden"
}Nested Schema : Error Response
Type:
objectTitle:
Error ResponseError Response returned when encountered error
Show Source
404 Response
Not Found
Root Schema : schema
Match All
Show Source
-
object
Error Response
Title:
Error ResponseError Response returned when encountered error
Example:
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5",
"title":"Not Found",
"detail":"Profile ID - 1002 is invalid"
}Nested Schema : Error Response
Type:
objectTitle:
Error ResponseError Response returned when encountered error
Show Source
405 Response
Method Not Allowed
Root Schema : schema
Match All
Show Source
-
object
Error Response
Title:
Error ResponseError Response returned when encountered error
Example:
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.6",
"title":"Method Not Supported",
"detail":"HTTP method not supported for this resource"
}Nested Schema : Error Response
Type:
objectTitle:
Error ResponseError Response returned when encountered error
Show Source
406 Response
Not Acceptable
Root Schema : schema
Match All
Show Source
-
object
Error Response
Title:
Error ResponseError Response returned when encountered error
Example:
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.7",
"title":"Not Acceptable",
"detail":"Request a Mime type that is supported for this Resource"
}Nested Schema : Error Response
Type:
objectTitle:
Error ResponseError Response returned when encountered error
Show Source
410 Response
Gone
Root Schema : schema
Match All
Show Source
-
object
Error Response
Title:
Error ResponseError Response returned when encountered error
Example:
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.11",
"title":"Gone",
"detail":"Requested Resource no longer exists"
}Nested Schema : Error Response
Type:
objectTitle:
Error ResponseError Response returned when encountered error
Show Source
415 Response
Unsupported Media Type
Root Schema : schema
Match All
Show Source
-
object
Error Response
Title:
Error ResponseError Response returned when encountered error
Example:
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.16",
"title":"Invalid content",
"detail":"Content type not supported"
}Nested Schema : Error Response
Type:
objectTitle:
Error ResponseError Response returned when encountered error
Show Source
500 Response
Internal Server Error
Root Schema : schema
Match All
Show Source
-
object
Error Response
Title:
Error ResponseError Response returned when encountered error
Example:
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.1",
"title":"Internal Server Error",
"detail":"Issue fulfilling request. Please retry or contact support"
}Nested Schema : Error Response
Type:
objectTitle:
Error ResponseError Response returned when encountered error
Show Source
501 Response
Not Implemented
Root Schema : schema
Match All
Show Source
-
object
Error Response
Title:
Error ResponseError Response returned when encountered error
Example:
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.2",
"title":"Not implemented",
"detail":"Resource is not implemented in this version of the API"
}Nested Schema : Error Response
Type:
objectTitle:
Error ResponseError Response returned when encountered error
Show Source
503 Response
Service Unavailable
Root Schema : schema
Match All
Show Source
-
object
Error Response
Title:
Error ResponseError Response returned when encountered error
Example:
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.4",
"title":"Service Unavailable",
"detail":"Service not available"
}Nested Schema : Error Response
Type:
objectTitle:
Error ResponseError Response returned when encountered error
Show Source