Online Account Statement

Description

Retrieves account statement of customer. Returned data depends on profileType:

  • full => parameters from accountStatement and custInfo(loginMaM)
  • reduced => parameters from accountStatement only

Data is returned according to profileType (passed as query parameter).

  • Possible values for profileType are: full, reduced

Another query parameter is showHistory.

  • Possible value is true or false (response parameters will differ based on the value of this parameter)

The service can be accessed only through an online request (REST).

  • Aliascode must be present in path parameter

  • profileType must be present in query parameter

  • showHistory is optional in query parameter

  • interface is exposed through GET and POST , so for POST request pin should be passed in body of the request

Input parameters

This service is exposed through GET and POST. The REST input consists of one path parameter and two query parameters. For POST request, pin passed in the body of the request.

Table 1. Input parameters REST
Name MaxL Java-Type Allowed values Conf. Remarks
aliasCode 16 String valid M&M card number no path parameter, required.
pin 5 String [0-9]{5,8} no pin for card number, passed in the body of POST request and it snot required for GET request.
profileType String "full", "reduced" no query parameter, required, type of profile to be fetched
showHistory 1 String no query parameter, optional, indicator to decide whetherhistory data needs to be returned or not.

Where MaxL = Maximal Length and Conf. = Confidential

Request payload Model

Code snippet: Model
accountStatementRequest 
{ 
  pin (string, optional): pin for member Alias
}

Request payload Example

Code snippet: Json
{
  "pin": "string"
}

Request examples

Code snippet: Post request
POST https://api-test.lufthansa.com/v1/profiles/customers/accountstatement/992003669288601?profiletype=full&showHistory=1
Payload:
{
  "pin": "99999"
}
Code snippet: Get request
GET https://api-test.lufthansa.com/v1/profiles/customers/accountstatement/992003669288601?profiletype=full&showHistory=1

Output parameters 

The Online REST output is of type JSON and has a complex structure. The following table gives information about parameters.

Table 2. Output Parameters REST
Name Type Max Length Allowed values Remarks
currentStatementPoints Integer 8
currentStatementStatusPoints Integer 8
currentStatementTopPoints Integer 8
currentStatementStatusFrequency Integer 3
currentStatus String 3-4
expiryDateOfCurrentStatus Date 10 YYYY-MM_DD
statusInfo String 936
nextStatus String 10
statusFrequencyDisplayFlag Boolean 1
nextStatusFrequency Integer 10
topPointsDisplayFlag Boolean 1
accountRecordModelList further details in AccountRecordModelObj table
expiringMilesInfo1 String 78
expiringMilesInfo2 String 78
selectionInfo PeriodCounterObj further details in PeriodCounterObj table
honRequalificationInfo PeriodCounterObj further details in PeriodCounterObj table
nextStatusStarChangeText String
custNo String 16
gender String 1
privateaddress_city String
privateaddress_countrycode String
businessaddress_city String
businessaddress_countrycode String
remainingTotalPoints Long
statusId String
preferedLanguage String
overdraftCredit Integer
topPointsOfLastYear Integer
topPointsOfLastYearDisplayFlag Boolean 8
currentStatusText String 3-20
eVoucherDisplayFlag Boolean 1
nextStatusPoints Integer 10
currentStatementEVoucherPoints Integer 3
Table 3. AccountRecordModelObj
Name Type MaxL Allowed values Remarks
recordType Integer 2
activityDate Date 10 YYYY-MM-DD
activityDescription String 35
String operatingPartnerCode String 3 IATA
String operatingFlightNumber String 5
String marketingPartnerCode String 3
String marketingFlightNumber String 5
String serviceClass String 1 i.e. "C"
String bookingClass String 1 i.e. "D"
statusPoints Integer 8
basePoints Integer 8
topPoints Integer 8
statusFrequency Integer 2

Where MaxL = Maximal Length

Table 4. PeriodCounterObj
Name Type MaxL Allowed values Remarks
amount CurrencyAmountObj 2
periodStart Date 10 DD-MM-YYYY First day of selection period.
periodEnd Date 10 DD-MM-YYYY First day of selection period.

Where MaxL = Maximal Length

Table 5. CurrencyAmountObj
Name Type MaxL Allowed values Remarks
currency String 3 Program currency.
amount Long 10 YYYY-MM-DD Collected amount.

Where MaxL = Maximal Length

Table 6. REST output in case of failure
Name Type MaxL Allowed values Remarks
code Integer 10 Error code in case of error.
message String 255 Error message in case of error.

Where MaxL = Maximal Length

Response Model

Code snippet: Model
getAccountStatementResponse {
  currentStatementPoints (integer, optional): (available for both profiles),
  currentStatementStatusPoints (integer, optional): (available for both profiles),
  currentStatementTopPoints (integer, optional): (available for both profiles),
  currentStatus (string, optional): (available for both profiles),
  expiryDateOfCurrentStatus (string, optional): YYYY-MM-DD (available for both profiles),
  expiringMilesInfo1 (string, optional): (profile reduced),
  expiringMilesInfo2 (string, optional): (profile reduced),
  statusInfo (string, optional): (available for both profiles),
  nextStatus (string, optional): (available for both profiles),
  nextStatusFrequency (integer, optional): (available for both profiles),
  accountRecordModelList (Array[accountRecordModel], optional): (available for both profiles),
  currentStatementStatusFrequency (integer, optional): (available for both profiles),
  statusFrequencyDisplayFlag (boolean, optional): (available for both profiles),
  selectionInfo (PeriodCounterData, optional): (profile reduced)</p>,
  honRequalificationInfo (PeriodCounterData, optional): (profile reduced),
  nextStatusStarChangeText (string, optional): (profile reduced),
  topPointsDisplayFlag (boolean, optional): (available for both profiles),
  custNo (string, optional): (profile full),
  gender (string, optional): (profile full),
  primaryAddressType (string, optional): (profile full),
  privateaddress_city (string, optional): (profile full),
  privateaddress_countrycode (string, optional): (profile full),
  businessaddress_city (string, optional): (profile full),
  businessaddress_countrycode (string, optional): (profile full),
  remainingTotalPoints (integer, optional): (profile full),
  statusId (string, optional): (profile full),
  preferedLanguage (string, optional): (profile full),
  overdraftCredit (integer, optional): (profile full),
  topPointsOfLastYear (integer, optional): (profile full),
  topPointsOfLastYearDisplayFlag (boolean, optional): (profile full),
  currentStatusText (string, optional): (profile full),
  eVoucherDisplayFlag (boolean, optional): (profile full),
  nextStatusPoints (integer, optional): (profile full),
  currentStatementEVoucherPoints (integer, optional): (profile full)
}
accountRecordModel {
  activityDate (string, optional): YYYY-MM-DD,
  activityDescription (string, optional),
  operatingPartnerCode (string, optional),
  operatingFlightNumber (string, optional),
  marketingPartnerCode (string, optional),
  marketingFlightNumber (string, optional),
  statusPoints (integer, optional),
  basePoints (integer, optional),
  topPoints (integer, optional),
  statusFrequency (integer, optional),
  serviceClass (string, optional),
  bookingClass (string, optional),
  recordType (string, optional)
}
PeriodCounterData {
  amount (CurrencyAmountData, optional): periodCounter.amount,
  periodStart (string, optional),
  periodEnd (string, optional)
}
CurrencyAmountData {
  amount (integer, optional): currencyAmount.amount,
  currency (string, optional)
}

Response Example

Code snippet: Json
{
  "currentStatementPoints": 0,
  "currentStatementStatusPoints": 0,
  "currentStatementTopPoints": 0,
  "currentStatus": "string",
  "expiryDateOfCurrentStatus": "2016-11-07",
  "expiringMilesInfo1": "string",
  "expiringMilesInfo2": "string",
  "statusInfo": "string",
  "nextStatus": "string",
  "nextStatusFrequency": 0,
  "accountRecordModelList": [{
    "activityDate": "2016-11-07",
    "activityDescription": "string",
    "operatingPartnerCode": "string",
    "operatingFlightNumber": "string",
    "marketingPartnerCode": "string",
    "marketingFlightNumber": "string",
    "statusPoints": 0,
    "basePoints": 0,
    "topPoints": 0,
    "statusFrequency": 0,
    "serviceClass": "string",
    "bookingClass": "string",
    "recordType": "string"
  }],
  "currentStatementStatusFrequency": 0,
  "statusFrequencyDisplayFlag": true,
  "selectionInfo": {
    "amount": {
      "amount": 0,
      "currency": "string"
    },
      "periodStart": "2016-11-07",
      "periodEnd": "2016-11-07"
  },
  "honRequalificationInfo": {
    "amount": {
      "amount": 0,
      "currency": "string"
    },
    "periodStart": "2016-11-07",
    "periodEnd": "2016-11-07"
  },
  "nextStatusStarChangeText": "string",
  "topPointsDisplayFlag": true,
  "custNo": "string",
  "gender": "string",
  "primaryAddressType": "string",
  "privateaddress_city": "string",
  "privateaddress_countrycode": "string",
  "businessaddress_city": "string",
  "businessaddress_countrycode": "string",
  "remainingTotalPoints": 0,
  "statusId": "string",
  "preferedLanguage": "string",
  "overdraftCredit": 0,
  "topPointsOfLastYear": 0,
  "topPointsOfLastYearDisplayFlag": true,
  "currentStatusText": "string",
  "eVoucherDisplayFlag": true,
  "nextStatusPoints": 0,
  "currentStatementEVoucherPoints": 0
 }