Wallet Cards

This chapter defines data fields for attributes object by each Wallet card types.

Boarding Pass

'Boarding pass' cards support one-off transit types such like airlines, trains, buses, ferries and etc.

Wallet Card Type Wallet Card Sub Type
boardingpass airlines, trains, buses, ferries, others

Sample UI: Boarding Pass
Boarding Pass UI-Attribute mapping: Numbers are matched to attributes below.

Type Value Description
attributes.{fields} 1 title String(32) Mandatory Main title.
e.g., 'BOARDING PASS'.

2 transitType String(16) Optional Transit type.
* This will be deprecated

3 groupingId String(32) Optional Identifier used to group related cards.
4 orderId String(32) Optional Unique identifier for an order.
5 providerLogo String(256) Mandatory URL of the logo image. The file size must not be greater than 256 kB.
6 providerLogo.dark Url String(256) Mandatory URL of the logo image.
The file size must not be greater than 256 kB.

7 providerName String(32) Mandatory Display name of the boarding pass provider.
8 user String(64) Conditional Passenger Name
* Required if subType is airlines

50 userType String(32) Optional Passenger type
i.e., Classification of passengers like Child, Adult

51 transitOperator String(64) Optional Operator name
9 vehicleNumber String(32) Conditional Transit or route number
i.e., Flight number on airlines
* Required if subType is airlines

52 transitClass String(32) Optional Transit class
i.e., Premium class for buses

53 transitFare String(32 Optional General fare or purchase fare
10 seatClass String(32) Conditional Seat class.
* Required if subType is airlines

11 seatNumber String(16) Mandatory Individual number of the passenger seat.
e.g., A-9, Free

12 reservationNumber String(32) Mandatory Number of the flight reservation.
13 boardingPriority String(32) Optional Information on whether entitles the passenger to board before others.
i.e., if the passengers are pregnant.

14 boardingSeqNo String(32) Optional Boarding sequence number
15 boardingGroup String(8) Optional Value of boarding group or zone.
e.g., B.

16 boardingTime Long(13) Optional Boarding time.
Epoch timestamp in milliseconds.

17 boardingTime.utcOffset String(8) Conditional UTC offset of boarding time at the departure point.
* Required if boardingTime exist

18 gateClosingTime Long(13) Optional Boarding gate closing time.
Epoch timestamp in milliseconds.

19 gateClosingTime.utcOffset String(8) Conditional UTC offset of gate closing time at the departure point.
* Required if gateClosingTime exist

20 baggageAllowance String(16) Optional Baggage allowance.
21 departName String(32) Conditional Name of the departure point.
* Required if subType is airlines

22 departCode String(8) Conditional Code for the departure point.
* Required if subType is airlines

23 departTerminal String(8) Conditional Terminal name of the departure point.
* Required if subType is airlines

24 departGate String(8) Optional Gate name of the departure point.
25 estimatedOrActualStartDate Long(13) Conditional Departure time.
Epoch timestamp in milliseconds.
i.e., the estimated time the aircraft plans to pull from the gate, or the actual time the aircraft already pulled from the gate.
* Required if subType is airlines

26 estimatedOrActualStartDate. utcOffset String(8) Conditional UTC offset of depart time at the departure point.
* Required if estimatedOrActualStartDate exist

27 arriveName String(32) Conditional Name of the arrival point.
* Required if subType is airlines

28 arriveCode String(8) Conditional Code for the arrival point.
* Required if subType is airlines

29 arriveTerminal String(8) Optional Terminal name of the arrival point.
30 arriveGate String(8) Optional Gate name of the arrival point.
32 estimatedOrActualEndDate Long(13) Conditional Arrival time
Epoch timestamp in milliseconds.
i.e., the estimated time the aircraft plans to reach the destination gate (not the runway), or the actual time it reached the gate.
* Required if subType is airlines

33 estimatedOrActualEndDate. utcOffset String(8) Conditional UTC offset of arrive time at the arrival point.
* Required if estimatedOrActualEndDate exist

34 locations String(1024) Optional List of locations where the card can be used.
* See Location format.

35 bgColor String(8) Mandatory Color of the card art.
e.g., #00FFFF.

36 fontColor String(8) Optional Color of the font on the card art.
Supported colors are white or black. (#000000 or #FFFFFF)

37 blinkColor String(8) Optional Color of the blinking effect in the Indicator area.
e.g., #00FFFF.

38 appLinkLogo String(256) Mandatory App link image URL. The file size must not be greater than 256 kB.
39 appLinkName String(32) Mandatory App link name.
40 appLinkData String(256) Mandatory Information about the partner app link.
41 extraInfo String(512) Optional Additional information to be delivered to customers.
* See Additional Information format.

42 noticeDesc String(1024) Optional Text of the notice.
* Long content is allowed.
* See Additional Information format.

43 csInfo String(512) Optional Set value to JSON Object (call or email or website)
* See the below example

44 displayTSAPreChec kYn String(1) Optional Flag whether to display the TSA PreCheck image. Either ‘Y’ or ‘N’.
45 membershipStatus Level String(256) Optional Image URL for the status level of the airline alliance or own membership.
i.e., Airline: SkyTeam, Star Alliance.

46 barcode.value String(4296) Mandatory Barcode data, serial number.
* Required if serialType isn’t 'None'.

47 barcode.serialType String(32) Mandatory Presentation Type (Barcode/QR/Serial/None).
* See Barcode format.

48 barcode.ptFormat String(32) Conditional Presentation Format.
* See Barcode format.

49 barcode.ptSubFormat String(32) Conditional

Example

Airline boarding pass
{
    "card": {
        "type": "boardingpass",
        "subType": "airlines",  
        "data": [
            {
                "refId": "SE16138353212584800001",
                "createdAt": 1612660039000,
                "updatedAt": 1612660039000,
                "language": "en",
                "attributes": {
                    "title": "OO AIR BOARDING PASS",
                    "transitType": "Airline",
                    "groupingId": "SE867132687321",
                    "providerLogo": "https://../logoImage.png",
                    "providerLogo.darkUrl": "https://../logoImage.png",
                    "providerName": "OO AIR",
                    "user": "GIL DONG HONG",
                    "vehicleNumber": "SE123",
                    "seatClass": "Economy Plus",
                    "seatNumber": "A15",
                    "reservationNumber": "A238473-1",
                    "boardingSeqNo": "32",
                    "boardingTime": 1612660039000,
"boardingTime.utcOffset": "UTC+9",
                    "baggageAllowance": "15KG",
                    "departName": "SEOUL/INCHEON",
                    "departCode": "INC",
                    "departTerminal": "C",
                    "departGate": "1",
"estimatedOrActualStartDate": 1612660039000,
"estimatedOrActualStartDate.utcOffset": "UTC+9",
                    "arriveName": "SAN FRANCISCO",
                    "arriveCode": "SFO",
                    "arriveTerminal": "A",
                    "arriveGate": "11",
                    "estimatedOrActualEndDate": 1612660039000,
"estimatedOrActualEndDate.utcOffset": "UTC-8",
                    "bgColor": "#FF00FF",
                    "fontColor": "#000000",
                    "appLinkLogo": "https://../applinklogo.png",
                    "appLinkName": "OO Airline",
                    "appLinkData": "https://www.ooairline.com",
                    "csInfo": "{\"call\":\"555) 123-4567\", \"email\":\"cs@email.com\", \"website\":\"https://homepage.com/cs\"}",
                    "barcode.value": "CS16138353212584806754FG1802",
                    "barcode.serialType": "BARCODE",
                    "barcode.ptFormat": "QRCODESERIAL",
                    "barcode.ptSubFormat": "QR_CODE"
                },
                "localization": [
                    {
                        "language": "ko",
                        "attributes": {
                            "title": "OO 항공 탑승권",
                            "providerName": "OO 항공",
                            "user": "홍 길동"
                        }
                    }
                ]
            }
        ]
    }
}

Grouped Bus boarding passes
{
    "card": {
        "type": "boardingpass",
        "subType": "buses",
        "data": [
            {
                "refId": "ref-202211300001",
                "createdAt": 1669782394000,
                "updatedAt": 1669782394000,
                "language": "en",
                "attributes": {
                    "title": "Samsung Bus Boarding Pass",
                    "transitType": "Bus",
                    "groupingId": "grp-20221130001",
                    "providerLogo": "https://../logoImage.png",
                    "providerLogo.darkUrl": "https://../logoImageDark.png",
                    "providerName": "SAMSUNG BUS",
                    "user": "GALAXY KIM",
                    "userType": "Adult",
                    "transitOperator": "Samsung Transport Co.",
                    "seatNumber": "7-A",
                    "reservationNumber": "RSVNO-202211300001",
                    "transitClass": "Premium",
                    "transitFare": "12,500 WON",
                    "boardingTime": 1671926400000,
                    "boardingTime.utcOffset": "UTC+09:00",
                    "departName": "EAST-SEOUL Bus Terminal",
                    "departGate": "14",
                    "estimatedOrActualStartDate": 1671928200000,
                    "estimatedOrActualStartDate.utcOffset": "UTC+09:00",
                    "arriveName": "SUWON Bus Terminal",
                    "bgColor": "#F1C232",
                    "fontColor": "#000000",
                    "appLinkLogo": "https://../applinklogo.png",
                    "appLinkName": "Samsung Bus",
                    "appLinkData": "https://www.samsung-bus.com",
                    "csInfo": "{\"call\":\"555) 123-4567\", \"email\":\"cs@email.com\", \"website\":\"https://homepage.com/cs\"}",
                    "barcode.value": "161383532125848067541802",
                    "barcode.serialType": "BARCODE",
                    "barcode.ptFormat": "QRCODESERIAL",
                    "barcode.ptSubFormat": "QR_CODE"
                },
                "localization": [
                    {
                        "language": "ko",
                        "attributes": {
                            "title": "삼성버스 탑승권",
                            "providerName": "삼성버스",
                            "user": "김 은하",
                            "transitFare": "12,500 원"
                        }
                    }
                ]
            },
            {
                "refId": "ref-202211300002",
                "createdAt": 1669782394000,
                "updatedAt": 1669782394000,
                "language": "en",
                "attributes": {
                    "title": "Samsung Bus Boarding Pass",
                    "transitType": "Bus",
                    "groupingId": "grp-20221130001",
                    "providerLogo": "https://../logoImage.png",
                    "providerLogo.darkUrl": "https://../logoImageDark.png",
                    "providerName": "SAMSUNG BUS",
                    "user": "SAMSUNG SAM",
                    "userType": "Child",
                    "transitOperator": "Samsung Transport Co.",
                    "seatNumber": "7-B",
                    "reservationNumber": "RSVNO-202211300002",
                    "transitClass": "Preminum",
                    "transitFare": "9,000 WON",
                    "boardingTime": 1671926400000,
                    "boardingTime.utcOffset": "UTC+09:00",
                    "departName": "EAST-SEOUL Bus Terminal",
                    "departGate": "14",
                    "estimatedOrActualStartDate": 1671928200000,
                    "estimatedOrActualStartDate.utcOffset": "UTC+09:00",
                    "arriveName": "SUWON Bus Terminal",
                    "bgColor": "#F1C232",
                    "fontColor": "#000000",
                    "appLinkLogo": "https://../applinklogo.png",
                    "appLinkName": "Samsung Bus",
                    "appLinkData": "https://www.samsung-bus.com",
                    "csInfo": "{\"call\":\"555) 123-4567\", \"email\":\"cs@email.com\", \"website\":\"https://homepage.com/cs\"}",
                    "barcode.value": "161383532125848067541802",
                    "barcode.serialType": "BARCODE",
                    "barcode.ptFormat": "QRCODESERIAL",
                    "barcode.ptSubFormat": "QR_CODE"
                },
                "localization": [
                    {
                        "language": "ko",
                        "attributes": {
                            "title": "삼성버스 탑승권",
                            "providerName": "삼성버스",
                            "user": "사만다 삼성",
                            "transitFare": "9,000 원"
                        }
                    }
                ]
            }
        ]
    }
}

Event Ticket

'Event Ticket' cards support event commodities for performances, sports, movies, entrances, and etc.

Wallet Card Type Wallet Card Sub Type
ticket performances, sports, movies, entrances, others

Sample UI: Ticket
Ticket UI-Attribute mapping: Numbers are matched to attributes below.

Type Value Description
attributes.{fields} 1 title String(32) Mandatory Main title.
e.g., MLB Ticket.

2 category String(16) Optional Ticket category
* This will be deprecated

3 eventId String(32) Optional If full cancelation of the event occurs, find and process all tickets with this ID.
4 groupingId String(32) Optional Identifier used to group related cards.
5 orderId String(32) Optional A unique identifier for an order.
6 mainImg String(256) Mandatory URL for main ticket image.
The file size must not be greater than 512 kB.

7 subtitle1 String(32) Optional Subtitle.
8 logoImage String(256) Mandatory Logo image URL to be displayed in the Card item.
The file size must not be greater than 256 kB.

9 logoImage.darkUrl String(256) Mandatory Logo image URL (dark version).
The file size must not be greater than 256 kB.

10 providerName String(32) Mandatory Ticket provider name.
11 seatClass String(32) Optional Seat class.
12 entrance String(64) Optional Entrance gate.
13 seatNumber String(256) Optional Seat location.
14 seatLayoutImage String(256) Optional URL of the seat layout image.
The file size must not be greater than 512 kB.

15 issueDate Long(13) Mandatory Issue date. Epoch timestamp in milliseconds.
16 reservationNumber String(32) Mandatory Reservation number.
17 user String(64) Optional Name of person who made the reservation.
18 certification String(16) Optional Ticket certification.
For example, the Film rating.

19 reactivatableYn String(1) Optional Flag whether the card is able to activate an expired ticket temporarily.
Either ‘Y’ or ‘N’
* Default: N

55 preventCaptureYn String(1) Optional Flag whether this wallet card view prevents screen capture.
Either ‘Y’ or ‘N’
* Default: N

20 startDate Long(13) Mandatory Start date (Display Start date).
Epoch timestamp in milliseconds.

21 endDate Long(13) Optional End date (Display End date).
Epoch timestamp in milliseconds.
* If null, the card will expired in 10 hours from startDate

22 person1 String(512) Optional Number of persons by category.
* See Classification format.

23 locations String(1024) Optional List of locations where the card can be used.
* See Location format.

24 noticeDesc String(1024) Mandatory Text of the notice.
* Long content is allowed.
* See Additional Information format.

25 csInfo String(512) Mandatory Set value to JSON Object. (call, email, website).
* See the example below.

26 appLinkLogo String(256) Mandatory App link image URL.
The file size must not be greater than 256 kB.

27 appLinkName String(32) Mandatory App link name.
28 appLinkData String(256) Mandatory Information about the partner app link.
29 connectivityType String(16) Mandatory Supported Connectivity Type
e.g. BLE, NFC, UWB

30 bgColor String(8) Optional Color of the card art.
e.g., #00FFFF.

31 fontColor String(8) Optional Color of the font on the card art.
Supported colors are white or black. (#000000 or #FFFFFF)

32 blinkColor String(8) Mandatory Color of the blinking effect in the Indicator area.
For example, #00FFFF.

33 barcode.value String(4296) Conditional Barcode data, serial number.
* Required if serialType isn’t 'None'.

34 barcode.serialType String(32) Mandatory Presentation Type (Barcode/QR/Serial/None).
* See Barcode format.

35 barcode.ptFormat String(32) Conditional Presentation Format.
* See Barcode format.
* Required if serialType isn’t 'None'.

36 barcode.ptSubFormat String Conditional
If coupons are provided together. Samsung Wallet can show up to two coupons per ticket.

37 relCoupon1.title String(32) Mandatory 1st coupon title.
38 relCoupon1.providerName String(32) Mandatory 1st coupon provider name.
39 relCoupon1.imageFileSrc String(256) Optional 1st coupon image URL. The file size must not be greater than 256 kB.
40 relCoupon1.noticeDescription String(1024) Optional Text of the notice.
* Long content is allowed.
* See Additional Information format.

41 relCoupon1.notificationTime Long(13) Optional Coupon exposure time. Epoch timestamp in milliseconds.
42 relCoupon1.value String(4296) Conditional Barcode data, serial number.
* Required if serialType isn’t 'None'.

43 relCoupon1.serialType String(32) Mandatory Presentation Type (Barcode/QR/Serial/None).
* See Barcode format.

44 relCoupon1.ptFormat String(32) Conditional Presentation Format.
* See Barcode format.
* Required if serialType isn’t 'None'.

45 relCoupon1.ptSubFormat String(32) Conditional
46 relCoupon2.title String(32) Mandatory 2nd coupon title.
47 relCoupon2.providerName String(32) Mandatory 2nd coupon provider name.
48 relCoupon2.imageFileSrc String(256) Optional 2nd coupon image URL. The file size must not be greater than 256 kB.
49 relCoupon2.noticeDescription String(1024) Optional Text of the notice.
* Long content is allowed.
* See Additional Information format.

50 relCoupon2.notificationTime Long(13) Optional Coupon exposure time.
Epoch timestamp in milliseconds.

51 relCoupon2.value String(4296) Conditional Barcode data, serial number.
* Required if serialType isn’t 'None'.

52 relCoupon2.serialType String(32) Mandatory Presentation Type (Barcode/QR/Serial/None).
* See Barcode format.

53 relCoupon2.ptFormat String(32) Conditional Presentation Format.
* See Barcode format.
* Required if serialType isn’t 'None'.

54 relCoupon2.ptSubFormat String(32) Conditional

Example

{
    "card": {
        "type": "ticket",
        "subType": "sports",
        "data": [
            {
                "refId": "ND1613835321258480007",
                "createdAt": 1612660039000,
                "updatedAt ": 1612660039000,
                "language": "en",
                "attributes": {
                    "title": "MLB Ticket",
                    "category": "Sports",
                    "orderId": "EME0331",
                    "mainImg": "https://../logo.png",
                    "logoImage": "https://../main.png",
                    "providerName": "MLB",
                    "logoImage.darkUrl": "https://../logo.png",
                    "seatNumber": "Floor 1 Section 201 Row10 Seat 5",
                    "seatLayoutImage": "https://../layout_8.png",
                    "issueDate": 1637457125000,
                    "reservationNumber": "MLB000001",
                    "startDate": 1637457925000,
                    "person1": "{\"person\" : [{\"category\" : \"Adult\", \"count\": 1 },{\"category\" : \"Child\", \"count\": 2 },]}",
                    "locations": "[{\"lat\": 37.779337, \"lng\": -122.388755, \"address\": \"1 E 161 St. Bronx, NY\", \"name\": \"Yankee Stadium\"}]",
                    "noticeDesc": "{\"count\": 2,\"info\": [{\"title\": \"NOTICE 2\",\"content\": [\"DESCRIPTION 1\",\"DESCRIPTION 2\"]},{\"title\": \"NOTICE 2\",\"content\": [\"DESCRIPTION 1\"]}]}",
                    "csInfo": "{\"call\":\"555) 123-4567\", \"email\":\"cs@email.com\", \"website\":\"https://homepage.com/cs\"}",
                    "appLinkName": "OO Movies",
                    "appLinkLogo": "https://../applinklogo.png",
                    "appLinkData": "https://www.ooairline.com",
                    "blinkColor": "#00FFFF",
                    "barcode.value": "CS16138353212584806754",
                    "barcode.serialType": "BARCODE",
                    "barcode.ptFormat": "QRCODESERIAL",
                    "barcode.ptSubFormat": "QR_CODE"
                }
            }
        ]
    }
}

Coupon

'Coupon' cards support digitalized redeemable voucher.

Wallet Card Type Wallet Card Sub Type
coupon others

Sample UI: Coupon
Coupon UI-Attribute mapping: Numbers are matched to attributes below.

Type Value Description
attributes.{fields} 1 title String(32) Mandatory Main title. For example, 'Free coupon".
2 orderId String(32) Optional Unique identifier for an order.
3 mainImg String(256) Mandatory URL for the main coupon image. The file size must not be greater than 512 kB.
4 brandName String(32) Optioanl Brand name.
5 expiry Long(13) Mandatory Expiry date in timestamp format. Issued data is cleaned up after it expires.
Epoch timestamp in milliseconds.

6 issueDate Long(13) Mandatory Issue date. Epoch timestamp in milliseconds.
7 redeemDate Long(13) Optional Date when the coupon is used.
Epoch timestamp in milliseconds.

8 noticeDesc String(1024) Optional Text of notice.
* HTML supported

9 editableYn String(1) Mandatory Flag whether the coupon can be modified. Either ‘Y’ or ‘N’.
10 deletableYn String(1) Mandatory Flag whether the coupon can be deleted. Either ‘Y’ or ‘N’.
11 displayRedeemButtonYn String(1) Mandatory Flag whether the use completion button is displayed.
Either ‘Y’ or ‘N’.

13 notificationYn String(1) Mandatory Flag whether a notification related to the coupon is delivered. Either ‘Y’ or ‘N’.
14 appLinkLogo String(256) Mandatory App link image URL.
The file size must not be greater than 256 kB.

15 appLinkName String(32) Mandatory App link name.
16 appLinkData String(256) Mandatory Information about the partner app link.
17 barcode.value String(4296) Conditional Barcode data, serial number.
* Required if serialType isn’t 'None'.

21 barcode.value2 String(4296) Conditional The secondary barcode data.
* Required if ptFormat is DUALBARCODE or DUALBARCODESERIAL

18 barcode.serialType String(32) Mandatory Presentation Type (Barcode/QR/Serial/None).
* See Barcode format.

19 barcode.ptFormat String(32) Conditional Presentation Format.
* See Barcode format.
* Required if serialType isn’t 'None'.

20 barcode.ptSubFormat String(32) Conditional

Example

{
    "card": {
        "type": "coupon",
        "subType": "others",
        "data": [{
            "refId": "ref-20230304-0002",
            "createdAt": 1612660039000,
            "updatedAt": 1612660039000,
            "language": "en",
            "attributes": {
                "title": "Free Coupon",
                "mainImg": "https://../main.png",
                "brandName": "Samsung Coupon",
                "expiry": 1637802725000,
                "issueDate": 1637457125000,
                "editableYn": "N",
                "deletableYn": "N",
                "displayRedeemButtonYn": "Y",
                "notificationYn": "Y",
                "appLinkName": "OO Voucher",
                "appLinkLogo": "https://../applinklogo.png",
                "appLinkData": "https://www.oocoupon.com",
                "barcode.value": "CS16138353212584806754FG1802 ",
                "barcode.serialType": "BARCODE",
                "barcode.ptFormat": "QRCODESERIAL",
                "barcode.ptSubFormat": "QR_CODE"
            }
        }]
    }
}