'Add to Wallet' Interfaces

Add to Wallet

Typical flow

Once a template is ready, partners receive an 'Add to Wallet' link. The following contents describe the web link and card data specification by types.

Web link includes identifier for the partner, but also card data in the below URL format.

[Link Format]

https://a.swallet.link/atw/v1/{Card Id}#Clip?cdata={encrypted data}

For backward compatibility, we support also:
https://api-card.walletsvc.samsung.com/wlt/{Product Id}/{Card Id}#Clip?cdata={encrypted data}

[Card Data Specification]

#Hash name and query parameters:
the hash name is '#Clip' (The first letter is capital)

Card ID:
{Card Id} is an ID issued when the partner manager signs up for partner services and register the wallet card they want to service. Refer to Partner Onboarding guide document for details.

cdata:
Actual payload data in basic JSON format to communicate between partners and Samsung Wallet. See the details on the below sheet.

Card Data Token:
The specific wallet card data mentioned as cdata must be secured in JWT(JSON Web Token) format. See a chapter Security for details.

Type Value Description
URL https://a.swallet.link/atw/v1/{Card Id}#Clip?cdata={Card Data Token}
Path Parameters Card Id String(36) Mandatory Card ID (Samsung defined)
Hash Path Parameters #Clip String(5) Mandatory Fixed. Parameters for the Hash link.
Query Parameters cdata Object Mandatory Card object. (JSON)
* This field needs to be encrypted.
* See Security.

Card object card Object Mandatory Card information.
card.type String(16) Mandatory Card type.
* Details about card types and their information.

card.data[] Array of Object Mandatory Card container
Allows up to 10 objects at once

data[].refId String(36) Mandatory Unique card identifier (partner defined).
data[].createdAt Long(13) Mandatory Data creation timestamp. Epoch timestamp in milliseconds. *UTC±00:00
data[].updatedAt Long(13) Mandatory Data update timestamp. Epoch timestamp in milliseconds. *UTC±00:00
data[].language String(8) Mandatory Default content language code. e.g., en, ko
data[].attributes Object Mandatory Attributes of card data.
data[].attributes.{fi elds} Attribute fields by card type.
* Details about card types and their information.

data[].localization[] Array of Object Optional Information for multilingual support.
localization[].language String(2) Mandatory Multilingual content language code. e.g., en, ko
localization[].attrib utes.{fields} For displaying a given language, ‘data[].attributes’ can be replaced by localized versions.

Example: Card object

{
    "card": {
        "type": "ticket",
        "data": [
            {
                "refId": "cardref00086",
                "createdAt": 1612660039000,
                "language": "en",
                "attributes": {
                    "title": "Parasite",
                    "mainImg": https://../main.png
                },
                "localization": [
                    {
                        "language": "ko",
                        "attributes": {
                            "title": "기생충"
                        }
                    }
                ]
            }
        ]
    }
}

Example: web link

https://a.swallet.link/atw/v1/1656147182764415319#Clip?cdata=eyJjdHkiOiJKV1QiLCJhbGciOiJsInRpbWVzdGFtcCI6ImNyZWF0ZWQgdGltZSIsInBhcnRuZXJJRCI6InBhcnRuZXIgSUQifQ.
… … … …
Dn0_oZ3xcr0JuQ3mlSzLIUTxFoTewnZ0MQj7kiNjysNm5Xfwqt5vcN20PeebeLgUx8VJXLy4_9G4BHQ-hd4O9POYuTuAWew.YzdlMTFhO -NYCeL3T0YzNzAD2KcK_HrtwIGEErHLGn6ydaq_fpFdSlxsA3ZJtNpg3wcuqEw5cIdpbPFswbQLropqEpNawg5nlm3DKAA4a1dzaZMbSR1BGZHrH_vIKnx3CY5MO0jNBexl_YIZ5_wB379UYSwumQiPiTZVg2IjYvfht17I4

Slim data flow

In some cases, the tokenized data exceeds specific character limits on browser can be truncated. In most cases, recommendation is that the JWT don't exceed 2048 bytes.

This chapter proposes a option which contains reference ID(refId) only for the web link. With the unique id, Samsung server attempts inquiring wallet card data in the typical flow data format. For details, see a chapter Get Card Data.

[Link Format]

https://a.swallet.link/atw/v1/{Card Id}#Clip?pdata={Reference Id}

[Card Data Specification]

pdata:
This has identification for each users' wallet card contents called refId. For secure transactions, reference ID must guarantee a form that cannot be inferred.

Type Value Description
URL https://a.swallet.link/atw/v1/{Card Id}#Clip?pdata={refId}
Path Parameters Card Id String Mandatory Card ID (Samsung defined)
Hash Path Parameters #Clip String Mandatory Fixed. Parameters for the Hash link.
Query Parameter pdata String Mandatory Reference ID Unique card identifier (partner defined).
Used to check for duplicates.

Example * Example: web link
https://a.swallet.link/atw/1](https://a.swallet.link/atw/)656147182764415319#Clip?pdata=sIgHCzIwM9g

Attributes

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

Boarding Pass

'Boarding pass' cards support one-off transit types such like 'Airline', 'Train', and 'Bus'.

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

Type Value Description
card 0 type String(16) Mandatory ‘boardingpass’.
card.data[].a ttributes.{fie lds} 1 title String(32) Mandatory Main title.
e.g., 'BOARDING PASS'.

2 transitType String(16) Mandatory Transit type.
The value can be ‘Airline’, ‘Train’, ‘Bus’, or ‘Other’.

3 groupingId String(36) Optional Identifier used to group related cards.
4 orderId String(36) 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) Mandatory Full name of the person who uses the card.
9 vehicleNumber String(32) Mandatory Vehicle or route number.
For example, if the ‘transitType’ has been set to ‘Airline’, this refers to the flight number.

10 seatClass String(32) Mandatory Seat class.
11 seatNumber String(16) Mandatory Individual number of the passenger seat.
12 reservationNumber String(32) Mandatory Number of the flight reservation.
13 boardingPriority String(32) Optional Information on whether the boarding pass entitles the passenger to board the plane before others.
i.e., if the passengers are pregnant.

14 boardingSeqNo String(32) Mandatory Boarding sequence.
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) Mandatory Name of the departure point.
22 departCode String(8) Mandatory Code for the departure point.
23 departTerminal String(8) Optional Terminal name of the departure point.
24 departGate String(8) Optional Gate name of the departure point.
25 estimatedOrActualStartDate Long(13) Mandatory Estimated time the aircraft plans to pull from the gate, or the actual time the aircraft already pulled from the gate.
Epoch timestamp in milliseconds.

26 estimatedOrActualStartDate.utcOffset String(8) Mandatory UTC offset of depart time at the departure point.
27 arriveName String(32) Mandatory Name of the arrival point.
28 arriveCode String(8) Mandatory Code for the arrival point.
29 arriveTerminal String(8) Optional Terminal name of the arrival point.
30 arriveGate String(8) Optional Gate name of the arrival point.
31 arriveTimezone String(8) Optional Time zone at the arrival point.
32 estimatedOrActualEndDate Long(13) Mandatory Estimated time the aircraft plans to reach the destination gate (not the runway), or the actual time it reached the gate.
Epoch timestamp in milliseconds.

33 estimatedOrActualEndDate.utcOffset String(8) Mandatory UTC offset of arrive time at the arrival point.
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) Mandatory 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.ptSubFor mat String(32) Conditional

Example

{
    "card": {
        "type": "boardingpass",
        "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": "홍 길동"
                        }
                    }
                ]
            }
        ]
    }
}

Coupon

'Coupon' cards support digitalized redeemable voucher.

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

Type Value Description
card 0 type String(16) Mandatory ‘coupon’.
card.data[].a ttributes.{fie lds} 1 title String(32) Mandatory Main title. For example, 'Free coupon".
2 orderId String(36) 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 displayRedeemButt onYn String(1) Mandatory Flag whether the use completion button is displayed. Either ‘Y’ or ‘N’.
12 addToWalletCoupo nYn String(1) Mandatory Set as ‘Y’.
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'.

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.ptSubFor mat String(32) Conditional

Example

{
    "card": {
        "type": "coupon",
        "data": [
            {
                "refId": "3532116138258480007",
                "createdAt": 1612660039000,
                "updatedAt": 1612660039000,
                "language": "en",
                "attributes": {
                    "title": "Free Coupon",
                    "mainImg": "https://../main.png",
                    "brandName": "Donkin",
                    "expiry": 1637802725000,
                    "issueDate": 1637457125000,
                    "editableYn": "N",
                    "deletableYn": "N",
                    "displayRedeemButtonYn": "Y",
                    "addToWalletCouponYn": "Y",
                    "notificationYn": "Y",
                    "appLinkName": "OO Movies",
                    "appLinkLogo": "https://../applinklogo.png",
                    "appLinkData": "https://www.ooairline.com",
                    "barcode.value": "CS16138353212584806754FG1802 ",
                    "barcode.serialType": "BARCODE",
                    "barcode.ptFormat": "QRCODESERIAL",
                    "barcode.ptSubFormat": "QR_CODE"
                }
            }
        ]
    }
}

Ticket

'Ticket' cards support event commodities for 'Performance', 'Sports', 'Movie', 'Entrance', and etc.

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

Type Value Description
card 0 type String(16) Mandatory ‘ticket’
card.data[].attributes.{fields} 1 title String(32) Mandatory Main title.
e.g., MLB Ticket.

2 category String(16) Mandatory Ticket category.
The value can be ‘Performance’, ‘Sports’, ‘Movie’, ‘Entrance’, or ‘Other’.

3 eventId String(36) Optional If full cancelation of the event occurs, find and process all tickets with this ID.
4 groupingId String(36) Optional Identifier used to group related cards.
5 orderId String(36) 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’

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.

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.serialT ype 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.serialT ype String(32) Mandatory Presentation Type (Barcode/QR/Serial/None).
* See Barcode format.

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

54 relCoupon2.ptSubFormat String(32) Conditional

Example

{
    "card": {
        "type": "ticket",
        "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"
                }
            }
        ]
    }
}

Digital Key

'Digital Key' cards serve various types of key including actions.

Type Value Description
card type String(16) Mandatory ‘digitalkey’
card.data[].attributes.{fields} title String(32) Mandatory Main title.
e.g., ‘Samsung Hotel Key’.

category String(16) Mandatory Categorized Digital Key types.
The value can be ‘Accommodation’, ‘Vehicle’, ‘Home’, or ‘Other’.

groupingId String(36) Optional Identifier used to group related cards.
orderId String(36) Optional A unique identifier for an order.
mainImg String(256) Mandatory URL for main ticket image.
The file size must not be greater than 512 kB.

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

providerName String(32) Mandatory Digital key provider name.
objectName String(256) Optional Object name such as room numbers or models, or specific identifiers.
reservationNumber String(32) Mandatory Reservation number.
checkInTime Long(13) Optional Check-in date time.
Epoch timestamp in milliseconds.

checkInTime.utcOffset String(8) Optional UTC offset of check-in time
checkOutTime Long(13) Optional Check-out date time.
Epoch timestamp in milliseconds.

checkOutTime.utcOffset String(8) Optional UTC offset of check-out time
user String(64) Optional A user’s full name that actually uses a card.
actions String(1024) Optional Actions which holders can execute
* See *Action * format.

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

endDate Long(13) Optional End date (Display End date).
Epoch timestamp in milliseconds.

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

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

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

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

appLinkName String(32) Mandatory App link name.
appLinkData String(256) Mandatory Information about the partner app link.
bgColor String(8) Optional Color of the card art. For example, #00FFFF.
fontColor String(8) Optional Color of the font on the card art.
Supported colors are white or black. (#000000 or #FFFFFF)

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

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

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

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

barcode.ptSubFormat String Conditional

Example

{
  "card": {
    "type": "digitalKey",
      "data": [{
      "refId": "DK1613835321258480007",
      "createdAt": 1658385817000,
      "updatedAt ": 1658385817000,
      "language": "en",
      "attributes": {
        "title": "OO Hotel Key",
        "category": "Accommodation",
        "orderId": "120587",
        "mainImg": "https://../main.png",
        "logoImage": "https://../logo.png",
        "logoImage.darkUrl": "https://../logo-dark.png",
        "providerName": "OO Hotel",
        "objectName": "Room 318",
        "reservationNumber": "202207180001",
        "checkInTime": 1658415600000,
        "checkInTime.utcOffset": "UTC+09:00",
        "checkOutTime": 1658487600000,
        "checkOutTime.utcOffset": "UTC+09:00",
        "startDate": 1658329200000,
        "actions": "[{\"function\":\"LOCK\",\"type\":\"INTENT\",\"packageName\":\"com.example\",\"className\":\"com.example.Digitalkey\",\"action\":\"android.intent.action.MAIN\",\"extras\":[{\"key\":\"doorlock\",\"value\":\"lock\"}]},{\"function\":\"CHECKIN\",\"type\":\"DEEPLINK\",\"deeplink\":\"https://oohotel.onelink.me/checkin/8fhjd6e\"}]",
        "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 Hotel",
        "appLinkLogo": "https://../applinklogo.png",
        "appLinkData": "https://www.oohotel.com",
        "blinkColor": "#00FFFF"
      }
    }]
  }
}