Rezlynx API

pmsprf_GetProfileSummaryV3

This method retrieves a guest profile.

Profile requestor authentication Since profiles contain personal information, there is an additional requirement around access (two factor authentication); the client using this method must supply either a password set up against the profile, or else supply some information already known from the profile, such as guest surname - see below. A single API account will only support one of these two methods, you cannot mix them.
Note! This API method uses SOAP header authentication, it does not use a Session ID obtained from LogIn method like most PMS methods. See Common to all API methods.

Parameters

Name Type Description
ProfileRequestor (object)
> ProfileUniqueId string Unique profile ID, must be either a profile reference, unique email address or loyalty ID
> ProfileUniqueIdAuthenticatorValue string The password that is associated with this profile; if you know the password then you don’t need to send any of the other values below, otherwise leave this blank and send through all the second factor authentication values below
> AuthenticationMethod "PD" "PD" stands for "Person Details" and should always be set to this
> AuthenticationCode string The method of second line authentication to be used i.e. "Forename", "Surname" or "PostCode"
> AuthenticationValue string The authentication value, e.g. if the method is "Surname" and the profile is under the name of "Jones" then the value will be "Jones", if the method is "PostCode" then the value will be "SY26LG"
Filters "Checked Out", "Resident" or "Future" Optional filter to filter results according to the reservation status
ProfileSearchMode "Contact", "Guest" or "Both" Used to indicate whether searching for a reservation contact, reservation guest or both

Returned data (profile)

Name Type Description
ProfileRef string Profile reference
Salutation string Title
Forename string Forename
Surname string Surname
EMailAddress string E-mail address
Gender string Gender
Street string Address street
Area string Address area
Town string Address town or city
County string Address county or state
PostCode string Address postcode or zip code
Country string Address country
TelephoneNo string Telephone number
FaxNo string Fax number
MobileNo string Mobile telephone number
Nationality string Nationality
Language string Language
CompanyRef string Company reference, if applicable
Vip int Integer VIP level (e.g. 1,2,3...)
DateOfBirth dateTime Date of birth
StudentID string Student ID, if applicable
TypeOfPerson "Adult", "Child" or "Infant" Adult status
PassportNumber string Passport number
PreferredRoomType string Preferred room type
ExcludeFromMailings Boolean Indicates if person chose to be excluded from general marketing mailings
Smoker int Smoker or not
BlackListed int Blacklisted or not
LoyaltyID string Loyalty ID
ProfileType "Private", "Agents", "Corporate", "TourGroup" or "TourSeries" Profile type
ExcludeFromThirdPartyMailings Boolean Indicates if person chose to be excluded from third-party mailings
Suffix string Name suffix
MiddleName string Middle name
AddressLine1 string Address line 1
AddressLine2 string Address line 2
State string Address state
PublicNotes string Notes (public)
PrivateNotes string Notes (private)
CustomNotes1 string Notes (custom 1)
CustomNotes2 string Notes (custom 2)
CustomNotes3 string Notes (custom 3)

Request URL

https://pmsws.eu.guestline.net/rlxsoaprouter/rlxsoap.asmx?op=pmsprf_GetProfileSummaryV3

Request headers

Name Type Description
(optional) string Media type of the body sent to the API.

Request body

<pmsprf_GetProfileSummaryV3 xmlns="http://tempuri.org/RLXSOAP19/RLXSOAP19">
    <ProfileRequestor>
        <ProfileUniqueId>PF000024</ProfileUniqueId>
        <ProfileUniqueIdAuthenticatorValue />
        <AuthenticationMethod>PD</AuthenticationMethod>
        <AuthenticationCode>Surname</AuthenticationCode>
        <AuthenticationValue>Valli</AuthenticationValue>
    </ProfileRequestor>
</pmsprf_GetProfileSummaryV3>

Responses

200 OK

Representations

<pmsprf_GetProfileSummaryV3Response xmlns="http://tempuri.org/RLXSOAP19/RLXSOAP19">
    <pmsprf_GetProfileSummaryV3Result>
        <ExceptionCode>0</ExceptionCode>
        <ExceptionDescription>No error</ExceptionDescription>
    </pmsprf_GetProfileSummaryV3Result>
    <Profile>
        <ProfileRef>PF000024</ProfileRef>
        <Salutation>Mr</Salutation>
        <Forename>Zen</Forename>
        <Surname>Valli</Surname>
        <EMailAddress>zunaid.valli@guestline.com</EMailAddress>
        <Gender>U</Gender>
        <Street>Guestline House Shrewsbury Business Park</Street>
        <Area>Sitka Drive</Area>
        <Town>Shrewsbury</Town>
        <County>Shropshire</County>
        <PostCode>SY2 6LG</PostCode>
        <Country>United Kingdom</Country>
        <TelephoneNo>0123456789</TelephoneNo>
        <FaxNo />
        <MobileNo />
        <Nationality>British</Nationality>
        <Language>English</Language>
        <CompanyRef />
        <Vip>0</Vip>
        <DateOfBirth>1754-01-01T00:00:00</DateOfBirth>
        <StudentID />
        <TypeOfPerson>Adult</TypeOfPerson>
        <PassportNumber />
        <PreferredRoomType />
        <ExcludeFromMailings>false</ExcludeFromMailings>
        <Smoker>0</Smoker>
        <BlackListed>0</BlackListed>
        <LoyaltyID />
        <ProfileType>Private</ProfileType>
        <ExcludeFromThirdPartyMailings>true</ExcludeFromThirdPartyMailings>
        <Suffix />
        <MiddleName />
        <AddressLine1 />
        <AddressLine2 />
        <State />
        <PublicNotes />
        <PrivateNotes />
        <CustomNotes1>Gluten</CustomNotes1>
        <CustomNotes2>No Duvet</CustomNotes2>
        <CustomNotes3 />
    </Profile>
</pmsprf_GetProfileSummaryV3Response>

Code samples

@ECHO OFF



curl -v -X POST "https://pmsws.eu.guestline.net/rlxsoaprouter/rlxsoap.asmx?op=pmsprf_GetProfileSummaryV3"
-H "Content-Type: text/xml"

--data-ascii "{body}" 
using System;
using System.Net.Http.Headers;
using System.Text;
using System.Net.Http;
using System.Web;

namespace CSHttpClientSample
{
    static class Program
    {
        static void Main()
        {
            MakeRequest();
            Console.WriteLine("Hit ENTER to exit...");
            Console.ReadLine();
        }
        
        static async void MakeRequest()
        {
            var client = new HttpClient();
            var queryString = HttpUtility.ParseQueryString(string.Empty);

            // Request headers


            
            
            var uri = "https://pmsws.eu.guestline.net/rlxsoaprouter/rlxsoap.asmx?op=pmsprf_GetProfileSummaryV3&" + queryString;

            HttpResponseMessage response;

            // Request body
            byte[] byteData = Encoding.UTF8.GetBytes("{body}");

            using (var content = new ByteArrayContent(byteData))
            {
               content.Headers.ContentType = new MediaTypeHeaderValue("< your content type, i.e. application/json >");
               response = await client.PostAsync(uri, content);
            }

        }
    }
}	
// // This sample uses the Apache HTTP client from HTTP Components (http://hc.apache.org/httpcomponents-client-ga/)
import java.net.URI;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

public class JavaSample 
{
    public static void main(String[] args) 
    {
        HttpClient httpclient = HttpClients.createDefault();

        try
        {
            

            URIBuilder builder = new URIBuilder("https://pmsws.eu.guestline.net/rlxsoaprouter/rlxsoap.asmx?op=pmsprf_GetProfileSummaryV3");


            URI uri = builder.build();
            HttpPost request = new HttpPost(uri);
            request.setHeader("Content-Type", "text/xml");


            // Request body
            StringEntity reqEntity = new StringEntity("{body}");
            request.setEntity(reqEntity);

            HttpResponse response = httpclient.execute(request);
            HttpEntity entity = response.getEntity();

            if (entity != null) 
            {
                System.out.println(EntityUtils.toString(entity));
            }
        }
        catch (Exception e)
        {
            System.out.println(e.getMessage());
        }
    }
}

<!DOCTYPE html>
<html>
<head>
    <title>JSSample</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
</head>
<body>

<script type="text/javascript">
    $(function() {
        var params = {
            // Request parameters
        };
                  

        $.ajax({
            url: "https://pmsws.eu.guestline.net/rlxsoaprouter/rlxsoap.asmx?op=pmsprf_GetProfileSummaryV3" + $.param(params),
            beforeSend: function(xhrObj){
                // Request headers
                xhrObj.setRequestHeader("Content-Type","text/xml");
            },
            type: "POST",
            // Request body
            data: "{body}",
        })
        .done(function(data) {
            alert("success");
        })
        .fail(function() {
            alert("error");
        });
    });
</script>
</body>
</html>
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
                      

    NSString* path = @"https://pmsws.eu.guestline.net/rlxsoaprouter/rlxsoap.asmx?op=pmsprf_GetProfileSummaryV3";
    NSArray* array = @[
                         // Request parameters
                         @"entities=true",
                      ];
    
    NSString* string = [array componentsJoinedByString:@"&"];
    path = [path stringByAppendingFormat:@"?%@", string];

    NSLog(@"%@", path);

    NSMutableURLRequest* _request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:path]];
    [_request setHTTPMethod:@"POST"];
    // Request headers
    [_request setValue:@"text/xml" forHTTPHeaderField:@"Content-Type"];
    // Request body
    [_request setHTTPBody:[@"{body}" dataUsingEncoding:NSUTF8StringEncoding]];
    
    NSURLResponse *response = nil;
    NSError *error = nil;
    NSData* _connectionData = [NSURLConnection sendSynchronousRequest:_request returningResponse:&response error:&error];

    if (nil != error)
    {
        NSLog(@"Error: %@", error);
    }
    else
    {
        NSError* error = nil;
        NSMutableDictionary* json = nil;
        NSString* dataString = [[NSString alloc] initWithData:_connectionData encoding:NSUTF8StringEncoding];
        NSLog(@"%@", dataString);
        
        if (nil != _connectionData)
        {
            json = [NSJSONSerialization JSONObjectWithData:_connectionData options:NSJSONReadingMutableContainers error:&error];
        }
        
        if (error || !json)
        {
            NSLog(@"Could not parse loaded json with error:%@", error);
        }
        
        NSLog(@"%@", json);
        _connectionData = nil;
    }
    
    [pool drain];

    return 0;
}
<?php
// This sample uses the Apache HTTP client from HTTP Components (http://hc.apache.org/httpcomponents-client-ga/)
require_once 'HTTP/Request2.php';
                      

$request = new Http_Request2('https://pmsws.eu.guestline.net/rlxsoaprouter/rlxsoap.asmx?op=pmsprf_GetProfileSummaryV3');
$url = $request->getUrl();

$headers = array(
    // Request headers
    'Content-Type' => 'text/xml',
);

$request->setHeader($headers);

$parameters = array(
    // Request parameters
);

$url->setQueryVariables($parameters);

$request->setMethod(HTTP_Request2::METHOD_POST);

// Request body
$request->setBody("{body}");

try
{
    $response = $request->send();
    echo $response->getBody();
}
catch (HttpException $ex)
{
    echo $ex;
}

?>
########### Python 2.7 #############
import httplib, urllib, base64

headers = {
    # Request headers
    'Content-Type': 'text/xml',
}

params = urllib.urlencode({
})

try:
    conn = httplib.HTTPSConnection('pmsws.eu.guestline.net/rlxsoaprouter/rlxsoap.asmx')


    conn.request("POST", "pmsprf_GetProfileSummaryV3%s" % params, "{body}", headers)
    response = conn.getresponse()
    data = response.read()
    print(data)
    conn.close()
except Exception as e:
    print("[Errno {0}] {1}".format(e.errno, e.strerror))

####################################

########### Python 3.2 #############
import http.client, urllib.request, urllib.parse, urllib.error, base64

headers = {
    # Request headers
    'Content-Type': 'text/xml',
}

params = urllib.parse.urlencode({
})

try:
    conn = http.client.HTTPSConnection('developers.azure-api.net')
    conn.request("POST", "/rezlynx-web-service/?soapAction=http://tempuri.org/RLXSOAP19/RLXSOAP19/pmsprf_GetProfileSummaryV3&%s" % params, "{body}", headers)
    response = conn.getresponse()
    data = response.read()
    print(data)
    conn.close()
except Exception as e:
    print("[Errno {0}] {1}".format(e.errno, e.strerror))

####################################
require 'net/http'


uri = URI('https://pmsws.eu.guestline.net/rlxsoaprouter/rlxsoap.asmx?op=pmsprf_GetProfileSummaryV3')


request = Net::HTTP::Post.new(uri.request_uri)
# Request headers
request['Content-Type'] = 'text/xml'
# Request body
request.body = "{body}"

response = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
    http.request(request)
end

puts response.body