{
    "walletOrder": {
        "properties": ["orderNumber","trackingNumber","senderDomain"],
        "relationship_types": {
            "hasDate" : "dateRelationshipType",
            "hasEmail" : "orderEmailRelationshipType",
            "hasMerchant": "entityOrganizationRelationshipType",
            "identifier": "identifierRelationshipType",
            "hasPerson": "orderPersonRelationshipType",
            "hasPayment": "orderPaymentRelationshipType",
            "hasTransaction": "orderTransactionRelationshipType",
            "hasShipmentFullFillment": "orderShipmentFullFillmentRelationshipType"
        },
        "collections": ["hasEmail","hasShipmentFullFillment", "hasTransaction", "identifier"],
        "topLevelEntity": "true"
    },
    "identifierRelationshipType" : {
        "properties" : ["identifierId", "identifierType"]
    },
    "orderPersonRelationshipType": {
        "entities": {
            "personIdentifier": "person"
        }
    },
    "orderShipmentFullFillmentRelationshipType": {
        "entities": {
            "shipmentFullFillmentIdentifier": "shipmentFullFillmentInfo"
        }
    },
    "orderEmailRelationshipType": {
        "properties": ["identifierId","identifierType"],
        "entities": {
            "emailIdentifier": "email"
        }
    },
    "orderPaymentRelationshipType": {
        "properties": ["identifierId","identifierType"],
        "entities": {
            "paymentIdentifier": "payment"
        }
    },
    "email": {
        "properties": ["identifierId","subject","senderDomain","url","emailType","toEmailAddress","toDisplayName"],
        "relationship_types": {
            "hasDate" : "dateRelationshipType",
        }
    },
    "organization": {
       "properties": ["name", "teamIdentifier","url"]
    },
    "person": {
        "properties": [ "firstName", "familyName", "name" , "username"],
        "relationship_types": {
            "hasContactInformation": "addressRelationshipType"
        }
    },
    "shipmentFullFillmentInfo":{
        "properties": ["shippingStatus","trackingNumber","carrierName","shippingMethod"],
        "relationship_types": {
            "hasEmail" : "shipmentFullFillmentEmailRelationshipType",
            "hasDate" : "dateRelationshipType",
            "hasPerson": "shipmentPersonRelationshipType"
            },
        "collections": ["hasDate"]
    },
    "payment":{
        "properties": ["name","paymentMethodIsApplePay"],
        "relationship_types": {
            "totalAmount" : "quantityRelationshipType"
        }
    },
    "transaction":{
        "properties":["name","identifierId","description","accountInstitution","accountLastFourDigits","transactionSource","accountType","transactionStatus","transactionType"],
        "relationship_types": {
            "amount" : "quantityRelationshipType"
        }
    },
    "shipmentFullFillmentEmailRelationshipType": {
        "properties": ["identifierId","identifierType"],
        "entities": {
            "emailIdentifier": "email"
        }
    },
    "orderTransactionRelationshipType": {
        "properties": ["identifierId","identifierType"],
        "entities": {
            "transactionIdentifier": "transaction"
        }
    },
    "addressRelationshipType" : {
        "properties" : ["emailAddress", "contactLabel", "phoneNumber", "isFavorite", "contactFavoriteActionType","thoroughfare","locality", "administrativeArea", "postalCode", "country", "secondAddressLine"]
    },
    "quantityRelationshipType": {
        "properties": ["quantity","unit"]
    },
    "dateRelationshipType": {
        "properties": ["identifierType","startTime", "imputedStartTime", "endTime", "imputedEndTime", "occurrenceDate", "imputedOccurrenceDate"]
    },
    "entityOrganizationRelationshipType": {
        "entities": {
            "organizationIdentifier": "organization"
        }
    },
    "shipmentPersonRelationshipType": {
        "entities": {
            "personIdentifier": "person"
        }
    }
}


