Professional Documents
Culture Documents
AMALA Master v1.0
AMALA Master v1.0
AMALA Master v1.0
Notes
This document is intended and used by the team members of the project who will implement
and verify the correct function of the system.
Version 1.0
1|Page
Revision History
Date Version Description Author
08/03/2021 1.0 Document v 1.0 Completed Muhammad Abizard
2|Page
1 General Information
1.1 Master Atomic Master
1.1.1 Description
No Content Available
1.1.2 Process
No Content Available
2 Operating Environment
Operating Environment
OE-1 AMALA Database
Credentials (Staging)
IP : 35.198.218.68
Port : 3306
User : amala
Pass : amala2019
Credentials (Prod)
IP : 10.169.96.29
Port : 3306
User : amala
Pass : amala2019
SSH Tunnel
SSH host + port : 35.234.204.234:44222
User: admin
Pass: ifciamala2019
OE-2 AMALA BE
Endpoint (STG) : https://amala-api-pdt.garuda-indonesia.com/
Endpoint (PROD) : https://amala-api.garuda-indonesia.com/
OE-3 FTP AMALA
Credentials (Staging)
Address : sftp://35.247.139.33
Port : 22
User : admin
Pass : ifciamala2019
Credentials (Prod)
3|Page
Address : sftp://35.187.250.215
Port : 44222
User : amala
Pass : ifciamala2019
3 Mockup
No Content Available
4 Webservices Information
4.1 Master Atomic Master
4.1.1 Create
4.1.1.1 Webservices Description
Method POST
Endpoint http://{host}/amala/buymileage/catalogue/v1.2/master/create
Autorization {bearer-token for service session}
Parameter information :
4|Page
customtrxcode data String NA O
duration data Integer NA O
includevat data String NA O
startdate data Datetime NA R
enddate data Datetime NA R
You can find detailed response field description in the table below :
5|Page
Result
duration result Integer NA
includeve result Boolean True or False
startdate result Datetime NA
enddate result Datetime NA
active result Boolean True or False
b. Response
{
"status" : {
"responsecode" : 0000,
"responsedesc" : "Success",
"responsemessage" : "", // Optional
"stacktrace" : "" // optional
},
"identity" : {
"apptxnid" : "jklnmsanjlfasd123",
"reqtxnid" : "ea9e5895-29c9-4f98-97ef-fcb4ba96e56c",
6|Page
"reqdate" : "2018-04-01 15:23:23",
"appid" : "app1",
"userid" : "member",
"signature" : "srdhjklnmmvgdx",
"seqno" : 0
},
"result" : {
"buymileageid" : "200623abc12",
"buymileagename" : "Buy Mileage",
"description" : "Pembelian Mileage",
"mileagetype" : "AWARDMILES",
"unittype" : "PIECE",
"channel": "TO",
"partnercode": null, // hanya terisi jika ada
channel = PARTNER, dan ada object partner yang berisi data partner tersebut
"partner": null,
"basemileage" : 1,
"customtrxcode": "BUY_MILEAGE",
"customtrx": {
"customtrxcode" : "BUY_MILEAGE",
"customtrxname" : "Buy Mileage",
"description" : "",
"statementcode" : "20062199431",
"statementname" : "Buy Mileage Statement",
"extendable" : true,
"validforearn" : true,
"validforredeem" : false,
"validfortransfer" : false,
"durationtype" : "MONTH",
"durationindate" : null,
"durationinmonths" : 2,
"durationinyears" : null,
"periodendmonth" : true,
"periodendyears" : false
},
"duration": 12,
"includevat": true,
"startdate": "2020-07-01",
"enddate" : "2023-06-30",
"active": true
}
}
4.1.2 Delete
4.1.2.1 Webservices Description
Method POST
Endpoint http://{host}/amala/buymileage/catalogue/v1.2/master/delete
Autorization {bearer-token for service session}
Parameter information :
7|Page
password Password identity String NA O
signature Signature identity String NA O
seqno Sequence number identity String NA O
Parameter – Data
buymileageid data String NA
You can find detailed response field description in the table below :
b. Response
{
"status" : {
"responsecode" : 0000,
8|Page
"responsedesc" : "Success",
"responsemessage" : "", // Optional
"stacktrace" : "" // optional
},
"identity" : {
"apptxnid" : "jklnmsanjlfasd123",
"reqtxnid" : "ea9e5895-29c9-4f98-97ef-fcb4ba96e56c",
"reqdate" : "2018-04-01 15:23:23",
"appid" : "app1",
"userid" : "member",
"signature" : "srdhjklnmmvgdx",
"seqno" : 0
}
}
4.1.3 Retrieve
4.1.3.1 Webservices Description
Method POST
Endpoint http://{host}/amala/buymileage/catalogue/v1.2/retrieve
Autorization {bearer-token for service session}
Parameter information :
9|Page
buymileagename column String NA
description column String NA
mileagetype column String NA
unittype column String NA
channel column String NA
partnercode column String NA
basemileage column String NA
customtrxcode column String NA
duration column String NA
includevat column String NA
startdate column String NA
enddate column String NA
active column String NA
Parameter – Criteria
buymileageid criteria String NA
buymileagename criteria String NA
description criteria String NA
mileagetype criteria String NA
unittype criteria String NA
channel criteria String NA
partnercode criteria String NA
basemileage criteria String NA
customtrxcode criteria String NA
duration criteria String NA
includevat criteria String NA
startdate criteria String NA
enddate criteria String NA
active criteria String NA
You can find detailed response field description in the table below :
10 | P a g e
unittype result String NA
channel result String NA
partnercode result String NA
partner result String NA
basemileage result String NA
customtrxcode result String NA
Result – Customtrx
customtrxcode customtrx String NA
customtrxname customtrx String NA
description customtrx String NA
statementcode customtrx String NA
statementname customtrx String NA
extendable customtrx Boolean True or False
validforearn customtrx Boolean True or False
validforredeem customtrx Boolean True or False
validfortransfer customtrx Boolean True or False
durationtype customtrx String NA
durationindate customtrx String NA
durationinmonths customtrx String NA
durationinyears customtrx String NA
periodendmonth customtrx Boolean True or False
periodendyears customtrx Boolean True or False
Result
duration result Integer NA
includeve result Boolean True or False
startdate result Datetime NA
enddate result Datetime NA
active result Boolean True or False
Result
buymileageid result String NA
buymileagename result String NA
description result String NA
mileagetype result String NA
unittype result String NA
channel result String NA
partnercode result String NA
partner result String NA
basemileage result String NA
customtrxcode result String NA
Result – Customtrx
customtrxcode customtrx String NA
customtrxname customtrx String NA
description customtrx String NA
statementcode customtrx String NA
statementname customtrx String NA
extendable customtrx Boolean True or False
validforearn customtrx Boolean True or False
validforredeem customtrx Boolean True or False
validfortransfer customtrx Boolean True or False
durationtype customtrx String NA
durationindate customtrx String NA
durationinmonths customtrx String NA
durationinyears customtrx String NA
periodendmonth customtrx Boolean True or False
periodendyears customtrx Boolean True or False
Result
11 | P a g e
duration result Integer NA
includeve result Boolean True or False
startdate result Datetime NA
enddate result Datetime NA
active result Boolean True or False
Result
buymileageid result String NA
buymileagename result String NA
description result String NA
mileagetype result String NA
unittype result String NA
channel result String NA
partnercode result String NA
partner result String NA
basemileage result String NA
customtrxcode result String NA
Result – Customtrx
customtrxcode customtrx String NA
customtrxname customtrx String NA
description customtrx String NA
statementcode customtrx String NA
statementname customtrx String NA
extendable customtrx Boolean True or False
validforearn customtrx Boolean True or False
validforredeem customtrx Boolean True or False
validfortransfer customtrx Boolean True or False
durationtype customtrx String NA
durationindate customtrx String NA
durationinmonths customtrx String NA
durationinyears customtrx String NA
periodendmonth customtrx Boolean True or False
periodendyears customtrx Boolean True or False
Result
duration result Integer NA
includeve result Boolean True or False
startdate result Datetime NA
enddate result Datetime NA
active result Boolean True or False
12 | P a g e
"ffpcarriercode" : "GA", // mandatory
"cardnumber" : "100092901", // mandatory
"ticketname" : "Dolores/Rojali", // mandatory
"paxfirstname": "Rojali", // optional
"paxlastname" : "Dolores", // optional
"operatingairline" : "GA", // mandatory
"operatingfltnumber" : "123", // mandatory
"departuredate" : "2019-01-18", // mandatory
"origin" : "CGK", // mandatory
"destination" : "KUL", // mandatory
"compartmentcode" : "Y", // mandatory
"cabinclasscode" : "E", // mandatory
"ticketnumber" : "123123123133", // mandatory
"seatnumber" : "E", // optional
"sequencenumber" : "009982", // optional
"pnr" : "SDD123", // optional
"retrofrom" : "GA", // ENUM("GA", "QG", "SJ", "SKYTEAM", "PARTNER")
"partnercode" : null, // mandatory jika retrofrom = "PARTNER"
"channel" : "CSS", // mandatory, ENUM("CSS", "BATCH", "BO")
}
}
}
b. Response
{
"status" : {
"responsecode" : 0000,
"responsedesc" : "Success",
"responsemessage" : "", // Optional
"stacktrace" : ""// optional
},
"identity" : {
"apptxnid" : "jklnmsanjlfasd123",
"reqtxnid" : "ea9e5895-29c9-4f98-97ef-fcb4ba96e56c",
"reqdate" : "2018-04-01 15:23:23",
"appid" : "app1",
"userid" : "member",
"signature" : "srdhjklnmmvgdx",
"seqno" : 0
},
"result" : {
"eligibilitydenialcode" : "000",
"retroclaimid" : "19052300001",
"uin" : "GA190521073000000011",
"ffpcarriercode" : "GA",
"cardnumber" : "100092901",
"ticketname" : "Dolores/Rojali",
"paxfirstname": "Rojali",
"paxlastname" : "Dolores",
"marketingairline" : "GA",
"marketingairlinename" : "Garuda Indonesia",
"marketingfltnumber" : "123",
"marketingbookingclass" : "B",
"marketingbookingsubclass" : "Y",
"operatingairline" : "ST",
"operatingairlinename" : "German Airline",
"operatingfltnumber" : "123",
"operatingbookingclass" : "X",
"operatingbookingsubclass" : "Y",
"cabinclasscode" : "Y",
"departuredate" : "2019-01-18",
"originairport" : {
"airportcode" : "CGK",
13 | P a g e
"airportname" : "Soekarno Hatta International Airport",
"citycode" : "JAKTIM",
"cityname" : "Jakarta Timur",
"statecode" : "DKI",
"statename" : "DKI Jakarta",
"countrycode" : "ID",
"countryname" : "Indonesia"
},
"destinationairport" : {
"airportcode" : "KUL",
"airportname" : "Bandar Udara Internasional Kuala Lumpur",
"citycode" : "SEPANG",
"cityname" : "Sepang",
"statecode" : "KP",
"statename" : "Selangor",
"countrycode" : "MY",
"countryname" : "Malaysia"
},
"ticketnumber" : "123123123133",
"seatnumber" : "E",
"sequencenumber" : "009982",
"pnr" : "SDD123",
"ticketoffice" : "TOJKT",
"ticketofficename" : "Ticket Office Jakarta",
"channel" : "BO",
"retrofrom" : "GA",
"partnercode" : null,
"reqinfo" : "RETRO_REQUEST_REJECTED",
"activityid" : null,
"approvalby" : null,
"approvalreason" : null,
"approvaldate" : null,
"requestdate" : "2019-01-18",
"createdby" : "rojali_dolores",
"createddate" : "2019-01-18 15:23:23",
"updatedby" : "rojali_dolores",
"updateddate" : "2019-01-18 15:23:23"
}
}
14 | P a g e
4.1.4 Update
4.1.4.1 Webservices Description
Method POST
Endpoint http://{host}/amala/buymileage/catalogue/v1.2/master/update
Autorization {bearer-token for service session}
Parameter information :
You can find detailed response field description in the table below :
15 | P a g e
apptxnid Application identity String NA O
transaction id
reqtxnid Request identity String NA O
transaction id
reqdate Request date identity Datetime NA O
appid Application id identity String NA O
userid User Id identity String NA O
signature Signature identity String NA O
seqno Sequence number identity String NA O
Result
buymileageid result String NA
buymileagename result String NA
description result String NA
mileagetype result String NA
unittype result String NA
channel result String NA
partnercode result String NA
partner result String NA
basemileage result String NA
customtrxcode result String NA
Result – Customtrx
customtrxcode customtrx String NA
customtrxname customtrx String NA
description customtrx String NA
statementcode customtrx String NA
statementname customtrx String NA
extendable customtrx Boolean True or False
validforearn customtrx Boolean True or False
validforredeem customtrx Boolean True or False
validfortransfer customtrx Boolean True or False
durationtype customtrx String NA
durationindate customtrx String NA
durationinmonths customtrx String NA
durationinyears customtrx String NA
periodendmonth customtrx Boolean True or False
periodendyears customtrx Boolean True or False
Result
duration result Integer NA
includeve result Boolean True or False
startdate result Datetime NA
enddate result Datetime NA
active result Boolean True or False
Result
buymileageid result String NA
buymileagename result String NA
description result String NA
mileagetype result String NA
unittype result String NA
channel result String NA
partnercode result String NA
partner result String NA
basemileage result String NA
customtrxcode result String NA
Result – Customtrx
customtrxcode customtrx String NA
customtrxname customtrx String NA
16 | P a g e
description customtrx String NA
statementcode customtrx String NA
statementname customtrx String NA
extendable customtrx Boolean True or False
validforearn customtrx Boolean True or False
validforredeem customtrx Boolean True or False
validfortransfer customtrx Boolean True or False
durationtype customtrx String NA
durationindate customtrx String NA
durationinmonths customtrx String NA
durationinyears customtrx String NA
periodendmonth customtrx Boolean True or False
periodendyears customtrx Boolean True or False
Result
duration result Integer NA
includeve result Boolean True or False
startdate result Datetime NA
enddate result Datetime NA
active result Boolean True or False
Result
buymileageid result String NA
buymileagename result String NA
description result String NA
mileagetype result String NA
unittype result String NA
channel result String NA
partnercode result String NA
partner result String NA
basemileage result String NA
customtrxcode result String NA
Result – Customtrx
customtrxcode customtrx String NA
customtrxname customtrx String NA
description customtrx String NA
statementcode customtrx String NA
statementname customtrx String NA
extendable customtrx Boolean True or False
validforearn customtrx Boolean True or False
validforredeem customtrx Boolean True or False
validfortransfer customtrx Boolean True or False
durationtype customtrx String NA
durationindate customtrx String NA
durationinmonths customtrx String NA
durationinyears customtrx String NA
periodendmonth customtrx Boolean True or False
periodendyears customtrx Boolean True or False
Result
duration result Integer NA
includeve result Boolean True or False
startdate result Datetime NA
enddate result Datetime NA
active result Boolean True or False
17 | P a g e
4.1.4.2 Webservices Sample
c. Request
{
"identity" : {
"apptxnid" : "", // service yg isi, 1st attempt kosong
"reqtxnid" : "ea9e5895-29c9-4f98-97ef-fcb4ba96e56c", // client yg isi,
untuk log
"reqdate" : "2018-04-01 15:23:23", // timestamp,
"appid" : "", // application id, server yg isi
"userid" : "user1",
"password" : "password1", // optional
"signature" : "", // required for 2nd access
"seqno" : // if statefull, count, if apptxnid is null, count
},
"parameter" : {
"data" : {
"buymileageid": "200623abc12",
"buymileagename": "Buy Mileage",
"description": "Pembelian Mileage",
"mileagetype": "AWARDMILES", // ENUM: AWARDMILES,
BUY_CARD, UPGRADE, EXPIRY, TRANSFER, GIFTCARD
"unittype": "PIECE", // optional; required
untuk AWARDMILES; ENUM: PIECE, PACKAGE
"channel": "TO", // required; ENUM: TO,
PARTNER
"partnercode": null, // optional; required
untuk channel PARTNER; retrieve dari partner
"basemileage": 1000, // optional; required
untuk AWARDMILES dan UPGRADE; basemileage nilainya pasti 1 untuk unittype
PIECE; lebih dari 1 untuk unittype PACKAGE
"customtrxcode": "BUY_MILEAGE",
"duration": 12, // optional; untuk
menentukan periode receipt dalam hitungan bulan
"includevat": true, // optional
"startdate": "2020-07-01",
"enddate" : "2023-06-30"
}
}
}
d. Response
{
"status" : {
"responsecode" : 0000,
"responsedesc" : "Success",
"responsemessage" : "", // Optional
"stacktrace" : "" // optional
},
"identity" : {
"apptxnid" : "jklnmsanjlfasd123",
"reqtxnid" : "ea9e5895-29c9-4f98-97ef-fcb4ba96e56c",
"reqdate" : "2018-04-01 15:23:23",
"appid" : "app1",
"userid" : "member",
"signature" : "srdhjklnmmvgdx",
"seqno" : 0
},
"result" : [
{
"buymileageid" : "200623abc12",
"buymileagename" : "Buy Mileage",
18 | P a g e
"description" : "Pembelian Mileage",
"mileagetype" : "AWARDMILES",
"unittype" : "PIECE",
"channel": "TO",
"partnercode": null,
"partner": null,
"basemileage" : 1,
"customtrxcode": "BUY_MILEAGE",
"customtrx": {
"customtrxcode" : "BUY_MILEAGE",
"customtrxname" : "Buy Mileage",
"description" : "",
"statementcode" : "20062199431",
"statementname" : "Buy Mileage Statement",
"extendable" : true,
"validforearn" : true,
"validforredeem" : false,
"validfortransfer" : false,
"durationtype" : "MONTH",
"durationindate" : null,
"durationinmonths" : 2,
"durationinyears" : null,
"periodendmonth" : true,
"periodendyears" : false
},
"duration": 12,
"includevat": true,
"startdate": "2020-06-01",
"enddate" : "2023-06-30",
"active": false
},
{
"buymileageid" : "200623abc13",
"buymileagename" : "Buy Mileage",
"description" : "Pembelian Mileage",
"mileagetype" : "AWARDMILES",
"unittype" : "PIECE",
"channel": "TO",
"partnercode": null,
"partner": null,
"basemileage" : 1,
"customtrxcode": "BUY_MILEAGE",
"customtrx": {
"customtrxcode" : "BUY_MILEAGE",
"customtrxname" : "Buy Mileage",
"description" : "",
"statementcode" : "20062199431",
"statementname" : "Buy Mileage Statement",
"extendable" : true,
"validforearn" : true,
"validforredeem" : false,
"validfortransfer" : false,
"durationtype" : "MONTH",
"durationindate" : null,
"durationinmonths" : 2,
"durationinyears" : null,
"periodendmonth" : true,
"periodendyears" : false
},
"duration": 12,
"includevat": true,
"startdate": "2020-06-01",
"enddate" : "2020-06-24",
"active": true
},
{
19 | P a g e
"buymileageid" : "200623abc14",
"buymileagename" : "Buy Mileage",
"description" : "Pembelian Mileage",
"mileagetype" : "AWARDMILES",
"unittype" : "PIECE",
"channel": "TO",
"partnercode": null,
"partner": null,
"basemileage" : 1,
"customtrxcode": "BUY_MILEAGE_UPDATE",
"customtrx": {
"customtrxcode" : "BUY_MILEAGE_UPDATE",
"customtrxname" : "Buy Mileage",
"description" : "",
"statementcode" : "20062199431",
"statementname" : "Buy Mileage Statement",
"extendable" : true,
"validforearn" : true,
"validforredeem" : false,
"validfortransfer" : false,
"durationtype" : "MONTH",
"durationindate" : null,
"durationinmonths" : 5,
"durationinyears" : null,
"periodendmonth" : false,
"periodendyears" : false
},
"duration": 12,
"includevat": true,
"startdate": "2020-06-25",
"enddate" : "2023-06-30",
"active": true
}
]
}
5 Database Design
No Content Available
20 | P a g e