export type AdditionalData = { readonly inAuthId: string } export type Address = { readonly name: string readonly streetLineOne: string readonly streetLineTwo?: string readonly city: string readonly state: string readonly zip: string readonly country: string } export type CreditCard = { readonly nameOnCard: string readonly billingAddress: Address readonly cardType: string readonly cardNumber: string readonly authorizedAmount: number readonly fullAmount: number readonly expiryDate: string readonly authCode: string readonly responseCode: number readonly merchantId?: number readonly registerNumber?: string readonly transactionNumber: string readonly avsResponse: string } export type Customer = { readonly customerType: CustomerType readonly accountId: string readonly creationDate: string readonly firstName: string readonly lastName: string readonly emailAddress: string } export type DbRecord = { readonly transactionId: string readonly lastModifiedDate?: string readonly createdDate?: string readonly transaction: Transaction readonly decision: Decision } export type Decision = { readonly transactionId: string readonly recommendationCode: RecommendationCode readonly crossReference?: string readonly rulesTripped?: string readonly totalScore: number readonly remarks?: string } export type Error = { readonly message: string readonly error: string } export type Item = { readonly svsNumber: number readonly skuNumber: number readonly upcNumber?: number readonly classNumber?: number readonly color?: string readonly size?: string readonly currentStatus: string readonly department: number readonly signOnDelivery?: string readonly giftWrapped?: boolean readonly costAmount?: number readonly marginAmount?: number readonly description: string readonly price: number readonly extendedPrice: number readonly quantity: number readonly groupNumber: number readonly shippingAddress: Address readonly shippingMethod: string readonly shippingCountry: string } export type Promo = { readonly promotionCode: string readonly promotionAmount: number } export type Transaction = { readonly orderId: string readonly groupId: string readonly orderTotal: number readonly shippingCost: number readonly currencyCode: string readonly storeNumber: number readonly salesRep?: string readonly lastModifiedDate?: string readonly banner: Banner readonly creditCard: CreditCard readonly promos?: readonly Promo[] readonly items: readonly Item[] readonly ipAddress?: string readonly source: string readonly customer: Customer readonly additionalData?: AdditionalData } export type Banner = 'lat' | 's5a' | 'o5a' | 'bay' export type CustomerType = 'guest' | 'registered' | 'employee' export type RecommendationCode = 'reject' | 'review' | 'accept' export type JSONValue = | string | number | boolean | { readonly [x: string]: JSONValue } | readonly JSONValue[]