import PropTypes from 'prop-types'; const T = {}; T['com.hbc.api.fraud.v0.enums.RecommendationCode'] = PropTypes.oneOf(['reject', 'review', 'accept']); T['com.hbc.api.fraud.v0.models.AdditionalData'] = PropTypes.exact({ inAuthId: PropTypes.string.isRequired, }); T['com.hbc.api.fraud.v0.models.Promo'] = PropTypes.exact({ promotionCode: PropTypes.string.isRequired, promotionAmount: PropTypes.number.isRequired, }); T['com.hbc.api.fraud.v0.enums.Banner'] = PropTypes.oneOf(['lat', 's5a', 'o5a', 'bay']); T['com.hbc.api.fraud.v0.models.Decision'] = PropTypes.exact({ transactionId: PropTypes.string.isRequired, recommendationCode: T['com.hbc.api.fraud.v0.enums.RecommendationCode'].isRequired, crossReference: PropTypes.string, rulesTripped: PropTypes.string, totalScore: PropTypes.number.isRequired, remarks: PropTypes.string, }); T['com.hbc.api.fraud.v0.enums.CustomerType'] = PropTypes.oneOf(['guest', 'registered', 'employee']); T['com.hbc.api.fraud.v0.models.Customer'] = PropTypes.exact({ customerType: T['com.hbc.api.fraud.v0.enums.CustomerType'].isRequired, accountId: PropTypes.string.isRequired, creationDate: PropTypes.string.isRequired, firstName: PropTypes.string.isRequired, lastName: PropTypes.string.isRequired, emailAddress: PropTypes.string.isRequired, }); T['com.hbc.api.fraud.v0.models.Address'] = PropTypes.exact({ name: PropTypes.string.isRequired, streetLineOne: PropTypes.string.isRequired, streetLineTwo: PropTypes.string, city: PropTypes.string.isRequired, state: PropTypes.string.isRequired, zip: PropTypes.string.isRequired, country: PropTypes.string.isRequired, }); T['com.hbc.api.fraud.v0.models.Item'] = PropTypes.exact({ svsNumber: PropTypes.number.isRequired, skuNumber: PropTypes.number.isRequired, upcNumber: PropTypes.number, classNumber: PropTypes.number, color: PropTypes.string, size: PropTypes.string, currentStatus: PropTypes.string.isRequired, department: PropTypes.number.isRequired, signOnDelivery: PropTypes.string, giftWrapped: PropTypes.bool, costAmount: PropTypes.number, marginAmount: PropTypes.number, description: PropTypes.string.isRequired, price: PropTypes.number.isRequired, extendedPrice: PropTypes.number.isRequired, quantity: PropTypes.number.isRequired, groupNumber: PropTypes.number.isRequired, shippingAddress: T['com.hbc.api.fraud.v0.models.Address'].isRequired, shippingMethod: PropTypes.string.isRequired, shippingCountry: PropTypes.string.isRequired, }); T['com.hbc.api.fraud.v0.models.CreditCard'] = PropTypes.exact({ nameOnCard: PropTypes.string.isRequired, billingAddress: T['com.hbc.api.fraud.v0.models.Address'].isRequired, cardType: PropTypes.string.isRequired, cardNumber: PropTypes.string.isRequired, authorizedAmount: PropTypes.number.isRequired, fullAmount: PropTypes.number.isRequired, expiryDate: PropTypes.string.isRequired, authCode: PropTypes.string.isRequired, responseCode: PropTypes.number.isRequired, merchantId: PropTypes.number, registerNumber: PropTypes.string, transactionNumber: PropTypes.string.isRequired, avsResponse: PropTypes.string.isRequired, }); T['com.hbc.api.fraud.v0.models.Transaction'] = PropTypes.exact({ orderId: PropTypes.string.isRequired, groupId: PropTypes.string.isRequired, orderTotal: PropTypes.number.isRequired, shippingCost: PropTypes.number.isRequired, currencyCode: PropTypes.string.isRequired, storeNumber: PropTypes.number.isRequired, salesRep: PropTypes.string, lastModifiedDate: PropTypes.string, banner: T['com.hbc.api.fraud.v0.enums.Banner'].isRequired, creditCard: T['com.hbc.api.fraud.v0.models.CreditCard'].isRequired, promos: PropTypes.arrayOf(T['com.hbc.api.fraud.v0.models.Promo']), items: PropTypes.arrayOf(T['com.hbc.api.fraud.v0.models.Item']).isRequired, ipAddress: PropTypes.string, source: PropTypes.string.isRequired, customer: T['com.hbc.api.fraud.v0.models.Customer'].isRequired, additionalData: T['com.hbc.api.fraud.v0.models.AdditionalData'], }); T['com.hbc.api.fraud.v0.models.DBRecord'] = PropTypes.exact({ transactionId: PropTypes.string.isRequired, lastModifiedDate: PropTypes.string, createdDate: PropTypes.string, transaction: T['com.hbc.api.fraud.v0.models.Transaction'].isRequired, decision: T['com.hbc.api.fraud.v0.models.Decision'].isRequired, }); T['com.hbc.api.fraud.v0.models.Error'] = PropTypes.exact({ message: PropTypes.string.isRequired, error: PropTypes.string.isRequired, }); export const additionalData = T['com.hbc.api.fraud.v0.models.AdditionalData']; export const address = T['com.hbc.api.fraud.v0.models.Address']; export const banner = T['com.hbc.api.fraud.v0.enums.Banner']; export const creditCard = T['com.hbc.api.fraud.v0.models.CreditCard']; export const customer = T['com.hbc.api.fraud.v0.models.Customer']; export const customerType = T['com.hbc.api.fraud.v0.enums.CustomerType']; export const dbRecord = T['com.hbc.api.fraud.v0.models.DBRecord']; export const decision = T['com.hbc.api.fraud.v0.models.Decision']; export const error = T['com.hbc.api.fraud.v0.models.Error']; export const item = T['com.hbc.api.fraud.v0.models.Item']; export const promo = T['com.hbc.api.fraud.v0.models.Promo']; export const recommendationCode = T['com.hbc.api.fraud.v0.enums.RecommendationCode']; export const transaction = T['com.hbc.api.fraud.v0.models.Transaction'];