Models

APIUsage

public struct APIUsage  {
    public var geoLocationRequests: Int
    public var mailRequests: Int
}

IPCurrency

public struct IPCurrency{
    public var code: String?
    public var numericCode: String?   
    public var name: String?          
    public var pluralName: String?    
    public var symbol: String?        
    public var nativeSymbol: String? 
    public var decimalDigits: Int?    
}

IPLanguage

public struct IPLanguage {
    public var code: String?
    public var code2: String?   
    public var name: String?          
    public var nativeName: String? 
    public var rtl: Bool?    
}

IPLocation

public struct IPLocation {
    public var ipAddress: String?         
    public var type: String?   // ipv4 or ipv6       
    public var hostname: String?                
	public var continent: String?            
	public var continentCode: String?        
    public var country: String?              
    public var countryNative: String?        
    public var countryCode: String? 
    public var countryCode3: String?         
	public var capital: String?              
	public var region: String?                  
	public var regionCode: String?              
	public var city: String?                     
	public var postcode: String?                 
	public var latitude: Double? = 0.0              
	public var longitude: Double? = 0.0
	public var phonePrefix: String?             
    public var flag: String?                    
	public var flagEmoji: String?               
    public var isEU: Bool? = false
	public var tld: String?                     
    public var currencies: [IPCurrency]?
    public var languages: [IPLanguage]?
    public var timezone: IPTimezone?
    public var security: IPSecurity? 
}

IPSecurity

public struct IPSecurity {
    public var isProxy: Bool?
    public var proxyType: String?
    public var isCrawler: Bool?
    public var crawlerName: String?
    public var crawlerType: String?
    public var isTOR: Bool?
    public var threatLevel: String?
    public var threatTypes: [String]?
}

IPTimezone

public struct IPTimezone {
    public var id: String?
    public var localTime: String?   
    public var gmtOffset: Int?          
    public var code: String?        
    public var daylightSaving: Bool? 
}

MailMessage

public struct MailMessage {
    public var from: String
    public var to: [String]
    public var subject: String
    public var text: String
    public var date: Date?
    public var html: String?
    public var attachments: [String]
    public var fromName: String?
    public var replyTo: String?
    public var cc: [String]
    public var bcc: [String]
    public var charset: String?
    public var encoding: String?
    public var tags: [String]
    public var requireTLS: Bool?
    public var verifyCertificate: Bool?
    public var openTracking: Bool?
    public var clickTracking: Bool?
    public var plainTextClickTracking: Bool?
    public var unsubscribeTracking: Bool?
    public var testMode: Bool?

    public init(from: String, to: [String], subject: String, text: String)
}

MailReceipt

public struct MailReceipt {
    public var id: String
    public var acceptedRecipients: Int
    public var rejectedRecipients: Int
}