@paakd/config 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/dist/src/index.js +20 -0
  2. package/gen/go/addresses/Address.pkl.go +10 -0
  3. package/gen/go/addresses/Addresses.pkl.go +43 -0
  4. package/gen/go/addresses/BillingAddress.pkl.go +8 -0
  5. package/gen/go/addresses/Field.pkl.go +43 -0
  6. package/gen/go/addresses/addressgroup/AddressGroup.pkl.go +43 -0
  7. package/gen/go/addresses/fieldtype/FieldType.pkl.go +61 -0
  8. package/gen/go/addresses/init.pkl.go +11 -0
  9. package/gen/go/cloudflare/Cloudflare.pkl.go +37 -0
  10. package/gen/go/cloudflare/R2Bucket.pkl.go +22 -0
  11. package/gen/go/cloudflare/TerraformBackend.pkl.go +16 -0
  12. package/gen/go/cloudflare/Turnstile.pkl.go +8 -0
  13. package/gen/go/cloudflare/init.pkl.go +11 -0
  14. package/gen/go/db/DB.pkl.go +43 -0
  15. package/gen/go/db/DBConnection.pkl.go +12 -0
  16. package/gen/go/db/init.pkl.go +9 -0
  17. package/gen/go/dune/Dune.pkl.go +47 -0
  18. package/gen/go/dune/init.pkl.go +8 -0
  19. package/gen/go/enterprise/Enterprise.pkl.go +118 -0
  20. package/gen/go/enterprise/init.pkl.go +8 -0
  21. package/gen/go/enterprise/taxonomyversion/TaxonomyVersion.pkl.go +37 -0
  22. package/gen/go/redis/Redis.pkl.go +41 -0
  23. package/gen/go/redis/init.pkl.go +8 -0
  24. package/gen/go/shared/Build.pkl.go +46 -0
  25. package/gen/go/shared/Shared.pkl.go +35 -0
  26. package/gen/go/shared/init.pkl.go +9 -0
  27. package/gen/go/worker/Worker.pkl.go +55 -0
  28. package/gen/go/worker/WorkerConnect.pkl.go +6 -0
  29. package/gen/go/worker/init.pkl.go +9 -0
  30. package/gen/js/development/basket_eco_packages_config_addresses.pkl.ts +106 -0
  31. package/gen/js/development/basket_eco_packages_config_checkout.pkl.ts +73 -0
  32. package/gen/js/development/basket_eco_packages_config_cloudflare.pkl.ts +69 -0
  33. package/gen/js/development/basket_eco_packages_config_cms.pkl.ts +119 -0
  34. package/gen/js/development/basket_eco_packages_config_db.pkl.ts +47 -0
  35. package/gen/js/development/basket_eco_packages_config_dune.pkl.ts +36 -0
  36. package/gen/js/development/basket_eco_packages_config_enterprise.pkl.ts +290 -0
  37. package/gen/js/development/basket_eco_packages_config_feature.pkl.ts +58 -0
  38. package/gen/js/development/basket_eco_packages_config_redis.pkl.ts +30 -0
  39. package/gen/js/development/basket_eco_packages_config_renderer_development_cms.pkl.ts +28 -0
  40. package/gen/js/development/basket_eco_packages_config_shared.pkl.ts +73 -0
  41. package/gen/js/development/basket_eco_packages_config_worker.pkl.ts +53 -0
  42. package/gen/js/production/basket_eco_packages_config_addresses.pkl.ts +106 -0
  43. package/gen/js/production/basket_eco_packages_config_checkout.pkl.ts +73 -0
  44. package/gen/js/production/basket_eco_packages_config_cloudflare.pkl.ts +69 -0
  45. package/gen/js/production/basket_eco_packages_config_cms.pkl.ts +119 -0
  46. package/gen/js/production/basket_eco_packages_config_db.pkl.ts +47 -0
  47. package/gen/js/production/basket_eco_packages_config_dune.pkl.ts +36 -0
  48. package/gen/js/production/basket_eco_packages_config_enterprise.pkl.ts +290 -0
  49. package/gen/js/production/basket_eco_packages_config_feature.pkl.ts +58 -0
  50. package/gen/js/production/basket_eco_packages_config_kiosk_host.pkl.ts +72 -0
  51. package/gen/js/production/basket_eco_packages_config_redis.pkl.ts +30 -0
  52. package/gen/js/production/basket_eco_packages_config_renderer_production_cms.pkl.ts +28 -0
  53. package/gen/js/production/basket_eco_packages_config_renderer_production_dune_config.pkl.ts +29 -0
  54. package/gen/js/production/basket_eco_packages_config_renderer_production_workflow_config.pkl.ts +29 -0
  55. package/gen/js/production/basket_eco_packages_config_renderer_staging_dune_config.pkl.ts +29 -0
  56. package/gen/js/production/basket_eco_packages_config_shared.pkl.ts +73 -0
  57. package/gen/js/production/basket_eco_packages_config_worker.pkl.ts +49 -0
  58. package/gen/js/staging/basket_eco_packages_config_addresses.pkl.ts +106 -0
  59. package/gen/js/staging/basket_eco_packages_config_checkout.pkl.ts +77 -0
  60. package/gen/js/staging/basket_eco_packages_config_cloudflare.pkl.ts +74 -0
  61. package/gen/js/staging/basket_eco_packages_config_cms.pkl.ts +119 -0
  62. package/gen/js/staging/basket_eco_packages_config_db.pkl.ts +47 -0
  63. package/gen/js/staging/basket_eco_packages_config_dune.pkl.ts +40 -0
  64. package/gen/js/staging/basket_eco_packages_config_enterprise.pkl.ts +290 -0
  65. package/gen/js/staging/basket_eco_packages_config_feature.pkl.ts +58 -0
  66. package/gen/js/staging/basket_eco_packages_config_redis.pkl.ts +30 -0
  67. package/gen/js/staging/basket_eco_packages_config_renderer_staging_cms.pkl.ts +28 -0
  68. package/gen/js/staging/basket_eco_packages_config_renderer_staging_dune_config.pkl.ts +29 -0
  69. package/gen/js/staging/basket_eco_packages_config_renderer_staging_workflow_config.pkl.ts +29 -0
  70. package/gen/js/staging/basket_eco_packages_config_shared.pkl.ts +69 -0
  71. package/gen/js/staging/basket_eco_packages_config_worker.pkl.ts +53 -0
  72. package/package.json +66 -0
  73. package/src/addresses.ts +90 -0
  74. package/src/authorization/policy.conf +15 -0
  75. package/src/authorization/policy.csv +26 -0
  76. package/src/chk.spec.ts +61 -0
  77. package/src/chk.ts +88 -0
  78. package/src/cms.test.ts +52 -0
  79. package/src/cms.ts +65 -0
  80. package/src/index.ts +4 -0
  81. package/src/pkl/PklProject +21 -0
  82. package/src/pkl/development/Addresses.pkl +2114 -0
  83. package/src/pkl/development/CMS.pkl +37 -0
  84. package/src/pkl/development/Checkout.pkl +32 -0
  85. package/src/pkl/development/Cloudflare.pkl +20 -0
  86. package/src/pkl/development/Db.pkl +14 -0
  87. package/src/pkl/development/Dune.pkl +12 -0
  88. package/src/pkl/development/Enterprise.pkl +158 -0
  89. package/src/pkl/development/Feature.pkl +4 -0
  90. package/src/pkl/development/Redis.pkl +6 -0
  91. package/src/pkl/development/Shared.pkl +16 -0
  92. package/src/pkl/development/Worker.pkl +43 -0
  93. package/src/pkl/development/renderer/CMS.pkl +59 -0
  94. package/src/pkl/production/Addresses.pkl +2114 -0
  95. package/src/pkl/production/CMS.pkl +34 -0
  96. package/src/pkl/production/Checkout.pkl +32 -0
  97. package/src/pkl/production/Cloudflare.pkl +20 -0
  98. package/src/pkl/production/Db.pkl +14 -0
  99. package/src/pkl/production/Dune.pkl +12 -0
  100. package/src/pkl/production/Enterprise.pkl +158 -0
  101. package/src/pkl/production/Feature.pkl +8 -0
  102. package/src/pkl/production/KioskHost.pkl +5 -0
  103. package/src/pkl/production/Redis.pkl +6 -0
  104. package/src/pkl/production/Shared.pkl +15 -0
  105. package/src/pkl/production/Worker.pkl +43 -0
  106. package/src/pkl/production/renderer/CMS.pkl +59 -0
  107. package/src/pkl/production/renderer/Dune.pkl +52 -0
  108. package/src/pkl/production/renderer/Feature.pkl +51 -0
  109. package/src/pkl/production/renderer/Workflow.pkl +51 -0
  110. package/src/pkl/staging/Addresses.pkl +2114 -0
  111. package/src/pkl/staging/CMS.pkl +35 -0
  112. package/src/pkl/staging/Checkout.pkl +32 -0
  113. package/src/pkl/staging/Cloudflare.pkl +20 -0
  114. package/src/pkl/staging/Db.pkl +14 -0
  115. package/src/pkl/staging/Dune.pkl +12 -0
  116. package/src/pkl/staging/Enterprise.pkl +158 -0
  117. package/src/pkl/staging/Feature.pkl +8 -0
  118. package/src/pkl/staging/Redis.pkl +6 -0
  119. package/src/pkl/staging/Shared.pkl +16 -0
  120. package/src/pkl/staging/Worker.pkl +43 -0
  121. package/src/pkl/staging/renderer/CMS.pkl +59 -0
  122. package/src/pkl/staging/renderer/Dune.pkl +52 -0
  123. package/src/pkl/staging/renderer/Feature.pkl +51 -0
  124. package/src/pkl/staging/renderer/Workflow.pkl +51 -0
  125. package/src/pkl/tmpl/AddressesTmpl.pkl +44 -0
  126. package/src/pkl/tmpl/CMSTmpl.pkl +64 -0
  127. package/src/pkl/tmpl/CheckoutTmpl.pkl +34 -0
  128. package/src/pkl/tmpl/CloudflareTmpl.pkl +33 -0
  129. package/src/pkl/tmpl/DbTmpl.pkl +18 -0
  130. package/src/pkl/tmpl/DuneTmpl.pkl +124 -0
  131. package/src/pkl/tmpl/EnterpriseTmpl.pkl +105 -0
  132. package/src/pkl/tmpl/FeatureTmpl.pkl +90 -0
  133. package/src/pkl/tmpl/KioskHostTmpl.pkl +194 -0
  134. package/src/pkl/tmpl/RedisTmpl.pkl +9 -0
  135. package/src/pkl/tmpl/SharedTmpl.pkl +40 -0
  136. package/src/pkl/tmpl/WorkerTmpl.pkl +27 -0
  137. package/src/pkl-reader/main.go +167 -0
  138. package/src/shared.ts +65 -0
  139. package/src/vault.spec.ts +62 -0
  140. package/src/vault.ts +68 -0
@@ -0,0 +1,2114 @@
1
+ amends "../tmpl/AddressesTmpl.pkl"
2
+
3
+ ca = new Address {
4
+ minimumAgeLimit = 13
5
+ shippingFields = List(
6
+ new Field {
7
+ name = "firstName"
8
+ label = "address.firstName.label"
9
+ errorKey = "address.firstName.error"
10
+ placeholder = "address.firstName.placeholder"
11
+ required = true
12
+ autoCompleteName = "given-name"
13
+ caption = "address.firstName.caption"
14
+ group = "address"
15
+ maxLength = 33
16
+ regPattern = "^[\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u2019a-zA-Z\\.\\'\\-\\s]{1,}$"
17
+ },
18
+ new Field {
19
+ name = "lastName"
20
+ label = "address.lastName.label"
21
+ errorKey = "address.lastName.error"
22
+ placeholder = "address.lastName.placeholder"
23
+ required = true
24
+ autoCompleteName = "family-name"
25
+ caption = "address.lastName.caption"
26
+ group = "address"
27
+ maxLength = 33
28
+ regPattern = "^[\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u2019a-zA-Z\\.\\'\\-\\s]{1,}$"
29
+ },
30
+ new Field {
31
+ name = "address1"
32
+ label = "address.address1.label"
33
+ errorKey = "address.address1.error"
34
+ placeholder = "address.address1.placeholder"
35
+ required = true
36
+ regPattern = """
37
+ (?!([a-z\\s]*[0-9]*[\\s])?((box)|[\\u2116\\u0023])([^a-z-]|$)|([a-z]*[0-9]*[a-z0-9\\s]*)?(["'])([^a-z0-9-]|$)?|([a-z\\s]*[0-9]*[\\s]*)?(p[-\\.\\s]?o?([\\.])?[-\\s]?|post|post office|mail|box)([\\s]*)?box[-\\.\\s]*[0-9\\s\\'\\"]*$)^.{2,70}$
38
+ """
39
+ autoCompleteName = "street-address address-line1"
40
+ caption = "address.address1.caption"
41
+ group = "address"
42
+ noAutoCorrect = true
43
+ maxLength = 35
44
+ minLength = 5
45
+ },
46
+ new Field {
47
+ name = "address2"
48
+ label = "address.address2.label"
49
+ errorKey = "address.address2.error"
50
+ placeholder = "address.address2.placeholder"
51
+ required = false
52
+ autoCompleteName = "street-address address-line2"
53
+ caption = "address.address2.caption"
54
+ group = "address"
55
+ noAutoCorrect = true
56
+ maxLength = 35
57
+ regPattern = """
58
+ (?!([a-z\\s]*[0-9]*[\\s])?((box)|[\\u2116\\u0023])([^a-z-]|$)|([a-z]*[0-9]*[a-z0-9\\s]*)?(["'])([^a-z0-9-]|$)?|([a-z\\s]*[0-9]*[\\s]*)?(p[-\\.\\s]?o?([\\.])?[-\\s]?|post|post office|mail|box)([\\s]*)?box[-\\.\\s]*[0-9\\s\\'\\"]*$)^.{0,70}$
59
+ """
60
+ regPatternFlags = "i"
61
+ },
62
+ new Field {
63
+ name = "city"
64
+ label = "address.city.label"
65
+ errorKey = "address.city.error"
66
+ placeholder = "address.city.placeholder"
67
+ required = true
68
+ regPattern = "^(?:([\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u2019a-zA-Z\\,\\.\\'\\-\\s])(?!\\1{2})){2,}$"
69
+ autoCompleteName = "address-level2"
70
+ caption = "address.city.caption"
71
+ group = "address"
72
+ noAutoCorrect = true
73
+ maxLength = 33
74
+ minLength = 3
75
+ },
76
+ new Field {
77
+ name = "countyProvince"
78
+ label = "address.countyProvince.label"
79
+ errorKey = "address.countyProvince.error"
80
+ placeholder = "address.countyProvince.placeholder"
81
+ required = true
82
+ autoCompleteName = "county-code"
83
+ caption = "address.countyProvince.caption"
84
+ group = "address"
85
+ type = "select"
86
+ options = Map(
87
+ "AB", "Alberta",
88
+ "BC", "British Columbia",
89
+ "MB", "Manitoba",
90
+ "NB", "New Brunswick",
91
+ "NL", "Newfoundland and Labrador",
92
+ "NT", "Northwest Territories",
93
+ "NS", "Nova Scotia",
94
+ "NU", "Nunavut",
95
+ "ON", "Ontario",
96
+ "PE", "Prince Edward Island",
97
+ "QC", "Quebec",
98
+ "SK", "Saskatchewan",
99
+ "YT", "Yukon"
100
+ )
101
+ },
102
+ new Field {
103
+ name = "zipCode"
104
+ label = "address.zipCode.label"
105
+ errorKey = "address.zipCode.error"
106
+ placeholder = "address.zipCode.placeholder"
107
+ required = true
108
+ regPattern = "(^\\d{5}$)|(^\\d{5}-\\d{4}$)"
109
+ autoCompleteName = "postal-code"
110
+ caption = "address.zipCode.caption"
111
+ group = "address"
112
+ noAutoCorrect = true
113
+ minLength = 1
114
+ maxLength = 9
115
+ mask = List("[ABCEGHJKLMNPRSTVXYabceghjklmnprstvxy]","\\d","[A-Za-z]"," ","\\d","[A-Za-z]","\\d")
116
+ },
117
+ new Field {
118
+ label = "address.country.label"
119
+ name = "country"
120
+ type = "display"
121
+ required = true
122
+ regPattern = "^CA$"
123
+ group = "address"
124
+ },
125
+ new Field {
126
+ name = "phoneNumber"
127
+ type = "tel"
128
+ label = "address.phone.label"
129
+ errorKey = "address.phone.error"
130
+ placeholder = "address.phone.placeholder"
131
+ required = false
132
+ regPattern = "^([0-9+]{1,1})([0-9\\- ()]*)$"
133
+ autoCompleteName = "home tel"
134
+ caption = "address.phone.caption"
135
+ group = "contact"
136
+ minLength = 7
137
+ maxLength = 25
138
+ },
139
+ new Field {
140
+ name = "emailAddress"
141
+ type = "email"
142
+ label = "address.email.label"
143
+ errorKey = "address.email.error"
144
+ placeholder = "address.email.placeholder"
145
+ required = true
146
+ regPattern = "^[^\\s@.|]+(\\.[^\\s@.|]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*(\\.(aaa|aarp|abarth|abb|abbott|abbvie|abc|able|abogado|abudhabi|ac|academy|accenture|accountant|accountants|aco|active|actor|ad|adac|ads|adult|ae|aeg|aero|aetna|af|afamilycompany|afl|africa|ag|agakhan|agency|ai|aig|aigo|airbus|airforce|airtel|akdn|al|alfaromeo|alibaba|alipay|allfinanz|allstate|ally|alsace|alstom|am|americanexpress|americanfamily|amex|amfam|amica|amsterdam|analytics|android|anquan|anz|ao|aol|apartments|app|apple|aq|aquarelle|ar|arab|aramco|archi|army|arpa|art|arte|as|asda|asia|associates|at|athleta|attorney|au|auction|audi|audible|audio|auspost|author|auto|autos|avianca|aw|aws|ax|axa|az|azure|ba|baby|baidu|banamex|bananarepublic|band|bank|bar|barcelona|barclaycard|barclays|barefoot|bargains|baseball|basketball|bauhaus|bayern|bb|bbc|bbt|bbva|bcg|bcn|bd|be|beats|beauty|beer|bentley|berlin|best|bestbuy|bet|bf|bg|bh|bharti|bi|bible|bid|bike|bing|bingo|bio|biz|bj|black|blackfriday|blanco|blockbuster|blog|bloomberg|blue|bm|bms|bmw|bn|bnl|bnpparibas|bo|boats|boehringer|bofa|bom|bond|boo|book|booking|bosch|bostik|boston|bot|boutique|box|br|bradesco|bridgestone|broadway|broker|brother|brussels|bs|bt|budapest|bugatti|build|builders|business|buy|buzz|bv|bw|by|bz|bzh|ca|cab|cafe|cal|call|calvinklein|cam|camera|camp|cancerresearch|canon|capetown|capital|capitalone|car|caravan|cards|care|career|careers|cars|cartier|casa|case|caseih|cash|casino|cat|catering|catholic|cba|cbn|cbre|cbs|cc|cd|ceb|center|ceo|cern|cf|cfa|cfd|cg|ch|chanel|channel|charity|chase|chat|cheap|chintai|christmas|chrome|chrysler|church|ci|cipriani|circle|cisco|citadel|citi|citic|city|cityeats|ck|cl|claims|cleaning|click|clinic|clinique|clothing|cloud|club|clubmed|cm|cn|co|coach|codes|coffee|college|cologne|com|comcast|commbank|community|company|compare|computer|comsec|condos|construction|consulting|contact|contractors|cooking|cookingchannel|cool|coop|corsica|country|coupon|coupons|courses|cr|credit|creditcard|creditunion|cricket|crown|crs|cruise|cruises|csc|cu|cuisinella|cv|cw|cx|cy|cymru|cyou|cz|dabur|dad|dance|data|date|dating|datsun|day|dclk|dds|de|deal|dealer|deals|degree|delivery|dell|deloitte|delta|democrat|dental|dentist|desi|design|dev|dhl|diamonds|diet|digital|direct|directory|discount|discover|dish|diy|dj|dk|dm|dnp|do|docs|doctor|dodge|dog|doha|domains|dot|download|drive|dtv|dubai|duck|dunlop|duns|dupont|durban|dvag|dvr|dz|earth|eat|ec|eco|edeka|edu|education|ee|eg|email|emerck|energy|engineer|engineering|enterprises|epost|epson|equipment|er|ericsson|erni|es|esq|estate|esurance|et|etisalat|eu|eurovision|eus|events|everbank|exchange|expert|exposed|express|extraspace|fage|fail|fairwinds|faith|family|fan|fans|farm|farmers|fashion|fast|fedex|feedback|ferrari|ferrero|fi|fiat|fidelity|fido|film|final|finance|financial|fire|firestone|firmdale|fish|fishing|fit|fitness|fj|fk|flickr|flights|flir|florist|flowers|fly|fm|fo|foo|food|foodnetwork|football|ford|forex|forsale|forum|foundation|fox|fr|free|fresenius|frl|frogans|frontdoor|frontier|ftr|fujitsu|fujixerox|fun|fund|furniture|futbol|fyi|ga|gal|gallery|gallo|gallup|game|games|gap|garden|gb|gbiz|gd|gdn|ge|gea|gent|genting|george|gf|gg|ggee|gh|gi|gift|gifts|gives|giving|gl|glade|glass|gle|global|globo|gm|gmail|gmbh|gmo|gmx|gn|godaddy|gold|goldpoint|golf|goo|goodyear|goog|google|gop|got|gov|gp|gq|gr|grainger|graphics|gratis|green|gripe|grocery|group|gs|gt|gu|guardian|gucci|guge|guide|guitars|guru|gw|gy|hair|hamburg|hangout|haus|hbo|hdfc|hdfcbank|health|healthcare|help|helsinki|here|hermes|hgtv|hiphop|hisamitsu|hitachi|hiv|hk|hkt|hm|hn|hockey|holdings|holiday|homedepot|homegoods|homes|homesense|honda|honeywell|horse|hospital|host|hosting|hot|hoteles|hotels|hotmail|house|how|hr|hsbc|ht|hu|hughes|hyatt|hyundai|ibm|icbc|ice|icu|id|ie|ieee|ifm|ikano|il|im|imamat|imdb|immo|immobilien|in|inc|industries|infiniti|info|ing|ink|institute|insurance|insure|int|intel|international|intuit|investments|io|ipiranga|iq|ir|irish|is|iselect|ismaili|ist|istanbul|it|itau|itv|iveco|jaguar|java|jcb|jcp|je|jeep|jetzt|jewelry|jio|jll|jm|jmp|jnj|jo|jobs|joburg|jot|joy|jp|jpmorgan|jprs|juegos|juniper|kaufen|kddi|ke|kerryhotels|kerrylogistics|kerryproperties|kfh|kg|kh|ki|kia|kim|kinder|kindle|kitchen|kiwi|km|kn|koeln|komatsu|kosher|kp|kpmg|kpn|kr|krd|kred|kuokgroup|kw|ky|kyoto|kz|la|lacaixa|ladbrokes|lamborghini|lamer|lancaster|lancia|lancome|land|landrover|lanxess|lasalle|lat|latino|latrobe|law|lawyer|lb|lc|lds|lease|leclerc|lefrak|legal|lego|lexus|lgbt|li|liaison|lidl|life|lifeinsurance|lifestyle|lighting|like|lilly|limited|limo|lincoln|linde|link|lipsy|live|living|lixil|lk|llc|loan|loans|locker|locus|loft|lol|london|lotte|lotto|love|lpl|lplfinancial|lr|ls|lt|ltd|ltda|lu|lundbeck|lupin|luxe|luxury|lv|ly|ma|macys|madrid|maif|maison|makeup|man|management|mango|map|market|marketing|markets|marriott|marshalls|maserati|mattel|mba|mc|mckinsey|md|me|med|media|meet|melbourne|meme|memorial|men|menu|merckmsd|metlife|mg|mh|miami|microsoft|mil|mini|mint|mit|mitsubishi|mk|ml|mlb|mls|mm|mma|mn|mo|mobi|mobile|mobily|moda|moe|moi|mom|monash|money|monster|mopar|mormon|mortgage|moscow|moto|motorcycles|mov|movie|movistar|mp|mq|mr|ms|msd|mt|mtn|mtr|mu|museum|mutual|mv|mw|mx|my|mz|na|nab|nadex|nagoya|name|nationwide|natura|navy|nba|nc|ne|nec|net|netbank|netflix|network|neustar|new|newholland|news|next|nextdirect|nexus|nf|nfl|ng|ngo|nhk|ni|nico|nike|nikon|ninja|nissan|nissay|nl|no|nokia|northwesternmutual|norton|now|nowruz|nowtv|np|nr|nra|nrw|ntt|nu|nyc|nz|obi|observer|off|office|okinawa|olayan|olayangroup|oldnavy|ollo|om|omega|one|ong|onl|online|onyourside|ooo|open|oracle|orange|org|organic|origins|osaka|otsuka|ott|ovh|pa|page|panasonic|paris|pars|partners|parts|party|passagens|pay|pccw|pe|pet|pf|pfizer|pg|ph|pharmacy|phd|philips|phone|photo|photography|photos|physio|piaget|pics|pictet|pictures|pid|pin|ping|pink|pioneer|pizza|pk|pl|place|play|playstation|plumbing|plus|pm|pn|pnc|pohl|poker|politie|porn|post|pr|pramerica|praxi|press|prime|pro|prod|productions|prof|progressive|promo|properties|property|protection|pru|prudential|ps|pt|pub|pw|pwc|py|qa|qpon|quebec|quest|qvc|racing|radio|raid|re|read|realestate|realtor|realty|recipes|red|redstone|redumbrella|rehab|reise|reisen|reit|reliance|ren|rent|rentals|repair|report|republican|rest|restaurant|review|reviews|rexroth|rich|richardli|ricoh|rightathome|ril|rio|rip|rmit|ro|rocher|rocks|rodeo|rogers|room|rs|rsvp|ru|rugby|ruhr|run|rw|rwe|ryukyu|sa|saarland|safe|safety|sakura|sale|salon|samsclub|samsung|sandvik|sandvikcoromant|sanofi|sap|sarl|sas|save|saxo|sb|sbi|sbs|sc|sca|scb|schaeffler|schmidt|scholarships|school|schule|schwarz|science|scjohnson|scor|scot|sd|se|search|seat|secure|security|seek|select|sener|services|ses|seven|sew|sex|sexy|sfr|sg|sh|shangrila|sharp|shaw|shell|shia|shiksha|shoes|shop|shopping|shouji|show|showtime|shriram|si|silk|sina|singles|site|sj|sk|ski|skin|sky|skype|sl|sling|sm|smart|smile|sn|sncf|so|soccer|social|softbank|software|sohu|solar|solutions|song|sony|soy|space|sport|spot|spreadbetting|sr|srl|srt|ss|st|stada|staples|star|starhub|statebank|statefarm|stc|stcgroup|stockholm|storage|store|stream|studio|study|style|su|sucks|supplies|supply|support|surf|surgery|suzuki|sv|swatch|swiftcover|swiss|sx|sy|sydney|symantec|systems|sz|tab|taipei|talk|taobao|target|tatamotors|tatar|tattoo|tax|taxi|tc|tci|td|tdk|team|tech|technology|tel|telefonica|temasek|tennis|teva|tf|tg|th|thd|theater|theatre|tiaa|tickets|tienda|tiffany|tips|tires|tirol|tj|tjmaxx|tjx|tk|tkmaxx|tl|tm|tmall|tn|to|today|tokyo|tools|top|toray|toshiba|total|tours|town|toyota|toys|tr|trade|trading|training|travel|travelchannel|travelers|travelersinsurance|trust|trv|tt|tube|tui|tunes|tushu|tv|tvs|tw|tz|ua|ubank|ubs|uconnect|ug|uk|unicom|university|uno|uol|ups|us|uy|uz|va|vacations|vana|vanguard|vc|ve|vegas|ventures|verisign|versicherung|vet|vg|vi|viajes|video|vig|viking|villas|vin|vip|virgin|visa|vision|vistaprint|viva|vivo|vlaanderen|vn|vodka|volkswagen|volvo|vote|voting|voto|voyage|vu|vuelos|wales|walmart|walter|wang|wanggou|warman|watch|watches|weather|weatherchannel|webcam|weber|website|wed|wedding|weibo|weir|wf|whoswho|wien|wiki|williamhill|win|windows|wine|winners|wme|wolterskluwer|woodside|work|works|world|wow|ws|wtc|wtf|xbox|xerox|xfinity|xihuan|xin|xxx|xyz|yachts|yahoo|yamaxun|yandex|ye|yodobashi|yoga|yokohama|you|youtube|yt|yun|za|zappos|zara|zero|zip|zippo|zm|zone|zuerich|zw))$"
147
+ autoCompleteName = "email"
148
+ caption = "address.email.caption"
149
+ group = "contact"
150
+ maxLength = 50
151
+ regPatternFlags = "i"
152
+ }
153
+ )
154
+
155
+ billingFields = new BillingAddress{
156
+ fields = List(
157
+ new Field {
158
+ name = "firstName"
159
+ label = "address.firstName.label"
160
+ errorKey = "address.firstName.error"
161
+ placeholder = "address.firstName.placeholder"
162
+ required = true
163
+ autoCompleteName = "given-name"
164
+ caption = "address.firstName.caption"
165
+ group = "address"
166
+ regPattern = "^[\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u2019a-zA-Z\\.\\'\\-\\s]{1,}$"
167
+ maxLength = 33
168
+ },
169
+ new Field {
170
+ name = "lastName"
171
+ label = "address.lastName.label"
172
+ errorKey = "address.lastName.error"
173
+ placeholder = "address.lastName.placeholder"
174
+ required = true
175
+ autoCompleteName = "family-name"
176
+ caption = "address.lastName.caption"
177
+ group = "address"
178
+ regPattern = "^[\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u2019a-zA-Z\\.\\'\\-\\s]{1,}$"
179
+ maxLength = 33
180
+ },
181
+ new Field {
182
+ name = "address1"
183
+ label = "address.address1.label"
184
+ errorKey = "address.address1.error"
185
+ placeholder = "address.address1.placeholder"
186
+ required = true
187
+ regPattern = "^[\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u20190-9a-zA-Z\\u002E\\u003A\\u0023\\u0027\\u002D\\u002F\\u005C\\u007C\\u0022\\u00AB\\u00BB\\u0028\\u0029\\u005F\\u0060\\u003B\\u007E\\u002C\\s]{1,}$"
188
+ autoCompleteName = "street-address address-line1"
189
+ caption = "address.address1.caption"
190
+ group = "address"
191
+ noAutoCorrect = true
192
+ minLength = 2
193
+ maxLength = 70
194
+ },
195
+ new Field {
196
+ name = "address2"
197
+ label = "address.address2.label"
198
+ errorKey = "address.address2.error"
199
+ placeholder = "address.address2.placeholder"
200
+ required = false
201
+ autoCompleteName = "street-address address-line2"
202
+ caption = "address.address2.caption"
203
+ group = "address"
204
+ regPattern = "(?!^(((([Pp]([Oo][Ss][Tt])?([\\s\\.-]*[Oo]([Ff][Ff][Ii][Cc][Ee])?)?)|([Mm][Aa][Ii][Ll]))?[\\s\\.-]*[Bb][Oo][Xx])|([Pp]([Oo][Ss][Tt])?[\\s\\.-]*[Oo]([Ff][Ff][Ii][Cc][Ee])?([\\s\\.-]*[Bb]([Oo][Xx])?)?))[-\\.\\s\\u2116\\u0023]*[0-9]*$)^.{0,35}$"
205
+ noAutoCorrect = true
206
+ maxLength = 70
207
+ },
208
+ new Field {
209
+ name = "city"
210
+ label = "address.city.label"
211
+ errorKey = "address.city.error"
212
+ placeholder = "address.city.placeholder"
213
+ required = true
214
+ regPattern = "^(?:([\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u2019a-zA-Z\\,\\.\\'\\-\\s])(?!\\1{2})){2,}$"
215
+ autoCompleteName = "address-level2"
216
+ caption = "address.city.caption"
217
+ group = "address"
218
+ noAutoCorrect = true
219
+ minLength = 3
220
+ maxLength = 33
221
+ },
222
+ new Field {
223
+ name = "countyProvince"
224
+ label = "address.countyProvince.label"
225
+ errorKey = "address.countyProvince.error"
226
+ placeholder = "address.countyProvince.placeholder"
227
+ required = true
228
+ autoCompleteName = "county-province"
229
+ caption = "address.countyProvince.caption"
230
+ group = "address"
231
+ type = "select"
232
+ options = Map(
233
+ "AB", "Alberta",
234
+ "BC", "British Columbia",
235
+ "MB", "Manitoba",
236
+ "NB", "New Brunswick",
237
+ "NL", "Newfoundland and Labrador",
238
+ "NT", "Northwest Territories",
239
+ "NS", "Nova Scotia",
240
+ "NU", "Nunavut",
241
+ "ON", "Ontario",
242
+ "PE", "Prince Edward Island",
243
+ "QC", "Quebec",
244
+ "SK", "Saskatchewan",
245
+ "YT", "Yukon"
246
+ )
247
+ },
248
+ new Field {
249
+ name = "zipCode"
250
+ label = "address.zipCode.label"
251
+ errorKey = "address.zipCode.error"
252
+ placeholder = "address.zipCode.placeholder"
253
+ required = true
254
+ regPattern = "(^\\d{5}$)|(^\\d{5}-\\d{4}$)"
255
+ autoCompleteName = "postal-code"
256
+ caption = "address.zipCode.caption"
257
+ group = "address"
258
+ noAutoCorrect = true
259
+ minLength = 1
260
+ maxLength = 9
261
+ mask = List("[ABCEGHJKLMNPRSTVXYabceghjklmnprstvxy]","\\d","[A-Za-z]"," ","\\d","[A-Za-z]","\\d")
262
+ },
263
+ new Field {
264
+ name = "phoneNumber"
265
+ type = "tel"
266
+ label = "address.phone.label"
267
+ errorKey = "address.phone.error"
268
+ placeholder = "address.phone.placeholder"
269
+ required = false
270
+ regPattern = "^([0-9+]{1,1})([0-9\\- ()]*)$"
271
+ autoCompleteName = "home tel"
272
+ caption = "address.phone.caption"
273
+ group = "contact"
274
+ minLength = 7
275
+ maxLength = 25
276
+ }
277
+ )
278
+
279
+ billableCountries = List("US", "CA")
280
+ }
281
+ }
282
+
283
+
284
+ de = new Address {
285
+ minimumAgeLimit = 16
286
+ shippingFields = List(
287
+ new Field {
288
+ name = "firstName"
289
+ label = "address.firstName.label"
290
+ errorKey = "address.firstName.error"
291
+ placeholder = "address.firstName.placeholder"
292
+ required = true
293
+ autoCompleteName = "given-name"
294
+ caption = "address.firstName.caption"
295
+ group = "address"
296
+ maxLength = 15
297
+ },
298
+ new Field {
299
+ name = "lastName"
300
+ label = "address.lastName.label"
301
+ errorKey = "address.lastName.error"
302
+ placeholder = "address.lastName.placeholder"
303
+ required = true
304
+ autoCompleteName = "family-name"
305
+ caption = "address.lastName.caption"
306
+ group = "address"
307
+ maxLength = 20
308
+ },
309
+ new Field {
310
+ name = "address1"
311
+ label = "address.address1.label"
312
+ errorKey = "address.address1.error"
313
+ placeholder = "address.address1.placeholder"
314
+ required = true
315
+ regPattern = "^(?:(?!Packstation|packstation|packStation|Pack Station|pack station|packStation|Pack station|PACK STATION|PackStation|PACKSTATION|.*[<>@]))(?=.*\\d).+$"
316
+ autoCompleteName = "street-address address-line1"
317
+ caption = "address.address1.caption"
318
+ group = "address"
319
+ minLength = 2
320
+ maxLength = 70
321
+ noAutoCorrect = true
322
+ },
323
+ new Field {
324
+ name = "address2"
325
+ label = "address.address2.label"
326
+ errorKey = "address.address2.error"
327
+ placeholder = "address.address2.placeholder"
328
+ required = false
329
+ autoCompleteName = "street-address address-line2"
330
+ caption = "address.address2.caption"
331
+ group = "address"
332
+ noAutoCorrect = true
333
+ maxLength = 70
334
+ regPattern = "^(?:(?!Packstation|packstation|packStation|Pack Station|pack station|packStation|Pack station|PACK STATION|PackStation|PACKSTATION|.*[<>@]))(?=.*\\d).+$"
335
+ },
336
+ new Field {
337
+ name = "zipCode"
338
+ label = "address.zipCode.label"
339
+ errorKey = "address.zipCode.error"
340
+ placeholder = "address.zipCode.placeholder"
341
+ required = true
342
+ regPattern = "^[0-9]{4}\\s?[A-Za-z]{2}$"
343
+ autoCompleteName = "postal-code"
344
+ caption = "address.zipCode.caption"
345
+ group = "address"
346
+ minLength = 1
347
+ maxLength = 10
348
+ },
349
+ new Field {
350
+ name = "city"
351
+ label = "address.city.label"
352
+ errorKey = "address.city.error"
353
+ placeholder = "address.city.placeholder"
354
+ required = true
355
+ regPattern = "^(?:([\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u2019a-zA-Z\\,\\.\\'\\-\\s])(?!\\1{2})){2,}$"
356
+ autoCompleteName = "address-level2"
357
+ caption = "address.city.caption"
358
+ group = "address"
359
+ minLength = 3
360
+ maxLength = 25
361
+ noAutoCorrect = true
362
+ },
363
+ new Field {
364
+ label = "address.country.label"
365
+ name = "country"
366
+ type = "display"
367
+ required = true
368
+ regPattern = "^DE$"
369
+ group = "address"
370
+ },
371
+ new Field {
372
+ name = "phoneNumber"
373
+ type = "tel"
374
+ label = "address.phone.label"
375
+ errorKey = "address.phone.error"
376
+ placeholder = "address.phone.placeholder"
377
+ required = false
378
+ regPattern = "^([0-9+]{1,1})(.*)$"
379
+ autoCompleteName = "home tel"
380
+ caption = "address.phone.caption"
381
+ group = "contact"
382
+ minLength = 7
383
+ maxLength = 25
384
+ },
385
+ new Field {
386
+ name = "emailAddress"
387
+ type = "email"
388
+ label = "address.email.label"
389
+ errorKey = "address.email.error"
390
+ placeholder = "address.email.placeholder"
391
+ required = true
392
+ regPattern = "^[^\\s@.|]+(\\.[^\\s@.|]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*(\\.(aaa|aarp|abarth|abb|abbott|abbvie|abc|able|abogado|abudhabi|ac|academy|accenture|accountant|accountants|aco|active|actor|ad|adac|ads|adult|ae|aeg|aero|aetna|af|afamilycompany|afl|africa|ag|agakhan|agency|ai|aig|aigo|airbus|airforce|airtel|akdn|al|alfaromeo|alibaba|alipay|allfinanz|allstate|ally|alsace|alstom|am|americanexpress|americanfamily|amex|amfam|amica|amsterdam|analytics|android|anquan|anz|ao|aol|apartments|app|apple|aq|aquarelle|ar|arab|aramco|archi|army|arpa|art|arte|as|asda|asia|associates|at|athleta|attorney|au|auction|audi|audible|audio|auspost|author|auto|autos|avianca|aw|aws|ax|axa|az|azure|ba|baby|baidu|banamex|bananarepublic|band|bank|bar|barcelona|barclaycard|barclays|barefoot|bargains|baseball|basketball|bauhaus|bayern|bb|bbc|bbt|bbva|bcg|bcn|bd|be|beats|beauty|beer|bentley|berlin|best|bestbuy|bet|bf|bg|bh|bharti|bi|bible|bid|bike|bing|bingo|bio|biz|bj|black|blackfriday|blanco|blockbuster|blog|bloomberg|blue|bm|bms|bmw|bn|bnl|bnpparibas|bo|boats|boehringer|bofa|bom|bond|boo|book|booking|bosch|bostik|boston|bot|boutique|box|br|bradesco|bridgestone|broadway|broker|brother|brussels|bs|bt|budapest|bugatti|build|builders|business|buy|buzz|bv|bw|by|bz|bzh|ca|cab|cafe|cal|call|calvinklein|cam|camera|camp|cancerresearch|canon|capetown|capital|capitalone|car|caravan|cards|care|career|careers|cars|cartier|casa|case|caseih|cash|casino|cat|catering|catholic|cba|cbn|cbre|cbs|cc|cd|ceb|center|ceo|cern|cf|cfa|cfd|cg|ch|chanel|channel|charity|chase|chat|cheap|chintai|christmas|chrome|chrysler|church|ci|cipriani|circle|cisco|citadel|citi|citic|city|cityeats|ck|cl|claims|cleaning|click|clinic|clinique|clothing|cloud|club|clubmed|cm|cn|co|coach|codes|coffee|college|cologne|com|comcast|commbank|community|company|compare|computer|comsec|condos|construction|consulting|contact|contractors|cooking|cookingchannel|cool|coop|corsica|country|coupon|coupons|courses|cr|credit|creditcard|creditunion|cricket|crown|crs|cruise|cruises|csc|cu|cuisinella|cv|cw|cx|cy|cymru|cyou|cz|dabur|dad|dance|data|date|dating|datsun|day|dclk|dds|de|deal|dealer|deals|degree|delivery|dell|deloitte|delta|democrat|dental|dentist|desi|design|dev|dhl|diamonds|diet|digital|direct|directory|discount|discover|dish|diy|dj|dk|dm|dnp|do|docs|doctor|dodge|dog|doha|domains|dot|download|drive|dtv|dubai|duck|dunlop|duns|dupont|durban|dvag|dvr|dz|earth|eat|ec|eco|edeka|edu|education|ee|eg|email|emerck|energy|engineer|engineering|enterprises|epost|epson|equipment|er|ericsson|erni|es|esq|estate|esurance|et|etisalat|eu|eurovision|eus|events|everbank|exchange|expert|exposed|express|extraspace|fage|fail|fairwinds|faith|family|fan|fans|farm|farmers|fashion|fast|fedex|feedback|ferrari|ferrero|fi|fiat|fidelity|fido|film|final|finance|financial|fire|firestone|firmdale|fish|fishing|fit|fitness|fj|fk|flickr|flights|flir|florist|flowers|fly|fm|fo|foo|food|foodnetwork|football|ford|forex|forsale|forum|foundation|fox|fr|free|fresenius|frl|frogans|frontdoor|frontier|ftr|fujitsu|fujixerox|fun|fund|furniture|futbol|fyi|ga|gal|gallery|gallo|gallup|game|games|gap|garden|gb|gbiz|gd|gdn|ge|gea|gent|genting|george|gf|gg|ggee|gh|gi|gift|gifts|gives|giving|gl|glade|glass|gle|global|globo|gm|gmail|gmbh|gmo|gmx|gn|godaddy|gold|goldpoint|golf|goo|goodyear|goog|google|gop|got|gov|gp|gq|gr|grainger|graphics|gratis|green|gripe|grocery|group|gs|gt|gu|guardian|gucci|guge|guide|guitars|guru|gw|gy|hair|hamburg|hangout|haus|hbo|hdfc|hdfcbank|health|healthcare|help|helsinki|here|hermes|hgtv|hiphop|hisamitsu|hitachi|hiv|hk|hkt|hm|hn|hockey|holdings|holiday|homedepot|homegoods|homes|homesense|honda|honeywell|horse|hospital|host|hosting|hot|hoteles|hotels|hotmail|house|how|hr|hsbc|ht|hu|hughes|hyatt|hyundai|ibm|icbc|ice|icu|id|ie|ieee|ifm|ikano|il|im|imamat|imdb|immo|immobilien|in|inc|industries|infiniti|info|ing|ink|institute|insurance|insure|int|intel|international|intuit|investments|io|ipiranga|iq|ir|irish|is|iselect|ismaili|ist|istanbul|it|itau|itv|iveco|jaguar|java|jcb|jcp|je|jeep|jetzt|jewelry|jio|jll|jm|jmp|jnj|jo|jobs|joburg|jot|joy|jp|jpmorgan|jprs|juegos|juniper|kaufen|kddi|ke|kerryhotels|kerrylogistics|kerryproperties|kfh|kg|kh|ki|kia|kim|kinder|kindle|kitchen|kiwi|km|kn|koeln|komatsu|kosher|kp|kpmg|kpn|kr|krd|kred|kuokgroup|kw|ky|kyoto|kz|la|lacaixa|ladbrokes|lamborghini|lamer|lancaster|lancia|lancome|land|landrover|lanxess|lasalle|lat|latino|latrobe|law|lawyer|lb|lc|lds|lease|leclerc|lefrak|legal|lego|lexus|lgbt|li|liaison|lidl|life|lifeinsurance|lifestyle|lighting|like|lilly|limited|limo|lincoln|linde|link|lipsy|live|living|lixil|lk|llc|loan|loans|locker|locus|loft|lol|london|lotte|lotto|love|lpl|lplfinancial|lr|ls|lt|ltd|ltda|lu|lundbeck|lupin|luxe|luxury|lv|ly|ma|macys|madrid|maif|maison|makeup|man|management|mango|map|market|marketing|markets|marriott|marshalls|maserati|mattel|mba|mc|mckinsey|md|me|med|media|meet|melbourne|meme|memorial|men|menu|merckmsd|metlife|mg|mh|miami|microsoft|mil|mini|mint|mit|mitsubishi|mk|ml|mlb|mls|mm|mma|mn|mo|mobi|mobile|mobily|moda|moe|moi|mom|monash|money|monster|mopar|mormon|mortgage|moscow|moto|motorcycles|mov|movie|movistar|mp|mq|mr|ms|msd|mt|mtn|mtr|mu|museum|mutual|mv|mw|mx|my|mz|na|nab|nadex|nagoya|name|nationwide|natura|navy|nba|nc|ne|nec|net|netbank|netflix|network|neustar|new|newholland|news|next|nextdirect|nexus|nf|nfl|ng|ngo|nhk|ni|nico|nike|nikon|ninja|nissan|nissay|nl|no|nokia|northwesternmutual|norton|now|nowruz|nowtv|np|nr|nra|nrw|ntt|nu|nyc|nz|obi|observer|off|office|okinawa|olayan|olayangroup|oldnavy|ollo|om|omega|one|ong|onl|online|onyourside|ooo|open|oracle|orange|org|organic|origins|osaka|otsuka|ott|ovh|pa|page|panasonic|paris|pars|partners|parts|party|passagens|pay|pccw|pe|pet|pf|pfizer|pg|ph|pharmacy|phd|philips|phone|photo|photography|photos|physio|piaget|pics|pictet|pictures|pid|pin|ping|pink|pioneer|pizza|pk|pl|place|play|playstation|plumbing|plus|pm|pn|pnc|pohl|poker|politie|porn|post|pr|pramerica|praxi|press|prime|pro|prod|productions|prof|progressive|promo|properties|property|protection|pru|prudential|ps|pt|pub|pw|pwc|py|qa|qpon|quebec|quest|qvc|racing|radio|raid|re|read|realestate|realtor|realty|recipes|red|redstone|redumbrella|rehab|reise|reisen|reit|reliance|ren|rent|rentals|repair|report|republican|rest|restaurant|review|reviews|rexroth|rich|richardli|ricoh|rightathome|ril|rio|rip|rmit|ro|rocher|rocks|rodeo|rogers|room|rs|rsvp|ru|rugby|ruhr|run|rw|rwe|ryukyu|sa|saarland|safe|safety|sakura|sale|salon|samsclub|samsung|sandvik|sandvikcoromant|sanofi|sap|sarl|sas|save|saxo|sb|sbi|sbs|sc|sca|scb|schaeffler|schmidt|scholarships|school|schule|schwarz|science|scjohnson|scor|scot|sd|se|search|seat|secure|security|seek|select|sener|services|ses|seven|sew|sex|sexy|sfr|sg|sh|shangrila|sharp|shaw|shell|shia|shiksha|shoes|shop|shopping|shouji|show|showtime|shriram|si|silk|sina|singles|site|sj|sk|ski|skin|sky|skype|sl|sling|sm|smart|smile|sn|sncf|so|soccer|social|softbank|software|sohu|solar|solutions|song|sony|soy|space|sport|spot|spreadbetting|sr|srl|srt|ss|st|stada|staples|star|starhub|statebank|statefarm|stc|stcgroup|stockholm|storage|store|stream|studio|study|style|su|sucks|supplies|supply|support|surf|surgery|suzuki|sv|swatch|swiftcover|swiss|sx|sy|sydney|symantec|systems|sz|tab|taipei|talk|taobao|target|tatamotors|tatar|tattoo|tax|taxi|tc|tci|td|tdk|team|tech|technology|tel|telefonica|temasek|tennis|teva|tf|tg|th|thd|theater|theatre|tiaa|tickets|tienda|tiffany|tips|tires|tirol|tj|tjmaxx|tjx|tk|tkmaxx|tl|tm|tmall|tn|to|today|tokyo|tools|top|toray|toshiba|total|tours|town|toyota|toys|tr|trade|trading|training|travel|travelchannel|travelers|travelersinsurance|trust|trv|tt|tube|tui|tunes|tushu|tv|tvs|tw|tz|ua|ubank|ubs|uconnect|ug|uk|unicom|university|uno|uol|ups|us|uy|uz|va|vacations|vana|vanguard|vc|ve|vegas|ventures|verisign|versicherung|vet|vg|vi|viajes|video|vig|viking|villas|vin|vip|virgin|visa|vision|vistaprint|viva|vivo|vlaanderen|vn|vodka|volkswagen|volvo|vote|voting|voto|voyage|vu|vuelos|wales|walmart|walter|wang|wanggou|warman|watch|watches|weather|weatherchannel|webcam|weber|website|wed|wedding|weibo|weir|wf|whoswho|wien|wiki|williamhill|win|windows|wine|winners|wme|wolterskluwer|woodside|work|works|world|wow|ws|wtc|wtf|xbox|xerox|xfinity|xihuan|xin|xxx|xyz|yachts|yahoo|yamaxun|yandex|ye|yodobashi|yoga|yokohama|you|youtube|yt|yun|za|zappos|zara|zero|zip|zippo|zm|zone|zuerich|zw))$"
393
+ autoCompleteName = "email"
394
+ caption = "address.email.caption"
395
+ group = "contact"
396
+ maxLength = 50
397
+ regPatternFlags = "i"
398
+ }
399
+ )
400
+
401
+ billingFields = new BillingAddress{
402
+ fields = List(
403
+ new Field {
404
+ name = "country"
405
+ type = "select"
406
+ required = true
407
+ group = "address"
408
+ label = "address.country.label"
409
+ errorKey = "address.country.error"
410
+ placeholder = "address.country.placeholder"
411
+ autoCompleteName = "country-name"
412
+ caption = "address.country.caption"
413
+ options = Map(
414
+ "DE", "Germany",
415
+ "AF", "Afghanistan",
416
+ "AL", "Albania",
417
+ "DZ", "Algeria",
418
+ "AD", "Andorra",
419
+ "AO", "Angola",
420
+ "AG", "Antigua and Barbuda",
421
+ "AR", "Argentina",
422
+ "AM", "Armenia",
423
+ "AU", "Australia",
424
+ "AT", "Austria",
425
+ "AZ", "Azerbaijan",
426
+ "BS", "Bahamas",
427
+ "BH", "Bahrain",
428
+ "BD", "Bangladesh",
429
+ "BB", "Barbados",
430
+ "BY", "Belarus",
431
+ "BE", "Belgium",
432
+ "BZ", "Belize",
433
+ "BJ", "Benin",
434
+ "BT", "Bhutan",
435
+ "BO", "Bolivia",
436
+ "BA", "Bosnia and Herzegovina",
437
+ "BW", "Botswana",
438
+ "BR", "Brazil",
439
+ "BN", "Brunei",
440
+ "BG", "Bulgaria",
441
+ "BF", "Burkina Faso",
442
+ "BI", "Burundi",
443
+ "CV", "Cabo Verde",
444
+ "KH", "Cambodia",
445
+ "CM", "Cameroon",
446
+ "CA", "Canada",
447
+ "CF", "Central African Republic",
448
+ "TD", "Chad",
449
+ "CL", "Chile",
450
+ "CN", "China",
451
+ "CO", "Colombia",
452
+ "KM", "Comoros",
453
+ "CG", "Congo",
454
+ "CR", "Costa Rica",
455
+ "HR", "Croatia",
456
+ "CU", "Cuba",
457
+ "CY", "Cyprus",
458
+ "CZ", "Czech Republic",
459
+ "CI", "Côte d'Ivoire",
460
+ "DK", "Denmark",
461
+ "DJ", "Djibouti",
462
+ "DM", "Dominica",
463
+ "DO", "Dominican Republic",
464
+ "CD", "DR Congo",
465
+ "EC", "Ecuador",
466
+ "EG", "Egypt",
467
+ "SV", "El Salvador",
468
+ "GQ", "Equatorial Guinea",
469
+ "ER", "Eritrea",
470
+ "EE", "Estonia",
471
+ "ET", "Ethiopia",
472
+ "FJ", "Fiji",
473
+ "FI", "Finland",
474
+ "FR", "France",
475
+ "GA", "Gabon",
476
+ "GB", "United Kingdom",
477
+ "GM", "Gambia",
478
+ "GE", "Georgia",
479
+ "GH", "Ghana",
480
+ "GR", "Greece",
481
+ "GD", "Grenada",
482
+ "GT", "Guatemala",
483
+ "GN", "Guinea",
484
+ "GW", "Guinea-Bissau",
485
+ "GY", "Guyana",
486
+ "HT", "Haiti",
487
+ "VA", "Holy See",
488
+ "HN", "Honduras",
489
+ "HU", "Hungary",
490
+ "IS", "Iceland",
491
+ "IN", "India",
492
+ "ID", "Indonesia",
493
+ "IR", "Iran",
494
+ "IQ", "Iraq",
495
+ "IE", "Ireland",
496
+ "IL", "Israel",
497
+ "IT", "Italy",
498
+ "JM", "Jamaica",
499
+ "JP", "Japan",
500
+ "JO", "Jordan",
501
+ "KZ", "Kazakhstan",
502
+ "KE", "Kenya",
503
+ "KI", "Kiribati",
504
+ "KW", "Kuwait",
505
+ "KG", "Kyrgyzstan",
506
+ "LA", "Laos",
507
+ "LV", "Latvia",
508
+ "LB", "Lebanon",
509
+ "LS", "Lesotho",
510
+ "LR", "Liberia",
511
+ "LY", "Libya",
512
+ "LI", "Liechtenstein",
513
+ "LT", "Lithuania",
514
+ "LU", "Luxembourg",
515
+ "MG", "Madagascar",
516
+ "MW", "Malawi",
517
+ "MY", "Malaysia",
518
+ "MV", "Maldives",
519
+ "ML", "Mali",
520
+ "MT", "Malta",
521
+ "MH", "Marsha Islands",
522
+ "MR", "Mauritania",
523
+ "MU", "Mauritius",
524
+ "MX", "Mexico",
525
+ "FM", "Micronesia",
526
+ "MD", "Moldova",
527
+ "MC", "Monaco",
528
+ "MN", "Mongolia",
529
+ "ME", "Montenegro",
530
+ "MA", "Morocco",
531
+ "MZ", "Mozambique",
532
+ "MM", "Myanmar",
533
+ "NA", "Namibia",
534
+ "NR", "Nauru",
535
+ "NP", "Nepal",
536
+ "NL", "Netherlands",
537
+ "NZ", "New Zealand",
538
+ "NI", "Nicaragua",
539
+ "NE", "Niger",
540
+ "NG", "Nigeria",
541
+ "KP", "North Korea",
542
+ "MK", "North Macedonia",
543
+ "NO", "Norway",
544
+ "OM", "Oman",
545
+ "PK", "Pakistan",
546
+ "PW", "Palau",
547
+ "PA", "Panama",
548
+ "PG", "Papua New Guinea",
549
+ "PY", "Paraguay",
550
+ "PE", "Peru",
551
+ "PH", "Philippines",
552
+ "PL", "Poland",
553
+ "PT", "Portugal",
554
+ "QA", "Qatar",
555
+ "RO", "Romania",
556
+ "RU", "Russia",
557
+ "RW", "Rwanda",
558
+ "KN", "Saint Kitts and Nevis",
559
+ "LC", "Saint Lucia",
560
+ "WS", "Samoa",
561
+ "SM", "San Marino",
562
+ "ST", "Sao Tome and Principe",
563
+ "SA", "Saudi Arabia",
564
+ "SN", "Senegal",
565
+ "RS", "Serbia",
566
+ "SC", "Seychelles",
567
+ "SL", "Sierra Leone",
568
+ "SG", "Singapore",
569
+ "SK", "Slovakia",
570
+ "SI", "Slovenia",
571
+ "SB", "Solomon Islands",
572
+ "SO", "Somalia",
573
+ "ZA", "South Africa",
574
+ "KR", "South Korea",
575
+ "SS", "South Sudan",
576
+ "ES", "Spain",
577
+ "LK", "Sri Lanka",
578
+ "VC", "St. Vincent & Grenadines",
579
+ "PS", "State of Palestine",
580
+ "SD", "Sudan",
581
+ "SR", "Suriname",
582
+ "SZ", "Swaziland",
583
+ "SE", "Sweden",
584
+ "CH", "Switzerland",
585
+ "SY", "Syria",
586
+ "TJ", "Tajikistan",
587
+ "TZ", "Tanzania",
588
+ "TH", "Thailand",
589
+ "TL", "Timor-Leste",
590
+ "TG", "Togo",
591
+ "TO", "Tonga",
592
+ "TT", "Trinidad and Tobago",
593
+ "TN", "Tunisia",
594
+ "TR", "Turkey",
595
+ "TM", "Turkmenistan",
596
+ "TV", "Tuvalu",
597
+ "UG", "Uganda",
598
+ "UA", "Ukraine",
599
+ "AE", "United Arab Emirates",
600
+ "US", "United States",
601
+ "UY", "Uruguay",
602
+ "UZ", "Uzbekistan",
603
+ "VU", "Vanuatu",
604
+ "VE", "Venezuela",
605
+ "VN", "Vietnam",
606
+ "YE", "Yemen",
607
+ "ZM", "Zambia",
608
+ "ZW", "Zimbabwe"
609
+ )
610
+ },
611
+ new Field {
612
+ name = "firstName"
613
+ label = "address.firstName.label"
614
+ errorKey = "address.firstName.error"
615
+ placeholder = "address.firstName.placeholder"
616
+ required = true
617
+ autoCompleteName = "given-name"
618
+ caption = "address.firstName.caption"
619
+ group = "address"
620
+ maxLength = 15
621
+ regPattern = "^[\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u2019a-zA-Z\\.\\'\\-\\s]{1,}$"
622
+ },
623
+ new Field {
624
+ name = "lastName"
625
+ label = "address.lastName.label"
626
+ errorKey = "address.lastName.error"
627
+ placeholder = "address.lastName.placeholder"
628
+ required = true
629
+ autoCompleteName = "family-name"
630
+ caption = "address.lastName.caption"
631
+ group = "address"
632
+ maxLength = 20
633
+ regPattern = "^[\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u2019a-zA-Z\\.\\'\\-\\s]{1,}$"
634
+ },
635
+ new Field {
636
+ name = "address1"
637
+ label = "address.address1.label"
638
+ errorKey = "address.address1.error"
639
+ placeholder = "address.address1.placeholder"
640
+ required = true
641
+ regPattern = "^(?:(?!Packstation|packstation|packStation|Pack Station|pack station|packStation|Pack station|PACK STATION|PackStation|PACKSTATION|.*[<>@]))(?=.*\\d).+$"
642
+ autoCompleteName = "street-address address-line1"
643
+ caption = "address.address1.caption"
644
+ group = "address"
645
+ minLength = 2
646
+ maxLength = 70
647
+ },
648
+ new Field {
649
+ name = "address2"
650
+ label = "address.address2.label"
651
+ errorKey = "address.address2.error"
652
+ placeholder = "address.address2.placeholder"
653
+ required = false
654
+ autoCompleteName = "street-address address-line2"
655
+ caption = "address.address2.caption"
656
+ group = "address"
657
+ noAutoCorrect = true
658
+ maxLength = 70
659
+ regPattern = "^(?:(?!Packstation|packstation|packStation|Pack Station|pack station|packStation|Pack station|PACK STATION|PackStation|PACKSTATION|.*[<>@]))(?=.*\\d).+$"
660
+ },
661
+ new Field {
662
+ name = "zipCode"
663
+ label = "address.zipCode.label"
664
+ errorKey = "address.zipCode.error"
665
+ placeholder = "address.zipCode.placeholder"
666
+ required = true
667
+ regPattern = "^\\s{0,}[0-9]{5}$\\s{0,}"
668
+ autoCompleteName = "postal-code"
669
+ caption = "address.zipCode.caption"
670
+ group = "address"
671
+ maxLength = 10
672
+ minLength = 1
673
+ },
674
+ new Field {
675
+ name = "city"
676
+ label = "address.city.label"
677
+ errorKey = "address.city.error"
678
+ placeholder = "address.city.placeholder"
679
+ required = true
680
+ regPattern = "^(?:([\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u2019a-zA-Z\\,\\.\\'\\-\\s])(?!\\1{2})){2,}$"
681
+ autoCompleteName = "address-level2"
682
+ caption = "address.city.caption"
683
+ group = "address"
684
+ minLength = 3
685
+ maxLength = 25
686
+ noAutoCorrect = true
687
+ },
688
+ new Field {
689
+ name = "phoneNumber"
690
+ type = "tel"
691
+ label = "address.phone.label"
692
+ errorKey = "address.phone.error"
693
+ placeholder = "address.phone.placeholder"
694
+ required = false
695
+ regPattern = "^([0-9+]{1,1})(.*)$"
696
+ autoCompleteName = "home tel"
697
+ caption = "address.phone.caption"
698
+ group = "contact"
699
+ minLength = 7
700
+ maxLength = 25
701
+ }
702
+ )
703
+
704
+ billableCountries = List("DE")
705
+ }
706
+
707
+ }
708
+
709
+ gb = new Address {
710
+ minimumAgeLimit = 16
711
+ shippingFields = List(
712
+ new Field {
713
+ name = "firstName"
714
+ label = "address.firstName.label"
715
+ errorKey = "address.firstName.error"
716
+ placeholder = "address.firstName.placeholder"
717
+ required = true
718
+ autoCompleteName = "given-name"
719
+ caption = "address.firstName.caption"
720
+ group = "address"
721
+ regPattern = "^[\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u2019a-zA-Z\\.\\'\\-\\s]{1,}$"
722
+ maxLength = 15
723
+ },
724
+ new Field {
725
+ name = "lastName"
726
+ label = "address.lastName.label"
727
+ errorKey = "address.lastName.error"
728
+ placeholder = "address.lastName.placeholder"
729
+ required = true
730
+ autoCompleteName = "family-name"
731
+ caption = "address.lastName.caption"
732
+ group = "address"
733
+ regPattern = "^[\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u2019a-zA-Z\\.\\'\\-\\s]{1,}$"
734
+ maxLength = 20
735
+ },
736
+ new Field {
737
+ name = "address1"
738
+ label = "address.address1.label"
739
+ errorKey = "address.address1.error"
740
+ placeholder = "address.address1.placeholder"
741
+ required = true
742
+ regPattern = "^[^<>@]+$"
743
+ autoCompleteName = "street-address address-line1"
744
+ caption = "address.address1.caption"
745
+ group = "address"
746
+ noAutoCorrect = true
747
+ minLength = 2
748
+ maxLength = 70
749
+ },
750
+ new Field {
751
+ name = "address2"
752
+ label = "address.address2.label"
753
+ errorKey = "address.address2.error"
754
+ placeholder = "address.address2.placeholder"
755
+ required = false
756
+ autoCompleteName = "street-address address-line2"
757
+ caption = "address.address2.caption"
758
+ group = "address"
759
+ noAutoCorrect = true
760
+ maxLength = 70
761
+ },
762
+ new Field {
763
+ name = "city"
764
+ label = "address.city.label"
765
+ errorKey = "address.city.error"
766
+ placeholder = "address.city.placeholder"
767
+ required = true
768
+ regPattern = "^(?:([\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u2019a-zA-Z\\,\\.\\'\\-\\s])(?!\\1{2})){2,}$"
769
+ autoCompleteName = "address-level2"
770
+ caption = "address.city.caption"
771
+ group = "address"
772
+ noAutoCorrect = true
773
+ maxLength = 25
774
+ minLength = 3
775
+ },
776
+ new Field {
777
+ name = "zipCode"
778
+ label = "address.zipCode.label"
779
+ errorKey = "address.zipCode.error"
780
+ placeholder = "address.zipCode.placeholder"
781
+ required = true
782
+ regPattern = "^(([Gg][Xx]11\\s?1[Aa][Aa])|([Aa][Ii]\\s?2640)|([Aa][Ss][Cc][Nn]\\s?1[Zz][Zz])|([Bb][Bb][Nn][Dd]\\s?1[Zz][Zz])|([Bb][Ii][Qq][Qq]\\s?1[Zz][Zz])|([Ff][Ii][Qq][Qq]\\s?1[Zz][Zz])|([Pp][Cc][Rr][Nn]\\s?1[Zz][Zz])|([Ss][Ii][Qq][Qq]\\s?1[Zz][Zz])|([Ss][Tt][Hh][Ll]\\s?1[Zz][Zz])|([Tt][Dd][Cc][Uu]\\s?1[Zz][Zz])|([Tt][Kk][Cc][Aa]\\s?1[Zz][Zz])|([Gg][Ii][Rr]\\s?0[Aa][Aa])|((([Aa][BLbl]|[Bb][ABDHLNRSTXabdhlnrstx]?|[Cc][ABFHMORTVWabfhmortvw]|[Dd][ADEGHLNTYadeghlnty]|[Ee][HNXhnx]?|[Ff][KYky]|[Gg][LUYluy]?|[Hh][ADGPRSUXadgprsux]|[Ii][GMPVgmpv]|[Jj][Ee]|[Kk][ATWYatwy]|[Ll][ADELNSUadelnsu]?|[Mm][EKLekl]?|[Nn][EGNPRWegnprw]?|[Oo][LXlx]|[Pp][AEHLORaehlor]|[Rr][GHMghm]|[Ss][AEGKLMNOPRSTYaegklmnoprsty]?|[Tt][ADFNQRSWadfnqrsw]|[Uu][Bb]|[Ww][ADFNRSVadfnrsv]|[Yy][Oo]|[Zz][Ee])[1-9]?[0-9]|(([Ee]|[Nn]|[Nn][Ww]|[Ss][Ee]|[Ss][Ww]|[Ww])1|[Ee][Cc][1-4]|[Ww][Cc][12])[A-HJKMNPR-Ya-hjkmnpr-y]|([Ss][Ww]|[Ww])([2-9]|[1-9][0-9])|[Ee][Cc][1-9][0-9])\\s?[0-9][ABD-HJLNP-UW-Zabd-hjlnp-uw-z]{2}))$"
783
+ autoCompleteName = "zip-code"
784
+ caption = "address.zipCode.caption"
785
+ group = "address"
786
+ noAutoCorrect = true
787
+ maxLength = 10
788
+ minLength = 1
789
+ },
790
+ new Field {
791
+ label = "address.country.label"
792
+ name = "country"
793
+ type = "display"
794
+ required = true
795
+ regPattern = "^GB$"
796
+ group = "address"
797
+ },
798
+ new Field {
799
+ name = "phoneNumber"
800
+ type = "tel"
801
+ label = "address.phone.label"
802
+ errorKey = "address.phone.error"
803
+ placeholder = "address.phone.placeholder"
804
+ required = false
805
+ regPattern = "^([0-9+(]{1,1})([0-9- ()]*)([0-9)]{1,1})$"
806
+ autoCompleteName = "home tel"
807
+ caption = "address.phone.caption"
808
+ group = "contact"
809
+ maxLength = 25
810
+ minLength = 7
811
+ },
812
+ new Field {
813
+ name = "emailAddress"
814
+ type = "email"
815
+ label = "address.email.label"
816
+ errorKey = "address.email.error"
817
+ placeholder = "address.email.placeholder"
818
+ required = true
819
+ regPattern = "^[^\\s@.|]+(\\.[^\\s@.|]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*(\\.(aaa|aarp|abarth|abb|abbott|abbvie|abc|able|abogado|abudhabi|ac|academy|accenture|accountant|accountants|aco|active|actor|ad|adac|ads|adult|ae|aeg|aero|aetna|af|afamilycompany|afl|africa|ag|agakhan|agency|ai|aig|aigo|airbus|airforce|airtel|akdn|al|alfaromeo|alibaba|alipay|allfinanz|allstate|ally|alsace|alstom|am|americanexpress|americanfamily|amex|amfam|amica|amsterdam|analytics|android|anquan|anz|ao|aol|apartments|app|apple|aq|aquarelle|ar|arab|aramco|archi|army|arpa|art|arte|as|asda|asia|associates|at|athleta|attorney|au|auction|audi|audible|audio|auspost|author|auto|autos|avianca|aw|aws|ax|axa|az|azure|ba|baby|baidu|banamex|bananarepublic|band|bank|bar|barcelona|barclaycard|barclays|barefoot|bargains|baseball|basketball|bauhaus|bayern|bb|bbc|bbt|bbva|bcg|bcn|bd|be|beats|beauty|beer|bentley|berlin|best|bestbuy|bet|bf|bg|bh|bharti|bi|bible|bid|bike|bing|bingo|bio|biz|bj|black|blackfriday|blanco|blockbuster|blog|bloomberg|blue|bm|bms|bmw|bn|bnl|bnpparibas|bo|boats|boehringer|bofa|bom|bond|boo|book|booking|bosch|bostik|boston|bot|boutique|box|br|bradesco|bridgestone|broadway|broker|brother|brussels|bs|bt|budapest|bugatti|build|builders|business|buy|buzz|bv|bw|by|bz|bzh|ca|cab|cafe|cal|call|calvinklein|cam|camera|camp|cancerresearch|canon|capetown|capital|capitalone|car|caravan|cards|care|career|careers|cars|cartier|casa|case|caseih|cash|casino|cat|catering|catholic|cba|cbn|cbre|cbs|cc|cd|ceb|center|ceo|cern|cf|cfa|cfd|cg|ch|chanel|channel|charity|chase|chat|cheap|chintai|christmas|chrome|chrysler|church|ci|cipriani|circle|cisco|citadel|citi|citic|city|cityeats|ck|cl|claims|cleaning|click|clinic|clinique|clothing|cloud|club|clubmed|cm|cn|co|coach|codes|coffee|college|cologne|com|comcast|commbank|community|company|compare|computer|comsec|condos|construction|consulting|contact|contractors|cooking|cookingchannel|cool|coop|corsica|country|coupon|coupons|courses|cr|credit|creditcard|creditunion|cricket|crown|crs|cruise|cruises|csc|cu|cuisinella|cv|cw|cx|cy|cymru|cyou|cz|dabur|dad|dance|data|date|dating|datsun|day|dclk|dds|de|deal|dealer|deals|degree|delivery|dell|deloitte|delta|democrat|dental|dentist|desi|design|dev|dhl|diamonds|diet|digital|direct|directory|discount|discover|dish|diy|dj|dk|dm|dnp|do|docs|doctor|dodge|dog|doha|domains|dot|download|drive|dtv|dubai|duck|dunlop|duns|dupont|durban|dvag|dvr|dz|earth|eat|ec|eco|edeka|edu|education|ee|eg|email|emerck|energy|engineer|engineering|enterprises|epost|epson|equipment|er|ericsson|erni|es|esq|estate|esurance|et|etisalat|eu|eurovision|eus|events|everbank|exchange|expert|exposed|express|extraspace|fage|fail|fairwinds|faith|family|fan|fans|farm|farmers|fashion|fast|fedex|feedback|ferrari|ferrero|fi|fiat|fidelity|fido|film|final|finance|financial|fire|firestone|firmdale|fish|fishing|fit|fitness|fj|fk|flickr|flights|flir|florist|flowers|fly|fm|fo|foo|food|foodnetwork|football|ford|forex|forsale|forum|foundation|fox|fr|free|fresenius|frl|frogans|frontdoor|frontier|ftr|fujitsu|fujixerox|fun|fund|furniture|futbol|fyi|ga|gal|gallery|gallo|gallup|game|games|gap|garden|gb|gbiz|gd|gdn|ge|gea|gent|genting|george|gf|gg|ggee|gh|gi|gift|gifts|gives|giving|gl|glade|glass|gle|global|globo|gm|gmail|gmbh|gmo|gmx|gn|godaddy|gold|goldpoint|golf|goo|goodyear|goog|google|gop|got|gov|gp|gq|gr|grainger|graphics|gratis|green|gripe|grocery|group|gs|gt|gu|guardian|gucci|guge|guide|guitars|guru|gw|gy|hair|hamburg|hangout|haus|hbo|hdfc|hdfcbank|health|healthcare|help|helsinki|here|hermes|hgtv|hiphop|hisamitsu|hitachi|hiv|hk|hkt|hm|hn|hockey|holdings|holiday|homedepot|homegoods|homes|homesense|honda|honeywell|horse|hospital|host|hosting|hot|hoteles|hotels|hotmail|house|how|hr|hsbc|ht|hu|hughes|hyatt|hyundai|ibm|icbc|ice|icu|id|ie|ieee|ifm|ikano|il|im|imamat|imdb|immo|immobilien|in|inc|industries|infiniti|info|ing|ink|institute|insurance|insure|int|intel|international|intuit|investments|io|ipiranga|iq|ir|irish|is|iselect|ismaili|ist|istanbul|it|itau|itv|iveco|jaguar|java|jcb|jcp|je|jeep|jetzt|jewelry|jio|jll|jm|jmp|jnj|jo|jobs|joburg|jot|joy|jp|jpmorgan|jprs|juegos|juniper|kaufen|kddi|ke|kerryhotels|kerrylogistics|kerryproperties|kfh|kg|kh|ki|kia|kim|kinder|kindle|kitchen|kiwi|km|kn|koeln|komatsu|kosher|kp|kpmg|kpn|kr|krd|kred|kuokgroup|kw|ky|kyoto|kz|la|lacaixa|ladbrokes|lamborghini|lamer|lancaster|lancia|lancome|land|landrover|lanxess|lasalle|lat|latino|latrobe|law|lawyer|lb|lc|lds|lease|leclerc|lefrak|legal|lego|lexus|lgbt|li|liaison|lidl|life|lifeinsurance|lifestyle|lighting|like|lilly|limited|limo|lincoln|linde|link|lipsy|live|living|lixil|lk|llc|loan|loans|locker|locus|loft|lol|london|lotte|lotto|love|lpl|lplfinancial|lr|ls|lt|ltd|ltda|lu|lundbeck|lupin|luxe|luxury|lv|ly|ma|macys|madrid|maif|maison|makeup|man|management|mango|map|market|marketing|markets|marriott|marshalls|maserati|mattel|mba|mc|mckinsey|md|me|med|media|meet|melbourne|meme|memorial|men|menu|merckmsd|metlife|mg|mh|miami|microsoft|mil|mini|mint|mit|mitsubishi|mk|ml|mlb|mls|mm|mma|mn|mo|mobi|mobile|mobily|moda|moe|moi|mom|monash|money|monster|mopar|mormon|mortgage|moscow|moto|motorcycles|mov|movie|movistar|mp|mq|mr|ms|msd|mt|mtn|mtr|mu|museum|mutual|mv|mw|mx|my|mz|na|nab|nadex|nagoya|name|nationwide|natura|navy|nba|nc|ne|nec|net|netbank|netflix|network|neustar|new|newholland|news|next|nextdirect|nexus|nf|nfl|ng|ngo|nhk|ni|nico|nike|nikon|ninja|nissan|nissay|nl|no|nokia|northwesternmutual|norton|now|nowruz|nowtv|np|nr|nra|nrw|ntt|nu|nyc|nz|obi|observer|off|office|okinawa|olayan|olayangroup|oldnavy|ollo|om|omega|one|ong|onl|online|onyourside|ooo|open|oracle|orange|org|organic|origins|osaka|otsuka|ott|ovh|pa|page|panasonic|paris|pars|partners|parts|party|passagens|pay|pccw|pe|pet|pf|pfizer|pg|ph|pharmacy|phd|philips|phone|photo|photography|photos|physio|piaget|pics|pictet|pictures|pid|pin|ping|pink|pioneer|pizza|pk|pl|place|play|playstation|plumbing|plus|pm|pn|pnc|pohl|poker|politie|porn|post|pr|pramerica|praxi|press|prime|pro|prod|productions|prof|progressive|promo|properties|property|protection|pru|prudential|ps|pt|pub|pw|pwc|py|qa|qpon|quebec|quest|qvc|racing|radio|raid|re|read|realestate|realtor|realty|recipes|red|redstone|redumbrella|rehab|reise|reisen|reit|reliance|ren|rent|rentals|repair|report|republican|rest|restaurant|review|reviews|rexroth|rich|richardli|ricoh|rightathome|ril|rio|rip|rmit|ro|rocher|rocks|rodeo|rogers|room|rs|rsvp|ru|rugby|ruhr|run|rw|rwe|ryukyu|sa|saarland|safe|safety|sakura|sale|salon|samsclub|samsung|sandvik|sandvikcoromant|sanofi|sap|sarl|sas|save|saxo|sb|sbi|sbs|sc|sca|scb|schaeffler|schmidt|scholarships|school|schule|schwarz|science|scjohnson|scor|scot|sd|se|search|seat|secure|security|seek|select|sener|services|ses|seven|sew|sex|sexy|sfr|sg|sh|shangrila|sharp|shaw|shell|shia|shiksha|shoes|shop|shopping|shouji|show|showtime|shriram|si|silk|sina|singles|site|sj|sk|ski|skin|sky|skype|sl|sling|sm|smart|smile|sn|sncf|so|soccer|social|softbank|software|sohu|solar|solutions|song|sony|soy|space|sport|spot|spreadbetting|sr|srl|srt|ss|st|stada|staples|star|starhub|statebank|statefarm|stc|stcgroup|stockholm|storage|store|stream|studio|study|style|su|sucks|supplies|supply|support|surf|surgery|suzuki|sv|swatch|swiftcover|swiss|sx|sy|sydney|symantec|systems|sz|tab|taipei|talk|taobao|target|tatamotors|tatar|tattoo|tax|taxi|tc|tci|td|tdk|team|tech|technology|tel|telefonica|temasek|tennis|teva|tf|tg|th|thd|theater|theatre|tiaa|tickets|tienda|tiffany|tips|tires|tirol|tj|tjmaxx|tjx|tk|tkmaxx|tl|tm|tmall|tn|to|today|tokyo|tools|top|toray|toshiba|total|tours|town|toyota|toys|tr|trade|trading|training|travel|travelchannel|travelers|travelersinsurance|trust|trv|tt|tube|tui|tunes|tushu|tv|tvs|tw|tz|ua|ubank|ubs|uconnect|ug|uk|unicom|university|uno|uol|ups|us|uy|uz|va|vacations|vana|vanguard|vc|ve|vegas|ventures|verisign|versicherung|vet|vg|vi|viajes|video|vig|viking|villas|vin|vip|virgin|visa|vision|vistaprint|viva|vivo|vlaanderen|vn|vodka|volkswagen|volvo|vote|voting|voto|voyage|vu|vuelos|wales|walmart|walter|wang|wanggou|warman|watch|watches|weather|weatherchannel|webcam|weber|website|wed|wedding|weibo|weir|wf|whoswho|wien|wiki|williamhill|win|windows|wine|winners|wme|wolterskluwer|woodside|work|works|world|wow|ws|wtc|wtf|xbox|xerox|xfinity|xihuan|xin|xxx|xyz|yachts|yahoo|yamaxun|yandex|ye|yodobashi|yoga|yokohama|you|youtube|yt|yun|za|zappos|zara|zero|zip|zippo|zm|zone|zuerich|zw))$"
820
+ autoCompleteName = "email"
821
+ caption = "address.email.caption"
822
+ group = "contact"
823
+ regPatternFlags = "i"
824
+ }
825
+ )
826
+
827
+ billingFields = new BillingAddress {
828
+ fields = List(
829
+ new Field {
830
+ name = "country"
831
+ type = "select"
832
+ required = true
833
+ group = "address"
834
+ label = "address.country.label"
835
+ errorKey = "address.country.error"
836
+ placeholder = "address.country.placeholder"
837
+ autoCompleteName = "country-name"
838
+ caption = "address.country.caption"
839
+ options = Map(
840
+ "GB", "United Kingdom",
841
+ "AF", "Afghanistan",
842
+ "AL", "Albania",
843
+ "DZ", "Algeria",
844
+ "AD", "Andorra",
845
+ "AO", "Angola",
846
+ "AG", "Antigua and Barbuda",
847
+ "AR", "Argentina",
848
+ "AM", "Armenia",
849
+ "AU", "Australia",
850
+ "AT", "Austria",
851
+ "AZ", "Azerbaijan",
852
+ "BS", "Bahamas",
853
+ "BH", "Bahrain",
854
+ "BD", "Bangladesh",
855
+ "BB", "Barbados",
856
+ "BY", "Belarus",
857
+ "BE", "Belgium",
858
+ "BZ", "Belize",
859
+ "BJ", "Benin",
860
+ "BT", "Bhutan",
861
+ "BO", "Bolivia",
862
+ "BA", "Bosnia and Herzegovina",
863
+ "BW", "Botswana",
864
+ "BR", "Brazil",
865
+ "BN", "Brunei",
866
+ "BG", "Bulgaria",
867
+ "BF", "Burkina Faso",
868
+ "BI", "Burundi",
869
+ "CV", "Cabo Verde",
870
+ "KH", "Cambodia",
871
+ "CM", "Cameroon",
872
+ "CA", "Canada",
873
+ "CF", "Central African Republic",
874
+ "TD", "Chad",
875
+ "CL", "Chile",
876
+ "CN", "China",
877
+ "CO", "Colombia",
878
+ "KM", "Comoros",
879
+ "CG", "Congo",
880
+ "CR", "Costa Rica",
881
+ "HR", "Croatia",
882
+ "CU", "Cuba",
883
+ "CY", "Cyprus",
884
+ "CZ", "Czech Republic",
885
+ "CI", "Côte d'Ivoire",
886
+ "DK", "Denmark",
887
+ "DJ", "Djibouti",
888
+ "DM", "Dominica",
889
+ "DO", "Dominican Republic",
890
+ "CD", "DR Congo",
891
+ "EC", "Ecuador",
892
+ "EG", "Egypt",
893
+ "SV", "El Salvador",
894
+ "GQ", "Equatorial Guinea",
895
+ "ER", "Eritrea",
896
+ "EE", "Estonia",
897
+ "ET", "Ethiopia",
898
+ "FJ", "Fiji",
899
+ "FI", "Finland",
900
+ "FR", "France",
901
+ "GA", "Gabon",
902
+ "GM", "Gambia",
903
+ "GE", "Georgia",
904
+ "DE", "Germany",
905
+ "GH", "Ghana",
906
+ "GR", "Greece",
907
+ "GD", "Grenada",
908
+ "GT", "Guatemala",
909
+ "GN", "Guinea",
910
+ "GW", "Guinea-Bissau",
911
+ "GY", "Guyana",
912
+ "HT", "Haiti",
913
+ "VA", "Holy See",
914
+ "HN", "Honduras",
915
+ "HU", "Hungary",
916
+ "IS", "Iceland",
917
+ "IN", "India",
918
+ "ID", "Indonesia",
919
+ "IR", "Iran",
920
+ "IQ", "Iraq",
921
+ "IE", "Ireland",
922
+ "IL", "Israel",
923
+ "IT", "Italy",
924
+ "JM", "Jamaica",
925
+ "JP", "Japan",
926
+ "JO", "Jordan",
927
+ "KZ", "Kazakhstan",
928
+ "KE", "Kenya",
929
+ "KI", "Kiribati",
930
+ "KW", "Kuwait",
931
+ "KG", "Kyrgyzstan",
932
+ "LA", "Laos",
933
+ "LV", "Latvia",
934
+ "LB", "Lebanon",
935
+ "LS", "Lesotho",
936
+ "LR", "Liberia",
937
+ "LY", "Libya",
938
+ "LI", "Liechtenstein",
939
+ "LT", "Lithuania",
940
+ "LU", "Luxembourg",
941
+ "MG", "Madagascar",
942
+ "MW", "Malawi",
943
+ "MY", "Malaysia",
944
+ "MV", "Maldives",
945
+ "ML", "Mali",
946
+ "MT", "Malta",
947
+ "MH", "Marsha Islands",
948
+ "MR", "Mauritania",
949
+ "MU", "Mauritius",
950
+ "MX", "Mexico",
951
+ "FM", "Micronesia",
952
+ "MD", "Moldova",
953
+ "MC", "Monaco",
954
+ "MN", "Mongolia",
955
+ "ME", "Montenegro",
956
+ "MA", "Morocco",
957
+ "MZ", "Mozambique",
958
+ "MM", "Myanmar",
959
+ "NA", "Namibia",
960
+ "NR", "Nauru",
961
+ "NP", "Nepal",
962
+ "NL", "Netherlands",
963
+ "NZ", "New Zealand",
964
+ "NI", "Nicaragua",
965
+ "NE", "Niger",
966
+ "NG", "Nigeria",
967
+ "KP", "North Korea",
968
+ "MK", "North Macedonia",
969
+ "NO", "Norway",
970
+ "OM", "Oman",
971
+ "PK", "Pakistan",
972
+ "PW", "Palau",
973
+ "PA", "Panama",
974
+ "PG", "Papua New Guinea",
975
+ "PY", "Paraguay",
976
+ "PE", "Peru",
977
+ "PH", "Philippines",
978
+ "PL", "Poland",
979
+ "PT", "Portugal",
980
+ "QA", "Qatar",
981
+ "RO", "Romania",
982
+ "RU", "Russia",
983
+ "RW", "Rwanda",
984
+ "KN", "Saint Kitts and Nevis",
985
+ "LC", "Saint Lucia",
986
+ "WS", "Samoa",
987
+ "SM", "San Marino",
988
+ "ST", "Sao Tome and Principe",
989
+ "SA", "Saudi Arabia",
990
+ "SN", "Senegal",
991
+ "RS", "Serbia",
992
+ "SC", "Seychelles",
993
+ "SL", "Sierra Leone",
994
+ "SG", "Singapore",
995
+ "SK", "Slovakia",
996
+ "SI", "Slovenia",
997
+ "SB", "Solomon Islands",
998
+ "SO", "Somalia",
999
+ "ZA", "South Africa",
1000
+ "KR", "South Korea",
1001
+ "SS", "South Sudan",
1002
+ "ES", "Spain",
1003
+ "LK", "Sri Lanka",
1004
+ "VC", "St. Vincent & Grenadines",
1005
+ "PS", "State of Palestine",
1006
+ "SD", "Sudan",
1007
+ "SR", "Suriname",
1008
+ "SZ", "Swaziland",
1009
+ "SE", "Sweden",
1010
+ "CH", "Switzerland",
1011
+ "SY", "Syria",
1012
+ "TJ", "Tajikistan",
1013
+ "TZ", "Tanzania",
1014
+ "TH", "Thailand",
1015
+ "TL", "Timor-Leste",
1016
+ "TG", "Togo",
1017
+ "TO", "Tonga",
1018
+ "TT", "Trinidad and Tobago",
1019
+ "TN", "Tunisia",
1020
+ "TR", "Turkey",
1021
+ "TM", "Turkmenistan",
1022
+ "TV", "Tuvalu",
1023
+ "UG", "Uganda",
1024
+ "UA", "Ukraine",
1025
+ "AE", "United Arab Emirates",
1026
+ "US", "United States",
1027
+ "UY", "Uruguay",
1028
+ "UZ", "Uzbekistan",
1029
+ "VU", "Vanuatu",
1030
+ "VE", "Venezuela",
1031
+ "VN", "Vietnam",
1032
+ "YE", "Yemen",
1033
+ "ZM", "Zambia",
1034
+ "ZW", "Zimbabwe"
1035
+ )
1036
+ },
1037
+ new Field {
1038
+ name = "firstName"
1039
+ label = "address.firstName.label"
1040
+ errorKey = "address.firstName.error"
1041
+ placeholder = "address.firstName.placeholder"
1042
+ required = true
1043
+ autoCompleteName = "given-name"
1044
+ caption = "address.firstName.caption"
1045
+ group = "address"
1046
+ regPattern = "^[\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u2019a-zA-Z\\.\\'\\-\\s]{1,}$"
1047
+ maxLength = 15
1048
+ },
1049
+ new Field {
1050
+ name = "lastName"
1051
+ label = "address.lastName.label"
1052
+ errorKey = "address.lastName.error"
1053
+ placeholder = "address.lastName.placeholder"
1054
+ required = true
1055
+ autoCompleteName = "family-name"
1056
+ caption = "address.lastName.caption"
1057
+ group = "address"
1058
+ regPattern = "^[\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u2019a-zA-Z\\.\\'\\-\\s]{1,}$"
1059
+ maxLength = 20
1060
+ },
1061
+ new Field {
1062
+ name = "address1"
1063
+ label = "address.address1.label"
1064
+ errorKey = "address.address1.error"
1065
+ placeholder = "address.address1.placeholder"
1066
+ required = true
1067
+ regPattern = "^[^<>@]+$"
1068
+ autoCompleteName = "street-address address-line1"
1069
+ caption = "address.address1.caption"
1070
+ group = "address"
1071
+ noAutoCorrect = true
1072
+ minLength = 2
1073
+ maxLength = 70
1074
+ },
1075
+ new Field {
1076
+ name = "address2"
1077
+ label = "address.address2.label"
1078
+ errorKey = "address.address2.error"
1079
+ placeholder = "address.address2.placeholder"
1080
+ required = false
1081
+ autoCompleteName = "street-address address-line2"
1082
+ caption = "address.address2.caption"
1083
+ group = "address"
1084
+ maxLength = 70
1085
+ noAutoCorrect = true
1086
+ },
1087
+ new Field {
1088
+ name = "city"
1089
+ label = "address.city.label"
1090
+ errorKey = "address.city.error"
1091
+ placeholder = "address.city.placeholder"
1092
+ required = true
1093
+ autoCompleteName = "address-lavel2"
1094
+ caption = "address.city.caption"
1095
+ group = "address"
1096
+ maxLength = 25
1097
+ minLength = 3
1098
+ regPattern = "^(?:([\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u2019a-zA-Z\\,\\.\\'\\-\\s])(?!\\1{2})){2,}$"
1099
+ noAutoCorrect = true
1100
+ },
1101
+ new Field {
1102
+ name = "zipCode"
1103
+ label = "address.zipCode.label"
1104
+ errorKey = "address.zipCode.error"
1105
+ placeholder = "address.zipCode.placeholder"
1106
+ required = true
1107
+ regPattern = "^(([Gg][Xx]11\\s?1[Aa][Aa])|([Aa][Ii]\\s?2640)|([Aa][Ss][Cc][Nn]\\s?1[Zz][Zz])|([Bb][Bb][Nn][Dd]\\s?1[Zz][Zz])|([Bb][Ii][Qq][Qq]\\s?1[Zz][Zz])|([Ff][Ii][Qq][Qq]\\s?1[Zz][Zz])|([Pp][Cc][Rr][Nn]\\s?1[Zz][Zz])|([Ss][Ii][Qq][Qq]\\s?1[Zz][Zz])|([Ss][Tt][Hh][Ll]\\s?1[Zz][Zz])|([Tt][Dd][Cc][Uu]\\s?1[Zz][Zz])|([Tt][Kk][Cc][Aa]\\s?1[Zz][Zz])|([Gg][Ii][Rr]\\s?0[Aa][Aa])|((([Aa][BLbl]|[Bb][ABDHLNRSTXabdhlnrstx]?|[Cc][ABFHMORTVWabfhmortvw]|[Dd][ADEGHLNTYadeghlnty]|[Ee][HNXhnx]?|[Ff][KYky]|[Gg][LUYluy]?|[Hh][ADGPRSUXadgprsux]|[Ii][GMPVgmpv]|[Jj][Ee]|[Kk][ATWYatwy]|[Ll][ADELNSUadelnsu]?|[Mm][EKLekl]?|[Nn][EGNPRWegnprw]?|[Oo][LXlx]|[Pp][AEHLORaehlor]|[Rr][GHMghm]|[Ss][AEGKLMNOPRSTYaegklmnoprsty]?|[Tt][ADFNQRSWadfnqrsw]|[Uu][Bb]|[Ww][ADFNRSVadfnrsv]|[Yy][Oo]|[Zz][Ee])[1-9]?[0-9]|(([Ee]|[Nn]|[Nn][Ww]|[Ss][Ee]|[Ss][Ww]|[Ww])1|[Ee][Cc][1-4]|[Ww][Cc][12])[A-HJKMNPR-Ya-hjkmnpr-y]|([Ss][Ww]|[Ww])([2-9]|[1-9][0-9])|[Ee][Cc][1-9][0-9])\\s?[0-9][ABD-HJLNP-UW-Zabd-hjlnp-uw-z]{2}))$"
1108
+ autoCompleteName = "address-zipCode"
1109
+ caption = "address.zipCode.caption"
1110
+ group = "address"
1111
+ maxLength = 10
1112
+ minLength = 1
1113
+ }
1114
+ )
1115
+ billableCountries = List("GB", "CA", "US")
1116
+ }
1117
+ }
1118
+
1119
+ nl = new Address {
1120
+ minimumAgeLimit = 16
1121
+ shippingFields = List(
1122
+ new Field {
1123
+ name = "firstName"
1124
+ label = "address.firstName.label"
1125
+ errorKey = "address.firstName.error"
1126
+ placeholder = "address.firstName.placeholder"
1127
+ required = true
1128
+ autoCompleteName = "given-name"
1129
+ caption = "address.firstName.caption"
1130
+ group = "address"
1131
+ maxLength = 15
1132
+ regPattern = "^[\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u2019a-zA-Z\\.\\'\\-\\s]{1,}$"
1133
+ },
1134
+ new Field {
1135
+ name = "lastName"
1136
+ label = "address.lastName.label"
1137
+ errorKey = "address.lastName.error"
1138
+ placeholder = "address.lastName.placeholder"
1139
+ required = true
1140
+ autoCompleteName = "family-name"
1141
+ caption = "address.lastName.caption"
1142
+ group = "address"
1143
+ maxLength = 20
1144
+ regPattern = "^[\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u2019a-zA-Z\\.\\'\\-\\s]{1,}$"
1145
+ },
1146
+ new Field {
1147
+ name = "address1"
1148
+ label = "address.address1.label"
1149
+ errorKey = "address.address1.error"
1150
+ placeholder = "address.address1.placeholder"
1151
+ required = true
1152
+ regPattern = "^(?!.*[<>@])(?=.*\\d).+$"
1153
+ autoCompleteName = "street-address address-line1"
1154
+ caption = "address.address1.caption"
1155
+ group = "address"
1156
+ minLength = 2
1157
+ maxLength = 70
1158
+ },
1159
+ new Field {
1160
+ name = "address2"
1161
+ label = "address.address2.label"
1162
+ errorKey = "address.address2.error"
1163
+ placeholder = "address.address2.placeholder"
1164
+ required = false
1165
+ autoCompleteName = "street-address address-line2"
1166
+ caption = "address.address2.caption"
1167
+ group = "address"
1168
+ maxLength = 70
1169
+ },
1170
+ new Field {
1171
+ name = "zipCode"
1172
+ label = "address.zipCode.label"
1173
+ errorKey = "address.zipCode.error"
1174
+ placeholder = "address.zipCode.placeholder"
1175
+ required = true
1176
+ regPattern = "^[0-9]{4}\\s?[A-Za-z]{2}$"
1177
+ autoCompleteName = "postal-code"
1178
+ caption = "address.zipCode.caption"
1179
+ group = "address"
1180
+ minLength = 1
1181
+ maxLength = 10
1182
+ noAutoCorrect = true
1183
+ },
1184
+ new Field {
1185
+ name = "city"
1186
+ label = "address.city.label"
1187
+ errorKey = "address.city.error"
1188
+ placeholder = "address.city.placeholder"
1189
+ required = true
1190
+ regPattern = "^(?:([\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u2019a-zA-Z\\,\\.\\'\\-\\s])(?!\\1{2})){2,}$"
1191
+ autoCompleteName = "address-level2"
1192
+ caption = "address.city.caption"
1193
+ group = "address"
1194
+ minLength = 3
1195
+ maxLength = 25
1196
+ },
1197
+ new Field {
1198
+ label = "address.country.label"
1199
+ name = "country"
1200
+ type = "display"
1201
+ required = true
1202
+ regPattern = "^NL$"
1203
+ group = "address"
1204
+ },
1205
+ new Field {
1206
+ name = "phoneNumber"
1207
+ type = "tel"
1208
+ label = "address.phone.label"
1209
+ errorKey = "address.phone.error"
1210
+ placeholder = "address.phone.placeholder"
1211
+ required = false
1212
+ regPattern = "^([0-9+]{1,1})(.*)$"
1213
+ autoCompleteName = "home tel"
1214
+ caption = "address.phone.caption"
1215
+ group = "contact"
1216
+ minLength = 7
1217
+ maxLength = 25
1218
+ },
1219
+ new Field {
1220
+ name = "emailAddress"
1221
+ type = "email"
1222
+ label = "address.email.label"
1223
+ errorKey = "address.email.error"
1224
+ placeholder = "address.email.placeholder"
1225
+ required = true
1226
+ regPattern = "^[^\\s@.|]+(\\.[^\\s@.|]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*(\\.(aaa|aarp|abarth|abb|abbott|abbvie|abc|able|abogado|abudhabi|ac|academy|accenture|accountant|accountants|aco|active|actor|ad|adac|ads|adult|ae|aeg|aero|aetna|af|afamilycompany|afl|africa|ag|agakhan|agency|ai|aig|aigo|airbus|airforce|airtel|akdn|al|alfaromeo|alibaba|alipay|allfinanz|allstate|ally|alsace|alstom|am|americanexpress|americanfamily|amex|amfam|amica|amsterdam|analytics|android|anquan|anz|ao|aol|apartments|app|apple|aq|aquarelle|ar|arab|aramco|archi|army|arpa|art|arte|as|asda|asia|associates|at|athleta|attorney|au|auction|audi|audible|audio|auspost|author|auto|autos|avianca|aw|aws|ax|axa|az|azure|ba|baby|baidu|banamex|bananarepublic|band|bank|bar|barcelona|barclaycard|barclays|barefoot|bargains|baseball|basketball|bauhaus|bayern|bb|bbc|bbt|bbva|bcg|bcn|bd|be|beats|beauty|beer|bentley|berlin|best|bestbuy|bet|bf|bg|bh|bharti|bi|bible|bid|bike|bing|bingo|bio|biz|bj|black|blackfriday|blanco|blockbuster|blog|bloomberg|blue|bm|bms|bmw|bn|bnl|bnpparibas|bo|boats|boehringer|bofa|bom|bond|boo|book|booking|bosch|bostik|boston|bot|boutique|box|br|bradesco|bridgestone|broadway|broker|brother|brussels|bs|bt|budapest|bugatti|build|builders|business|buy|buzz|bv|bw|by|bz|bzh|ca|cab|cafe|cal|call|calvinklein|cam|camera|camp|cancerresearch|canon|capetown|capital|capitalone|car|caravan|cards|care|career|careers|cars|cartier|casa|case|caseih|cash|casino|cat|catering|catholic|cba|cbn|cbre|cbs|cc|cd|ceb|center|ceo|cern|cf|cfa|cfd|cg|ch|chanel|channel|charity|chase|chat|cheap|chintai|christmas|chrome|chrysler|church|ci|cipriani|circle|cisco|citadel|citi|citic|city|cityeats|ck|cl|claims|cleaning|click|clinic|clinique|clothing|cloud|club|clubmed|cm|cn|co|coach|codes|coffee|college|cologne|com|comcast|commbank|community|company|compare|computer|comsec|condos|construction|consulting|contact|contractors|cooking|cookingchannel|cool|coop|corsica|country|coupon|coupons|courses|cr|credit|creditcard|creditunion|cricket|crown|crs|cruise|cruises|csc|cu|cuisinella|cv|cw|cx|cy|cymru|cyou|cz|dabur|dad|dance|data|date|dating|datsun|day|dclk|dds|de|deal|dealer|deals|degree|delivery|dell|deloitte|delta|democrat|dental|dentist|desi|design|dev|dhl|diamonds|diet|digital|direct|directory|discount|discover|dish|diy|dj|dk|dm|dnp|do|docs|doctor|dodge|dog|doha|domains|dot|download|drive|dtv|dubai|duck|dunlop|duns|dupont|durban|dvag|dvr|dz|earth|eat|ec|eco|edeka|edu|education|ee|eg|email|emerck|energy|engineer|engineering|enterprises|epost|epson|equipment|er|ericsson|erni|es|esq|estate|esurance|et|etisalat|eu|eurovision|eus|events|everbank|exchange|expert|exposed|express|extraspace|fage|fail|fairwinds|faith|family|fan|fans|farm|farmers|fashion|fast|fedex|feedback|ferrari|ferrero|fi|fiat|fidelity|fido|film|final|finance|financial|fire|firestone|firmdale|fish|fishing|fit|fitness|fj|fk|flickr|flights|flir|florist|flowers|fly|fm|fo|foo|food|foodnetwork|football|ford|forex|forsale|forum|foundation|fox|fr|free|fresenius|frl|frogans|frontdoor|frontier|ftr|fujitsu|fujixerox|fun|fund|furniture|futbol|fyi|ga|gal|gallery|gallo|gallup|game|games|gap|garden|gb|gbiz|gd|gdn|ge|gea|gent|genting|george|gf|gg|ggee|gh|gi|gift|gifts|gives|giving|gl|glade|glass|gle|global|globo|gm|gmail|gmbh|gmo|gmx|gn|godaddy|gold|goldpoint|golf|goo|goodyear|goog|google|gop|got|gov|gp|gq|gr|grainger|graphics|gratis|green|gripe|grocery|group|gs|gt|gu|guardian|gucci|guge|guide|guitars|guru|gw|gy|hair|hamburg|hangout|haus|hbo|hdfc|hdfcbank|health|healthcare|help|helsinki|here|hermes|hgtv|hiphop|hisamitsu|hitachi|hiv|hk|hkt|hm|hn|hockey|holdings|holiday|homedepot|homegoods|homes|homesense|honda|honeywell|horse|hospital|host|hosting|hot|hoteles|hotels|hotmail|house|how|hr|hsbc|ht|hu|hughes|hyatt|hyundai|ibm|icbc|ice|icu|id|ie|ieee|ifm|ikano|il|im|imamat|imdb|immo|immobilien|in|inc|industries|infiniti|info|ing|ink|institute|insurance|insure|int|intel|international|intuit|investments|io|ipiranga|iq|ir|irish|is|iselect|ismaili|ist|istanbul|it|itau|itv|iveco|jaguar|java|jcb|jcp|je|jeep|jetzt|jewelry|jio|jll|jm|jmp|jnj|jo|jobs|joburg|jot|joy|jp|jpmorgan|jprs|juegos|juniper|kaufen|kddi|ke|kerryhotels|kerrylogistics|kerryproperties|kfh|kg|kh|ki|kia|kim|kinder|kindle|kitchen|kiwi|km|kn|koeln|komatsu|kosher|kp|kpmg|kpn|kr|krd|kred|kuokgroup|kw|ky|kyoto|kz|la|lacaixa|ladbrokes|lamborghini|lamer|lancaster|lancia|lancome|land|landrover|lanxess|lasalle|lat|latino|latrobe|law|lawyer|lb|lc|lds|lease|leclerc|lefrak|legal|lego|lexus|lgbt|li|liaison|lidl|life|lifeinsurance|lifestyle|lighting|like|lilly|limited|limo|lincoln|linde|link|lipsy|live|living|lixil|lk|llc|loan|loans|locker|locus|loft|lol|london|lotte|lotto|love|lpl|lplfinancial|lr|ls|lt|ltd|ltda|lu|lundbeck|lupin|luxe|luxury|lv|ly|ma|macys|madrid|maif|maison|makeup|man|management|mango|map|market|marketing|markets|marriott|marshalls|maserati|mattel|mba|mc|mckinsey|md|me|med|media|meet|melbourne|meme|memorial|men|menu|merckmsd|metlife|mg|mh|miami|microsoft|mil|mini|mint|mit|mitsubishi|mk|ml|mlb|mls|mm|mma|mn|mo|mobi|mobile|mobily|moda|moe|moi|mom|monash|money|monster|mopar|mormon|mortgage|moscow|moto|motorcycles|mov|movie|movistar|mp|mq|mr|ms|msd|mt|mtn|mtr|mu|museum|mutual|mv|mw|mx|my|mz|na|nab|nadex|nagoya|name|nationwide|natura|navy|nba|nc|ne|nec|net|netbank|netflix|network|neustar|new|newholland|news|next|nextdirect|nexus|nf|nfl|ng|ngo|nhk|ni|nico|nike|nikon|ninja|nissan|nissay|nl|no|nokia|northwesternmutual|norton|now|nowruz|nowtv|np|nr|nra|nrw|ntt|nu|nyc|nz|obi|observer|off|office|okinawa|olayan|olayangroup|oldnavy|ollo|om|omega|one|ong|onl|online|onyourside|ooo|open|oracle|orange|org|organic|origins|osaka|otsuka|ott|ovh|pa|page|panasonic|paris|pars|partners|parts|party|passagens|pay|pccw|pe|pet|pf|pfizer|pg|ph|pharmacy|phd|philips|phone|photo|photography|photos|physio|piaget|pics|pictet|pictures|pid|pin|ping|pink|pioneer|pizza|pk|pl|place|play|playstation|plumbing|plus|pm|pn|pnc|pohl|poker|politie|porn|post|pr|pramerica|praxi|press|prime|pro|prod|productions|prof|progressive|promo|properties|property|protection|pru|prudential|ps|pt|pub|pw|pwc|py|qa|qpon|quebec|quest|qvc|racing|radio|raid|re|read|realestate|realtor|realty|recipes|red|redstone|redumbrella|rehab|reise|reisen|reit|reliance|ren|rent|rentals|repair|report|republican|rest|restaurant|review|reviews|rexroth|rich|richardli|ricoh|rightathome|ril|rio|rip|rmit|ro|rocher|rocks|rodeo|rogers|room|rs|rsvp|ru|rugby|ruhr|run|rw|rwe|ryukyu|sa|saarland|safe|safety|sakura|sale|salon|samsclub|samsung|sandvik|sandvikcoromant|sanofi|sap|sarl|sas|save|saxo|sb|sbi|sbs|sc|sca|scb|schaeffler|schmidt|scholarships|school|schule|schwarz|science|scjohnson|scor|scot|sd|se|search|seat|secure|security|seek|select|sener|services|ses|seven|sew|sex|sexy|sfr|sg|sh|shangrila|sharp|shaw|shell|shia|shiksha|shoes|shop|shopping|shouji|show|showtime|shriram|si|silk|sina|singles|site|sj|sk|ski|skin|sky|skype|sl|sling|sm|smart|smile|sn|sncf|so|soccer|social|softbank|software|sohu|solar|solutions|song|sony|soy|space|sport|spot|spreadbetting|sr|srl|srt|ss|st|stada|staples|star|starhub|statebank|statefarm|stc|stcgroup|stockholm|storage|store|stream|studio|study|style|su|sucks|supplies|supply|support|surf|surgery|suzuki|sv|swatch|swiftcover|swiss|sx|sy|sydney|symantec|systems|sz|tab|taipei|talk|taobao|target|tatamotors|tatar|tattoo|tax|taxi|tc|tci|td|tdk|team|tech|technology|tel|telefonica|temasek|tennis|teva|tf|tg|th|thd|theater|theatre|tiaa|tickets|tienda|tiffany|tips|tires|tirol|tj|tjmaxx|tjx|tk|tkmaxx|tl|tm|tmall|tn|to|today|tokyo|tools|top|toray|toshiba|total|tours|town|toyota|toys|tr|trade|trading|training|travel|travelchannel|travelers|travelersinsurance|trust|trv|tt|tube|tui|tunes|tushu|tv|tvs|tw|tz|ua|ubank|ubs|uconnect|ug|uk|unicom|university|uno|uol|ups|us|uy|uz|va|vacations|vana|vanguard|vc|ve|vegas|ventures|verisign|versicherung|vet|vg|vi|viajes|video|vig|viking|villas|vin|vip|virgin|visa|vision|vistaprint|viva|vivo|vlaanderen|vn|vodka|volkswagen|volvo|vote|voting|voto|voyage|vu|vuelos|wales|walmart|walter|wang|wanggou|warman|watch|watches|weather|weatherchannel|webcam|weber|website|wed|wedding|weibo|weir|wf|whoswho|wien|wiki|williamhill|win|windows|wine|winners|wme|wolterskluwer|woodside|work|works|world|wow|ws|wtc|wtf|xbox|xerox|xfinity|xihuan|xin|xxx|xyz|yachts|yahoo|yamaxun|yandex|ye|yodobashi|yoga|yokohama|you|youtube|yt|yun|za|zappos|zara|zero|zip|zippo|zm|zone|zuerich|zw))$"
1227
+ autoCompleteName = "email"
1228
+ caption = "address.email.caption"
1229
+ group = "contact"
1230
+ regPatternFlags = "i"
1231
+ maxLength = 50
1232
+ }
1233
+ )
1234
+
1235
+ billingFields = new BillingAddress{
1236
+ fields = List(
1237
+ new Field {
1238
+ name = "country"
1239
+ type = "select"
1240
+ required = true
1241
+ group = "address"
1242
+ label = "address.country.label"
1243
+ errorKey = "address.country.error"
1244
+ placeholder = "address.country.placeholder"
1245
+ autoCompleteName = "country-name"
1246
+ caption = "address.country.caption"
1247
+ options = Map(
1248
+ "NL", "Netherlands",
1249
+ "AF", "Afghanistan",
1250
+ "AL", "Albania",
1251
+ "DZ", "Algeria",
1252
+ "AD", "Andorra",
1253
+ "AO", "Angola",
1254
+ "AG", "Antigua and Barbuda",
1255
+ "AR", "Argentina",
1256
+ "AM", "Armenia",
1257
+ "AU", "Australia",
1258
+ "AT", "Austria",
1259
+ "AZ", "Azerbaijan",
1260
+ "BS", "Bahamas",
1261
+ "BH", "Bahrain",
1262
+ "BD", "Bangladesh",
1263
+ "BB", "Barbados",
1264
+ "BY", "Belarus",
1265
+ "BE", "Belgium",
1266
+ "BZ", "Belize",
1267
+ "BJ", "Benin",
1268
+ "BT", "Bhutan",
1269
+ "BO", "Bolivia",
1270
+ "BA", "Bosnia and Herzegovina",
1271
+ "BW", "Botswana",
1272
+ "BR", "Brazil",
1273
+ "BN", "Brunei",
1274
+ "BG", "Bulgaria",
1275
+ "BF", "Burkina Faso",
1276
+ "BI", "Burundi",
1277
+ "CV", "Cabo Verde",
1278
+ "KH", "Cambodia",
1279
+ "CM", "Cameroon",
1280
+ "CA", "Canada",
1281
+ "CF", "Central African Republic",
1282
+ "TD", "Chad",
1283
+ "CL", "Chile",
1284
+ "CN", "China",
1285
+ "CO", "Colombia",
1286
+ "KM", "Comoros",
1287
+ "CG", "Congo",
1288
+ "CR", "Costa Rica",
1289
+ "HR", "Croatia",
1290
+ "CU", "Cuba",
1291
+ "CY", "Cyprus",
1292
+ "CZ", "Czech Republic",
1293
+ "CI", "Côte d'Ivoire",
1294
+ "DK", "Denmark",
1295
+ "DJ", "Djibouti",
1296
+ "DM", "Dominica",
1297
+ "DO", "Dominican Republic",
1298
+ "CD", "DR Congo",
1299
+ "EC", "Ecuador",
1300
+ "EG", "Egypt",
1301
+ "SV", "El Salvador",
1302
+ "GQ", "Equatorial Guinea",
1303
+ "ER", "Eritrea",
1304
+ "EE", "Estonia",
1305
+ "ET", "Ethiopia",
1306
+ "FJ", "Fiji",
1307
+ "FI", "Finland",
1308
+ "FR", "France",
1309
+ "GA", "Gabon",
1310
+ "GM", "Gambia",
1311
+ "GE", "Georgia",
1312
+ "DE", "Germany",
1313
+ "GB", "United Kingdom",
1314
+ "GH", "Ghana",
1315
+ "GR", "Greece",
1316
+ "GD", "Grenada",
1317
+ "GT", "Guatemala",
1318
+ "GN", "Guinea",
1319
+ "GW", "Guinea-Bissau",
1320
+ "GY", "Guyana",
1321
+ "HT", "Haiti",
1322
+ "VA", "Holy See",
1323
+ "HN", "Honduras",
1324
+ "HU", "Hungary",
1325
+ "IS", "Iceland",
1326
+ "IN", "India",
1327
+ "ID", "Indonesia",
1328
+ "IR", "Iran",
1329
+ "IQ", "Iraq",
1330
+ "IE", "Ireland",
1331
+ "IL", "Israel",
1332
+ "IT", "Italy",
1333
+ "JM", "Jamaica",
1334
+ "JP", "Japan",
1335
+ "JO", "Jordan",
1336
+ "KZ", "Kazakhstan",
1337
+ "KE", "Kenya",
1338
+ "KI", "Kiribati",
1339
+ "KW", "Kuwait",
1340
+ "KG", "Kyrgyzstan",
1341
+ "LA", "Laos",
1342
+ "LV", "Latvia",
1343
+ "LB", "Lebanon",
1344
+ "LS", "Lesotho",
1345
+ "LR", "Liberia",
1346
+ "LY", "Libya",
1347
+ "LI", "Liechtenstein",
1348
+ "LT", "Lithuania",
1349
+ "LU", "Luxembourg",
1350
+ "MG", "Madagascar",
1351
+ "MW", "Malawi",
1352
+ "MY", "Malaysia",
1353
+ "MV", "Maldives",
1354
+ "ML", "Mali",
1355
+ "MT", "Malta",
1356
+ "MH", "Marsha Islands",
1357
+ "MR", "Mauritania",
1358
+ "MU", "Mauritius",
1359
+ "MX", "Mexico",
1360
+ "FM", "Micronesia",
1361
+ "MD", "Moldova",
1362
+ "MC", "Monaco",
1363
+ "MN", "Mongolia",
1364
+ "ME", "Montenegro",
1365
+ "MA", "Morocco",
1366
+ "MZ", "Mozambique",
1367
+ "MM", "Myanmar",
1368
+ "NA", "Namibia",
1369
+ "NR", "Nauru",
1370
+ "NP", "Nepal",
1371
+ "NZ", "New Zealand",
1372
+ "NI", "Nicaragua",
1373
+ "NE", "Niger",
1374
+ "NG", "Nigeria",
1375
+ "KP", "North Korea",
1376
+ "MK", "North Macedonia",
1377
+ "NO", "Norway",
1378
+ "OM", "Oman",
1379
+ "PK", "Pakistan",
1380
+ "PW", "Palau",
1381
+ "PA", "Panama",
1382
+ "PG", "Papua New Guinea",
1383
+ "PY", "Paraguay",
1384
+ "PE", "Peru",
1385
+ "PH", "Philippines",
1386
+ "PL", "Poland",
1387
+ "PT", "Portugal",
1388
+ "QA", "Qatar",
1389
+ "RO", "Romania",
1390
+ "RU", "Russia",
1391
+ "RW", "Rwanda",
1392
+ "KN", "Saint Kitts and Nevis",
1393
+ "LC", "Saint Lucia",
1394
+ "WS", "Samoa",
1395
+ "SM", "San Marino",
1396
+ "ST", "Sao Tome and Principe",
1397
+ "SA", "Saudi Arabia",
1398
+ "SN", "Senegal",
1399
+ "RS", "Serbia",
1400
+ "SC", "Seychelles",
1401
+ "SL", "Sierra Leone",
1402
+ "SG", "Singapore",
1403
+ "SK", "Slovakia",
1404
+ "SI", "Slovenia",
1405
+ "SB", "Solomon Islands",
1406
+ "SO", "Somalia",
1407
+ "ZA", "South Africa",
1408
+ "KR", "South Korea",
1409
+ "SS", "South Sudan",
1410
+ "ES", "Spain",
1411
+ "LK", "Sri Lanka",
1412
+ "VC", "St. Vincent & Grenadines",
1413
+ "PS", "State of Palestine",
1414
+ "SD", "Sudan",
1415
+ "SR", "Suriname",
1416
+ "SZ", "Swaziland",
1417
+ "SE", "Sweden",
1418
+ "CH", "Switzerland",
1419
+ "SY", "Syria",
1420
+ "TJ", "Tajikistan",
1421
+ "TZ", "Tanzania",
1422
+ "TH", "Thailand",
1423
+ "TL", "Timor-Leste",
1424
+ "TG", "Togo",
1425
+ "TO", "Tonga",
1426
+ "TT", "Trinidad and Tobago",
1427
+ "TN", "Tunisia",
1428
+ "TR", "Turkey",
1429
+ "TM", "Turkmenistan",
1430
+ "TV", "Tuvalu",
1431
+ "UG", "Uganda",
1432
+ "UA", "Ukraine",
1433
+ "AE", "United Arab Emirates",
1434
+ "US", "United States",
1435
+ "UY", "Uruguay",
1436
+ "UZ", "Uzbekistan",
1437
+ "VU", "Vanuatu",
1438
+ "VE", "Venezuela",
1439
+ "VN", "Vietnam",
1440
+ "YE", "Yemen",
1441
+ "ZM", "Zambia",
1442
+ "ZW", "Zimbabwe"
1443
+ )
1444
+ },
1445
+ new Field {
1446
+ name = "firstName"
1447
+ label = "address.firstName.label"
1448
+ errorKey = "address.firstName.error"
1449
+ placeholder = "address.firstName.placeholder"
1450
+ required = true
1451
+ autoCompleteName = "given-name"
1452
+ caption = "address.firstName.caption"
1453
+ group = "address"
1454
+ maxLength = 15
1455
+ regPattern = "^[\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u2019a-zA-Z\\.\\'\\-\\s]{1,}$"
1456
+ },
1457
+ new Field {
1458
+ name = "lastName"
1459
+ label = "address.lastName.label"
1460
+ errorKey = "address.lastName.error"
1461
+ placeholder = "address.lastName.placeholder"
1462
+ required = true
1463
+ autoCompleteName = "family-name"
1464
+ caption = "address.lastName.caption"
1465
+ group = "address"
1466
+ maxLength = 20
1467
+ regPattern = "^[\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u2019a-zA-Z\\.\\'\\-\\s]{1,}$"
1468
+ },
1469
+ new Field {
1470
+ name = "address1"
1471
+ label = "address.address1.label"
1472
+ errorKey = "address.address1.error"
1473
+ placeholder = "address.address1.placeholder"
1474
+ required = true
1475
+ regPattern = "^(?!.*[<>@])(?=.*\\d).+$"
1476
+ autoCompleteName = "street-address address-line1"
1477
+ caption = "address.address1.caption"
1478
+ group = "address"
1479
+ maxLength = 70
1480
+ minLength = 2
1481
+ noAutoCorrect = true
1482
+ },
1483
+ new Field {
1484
+ name = "address2"
1485
+ label = "address.address2.label"
1486
+ errorKey = "address.address2.error"
1487
+ placeholder = "address.address2.placeholder"
1488
+ required = false
1489
+ autoCompleteName = "street-address address-line2"
1490
+ caption = "address.address2.caption"
1491
+ group = "address"
1492
+ maxLength = 70
1493
+ noAutoCorrect = true
1494
+ },
1495
+ new Field {
1496
+ name = "zipCode"
1497
+ label = "address.zipCode.label"
1498
+ errorKey = "address.zipCode.error"
1499
+ placeholder = "address.zipCode.placeholder"
1500
+ required = true
1501
+ regPattern = "^[0-9]{4}\\s?[A-Za-z]{2}$"
1502
+ autoCompleteName = "postal-code"
1503
+ caption = "address.zipCode.caption"
1504
+ group = "address"
1505
+ minLength = 1
1506
+ maxLength = 10
1507
+ noAutoCorrect = true
1508
+ },
1509
+ new Field {
1510
+ name = "city"
1511
+ label = "address.city.label"
1512
+ errorKey = "address.city.error"
1513
+ placeholder = "address.city.placeholder"
1514
+ required = true
1515
+ regPattern = "^(?:([\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u2019a-zA-Z\\,\\.\\'\\-\\s])(?!\\1{2})){2,}$"
1516
+ autoCompleteName = "address-level2"
1517
+ caption = "address.city.caption"
1518
+ group = "address"
1519
+ minLength = 3
1520
+ maxLength = 25
1521
+ noAutoCorrect = true
1522
+ },
1523
+ new Field {
1524
+ name = "country"
1525
+ type = "display"
1526
+ required = true
1527
+ regPattern = "^NL$"
1528
+ group = "address"
1529
+ label = "address.country.label"
1530
+ errorKey = "address.country.error"
1531
+ placeholder = "address.country.placeholder"
1532
+ autoCompleteName = "country-name"
1533
+ caption = "address.country.caption"
1534
+ },
1535
+ new Field {
1536
+ name = "phoneNumber"
1537
+ type = "tel"
1538
+ label = "address.phone.label"
1539
+ errorKey = "address.phone.error"
1540
+ placeholder = "address.phone.placeholder"
1541
+ required = false
1542
+ regPattern = "^([0-9+]{1,1})(.*)$"
1543
+ autoCompleteName = "home tel"
1544
+ caption = "address.phone.caption"
1545
+ group = "contact"
1546
+ minLength = 7
1547
+ maxLength = 25
1548
+ }
1549
+ )
1550
+
1551
+ billableCountries = List("NL")
1552
+ }
1553
+ }
1554
+
1555
+ us = new Address {
1556
+ minimumAgeLimit = 13
1557
+ shippingFields = List(
1558
+ new Field {
1559
+ name = "firstName"
1560
+ label = "address.firstName.label"
1561
+ errorKey = "address.firstName.error"
1562
+ placeholder = "address.firstName.placeholder"
1563
+ required = true
1564
+ autoCompleteName = "given-name"
1565
+ caption = "address.firstName.caption"
1566
+ group = "address"
1567
+ maxLength = 33
1568
+ regPattern = "^[\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u2019a-zA-Z\\.\\'\\-\\s]{1,}$"
1569
+ },
1570
+ new Field {
1571
+ name = "lastName"
1572
+ label = "address.lastName.label"
1573
+ errorKey = "address.lastName.error"
1574
+ placeholder = "address.lastName.placeholder"
1575
+ required = true
1576
+ autoCompleteName = "family-name"
1577
+ caption = "address.lastName.caption"
1578
+ group = "address"
1579
+ maxLength = 33
1580
+ regPattern = "^[\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u2019a-zA-Z\\.\\'\\-\\s]{1,}$"
1581
+ },
1582
+ new Field {
1583
+ name = "address1"
1584
+ label = "address.address1.label"
1585
+ errorKey = "address.address1.error"
1586
+ placeholder = "address.address1.placeholder"
1587
+ required = true
1588
+ regPattern = "^[\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u20190-9a-zA-Z\\u002E\\u003A\\u0023\\u0027\\u002D\\u002F\\u005C\\u007C\\u0022\\u00AB\\u00BB\\u0028\\u0029\\u005F\\u0060\\u003B\\u007E\\u002C\\s]{1,}$"
1589
+ autoCompleteName = "street-address address-line1"
1590
+ caption = "address.address1.caption"
1591
+ group = "address"
1592
+ noAutoCorrect = true
1593
+ maxLength = 70
1594
+ minLength = 2
1595
+ },
1596
+ new Field {
1597
+ name = "address2"
1598
+ label = "address.address2.label"
1599
+ errorKey = "address.address2.error"
1600
+ placeholder = "address.address2.placeholder"
1601
+ required = false
1602
+ autoCompleteName = "street-address address-line2"
1603
+ caption = "address.address2.caption"
1604
+ group = "address"
1605
+ noAutoCorrect = true
1606
+ maxLength = 70
1607
+ },
1608
+ new Field {
1609
+ name = "city"
1610
+ label = "address.city.label"
1611
+ errorKey = "address.city.error"
1612
+ placeholder = "address.city.placeholder"
1613
+ required = true
1614
+ regPattern = "^(?:([\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u2019a-zA-Z\\,\\.\\'\\-\\s])(?!\\1{2})){2,}$"
1615
+ autoCompleteName = "address-level2"
1616
+ caption = "address.city.caption"
1617
+ group = "address"
1618
+ noAutoCorrect = true
1619
+ maxLength = 33
1620
+ minLength = 3
1621
+ },
1622
+ new Field {
1623
+ name = "stateCode"
1624
+ label = "address.statecode.label"
1625
+ errorKey = "address.statecode.error"
1626
+ placeholder = "address.statecode.placeholder"
1627
+ required = true
1628
+ regPattern = "^[0-9]{4}\\s?[A-Za-z]{2}$"
1629
+ autoCompleteName = "state-code"
1630
+ caption = "address.statecode.caption"
1631
+ group = "address"
1632
+ type = "select"
1633
+ options = Map(
1634
+ "AA", "AA Military",
1635
+ "AE", "AE Military",
1636
+ "AP", "AP Military",
1637
+ "AL", "Alabama",
1638
+ "AK", "Alaska",
1639
+ "AZ", "Arizona",
1640
+ "AR", "Arkansas",
1641
+ "CA", "California",
1642
+ "CO", "Colorado",
1643
+ "CT", "Connecticut",
1644
+ "DE", "Delaware",
1645
+ "DC", "District Of Columbia",
1646
+ "FL", "Florida",
1647
+ "GA", "Georgia",
1648
+ "HI", "Hawaii",
1649
+ "ID", "Idaho",
1650
+ "IL", "Illinois",
1651
+ "IN", "Indiana",
1652
+ "IA", "Iowa",
1653
+ "KS", "Kansas",
1654
+ "KY", "Kentucky",
1655
+ "LA", "Louisiana",
1656
+ "ME", "Maine",
1657
+ "MD", "Maryland",
1658
+ "MA", "Massachusetts",
1659
+ "MI", "Michigan",
1660
+ "MN", "Minnesota",
1661
+ "MS", "Mississippi",
1662
+ "MO", "Missouri",
1663
+ "MT", "Montana",
1664
+ "NE", "Nebraska",
1665
+ "NV", "Nevada",
1666
+ "NH", "New Hampshire",
1667
+ "NJ", "New Jersey",
1668
+ "NM", "New Mexico",
1669
+ "NY", "New York",
1670
+ "NC", "North Carolina",
1671
+ "ND", "North Dakota",
1672
+ "OH", "Ohio",
1673
+ "OK", "Oklahoma",
1674
+ "OR", "Oregon",
1675
+ "PA", "Pennsylvania",
1676
+ "RI", "Rhode Island",
1677
+ "SC", "South Carolina",
1678
+ "SD", "South Dakota",
1679
+ "TN", "Tennessee",
1680
+ "TX", "Texas",
1681
+ "UT", "Utah",
1682
+ "VT", "Vermont",
1683
+ "VA", "Virginia",
1684
+ "WA", "Washington",
1685
+ "WV", "West Virginia",
1686
+ "WI", "Wisconsin",
1687
+ "WY", "Wyoming"
1688
+ )
1689
+ },
1690
+ new Field {
1691
+ name = "zipCode"
1692
+ label = "address.zipCode.label"
1693
+ errorKey = "address.zipCode.error"
1694
+ placeholder = "address.zipCode.placeholder"
1695
+ required = true
1696
+ regPattern = "(^\\d{5}$)|(^\\d{5}-\\d{4}$)"
1697
+ autoCompleteName = "postal-code"
1698
+ caption = "address.zipCode.caption"
1699
+ group = "address"
1700
+ noAutoCorrect = true
1701
+ minLength = 5
1702
+ maxLength = 10
1703
+ },
1704
+ new Field {
1705
+ name = "country"
1706
+ type = "display"
1707
+ required = true
1708
+ regPattern = "^US$"
1709
+ group = "address"
1710
+ label = "address.country.label"
1711
+ },
1712
+ new Field {
1713
+ name = "phoneNumber"
1714
+ type = "tel"
1715
+ label = "address.phone.label"
1716
+ errorKey = "address.phone.error"
1717
+ placeholder = "address.phone.placeholder"
1718
+ required = false
1719
+ regPattern = "^((\\+?|00?)1\\s?)?[\\s\\-]?((\\([0-9]{3}\\))|[0-9]{3})[\\s\\-]?[\\0-9]{3}[\\s\\-]?[0-9]{4}$"
1720
+ autoCompleteName = "home tel"
1721
+ caption = "address.phone.caption"
1722
+ group = "contact"
1723
+ minLength = 7
1724
+ maxLength = 25
1725
+ },
1726
+ new Field {
1727
+ name = "emailAddress"
1728
+ type = "email"
1729
+ label = "address.email.label"
1730
+ errorKey = "address.email.error"
1731
+ placeholder = "address.email.placeholder"
1732
+ required = true
1733
+ regPattern = "^[^\\s@.|]+(\\.[^\\s@.|]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*(\\.(aaa|aarp|abarth|abb|abbott|abbvie|abc|able|abogado|abudhabi|ac|academy|accenture|accountant|accountants|aco|active|actor|ad|adac|ads|adult|ae|aeg|aero|aetna|af|afamilycompany|afl|africa|ag|agakhan|agency|ai|aig|aigo|airbus|airforce|airtel|akdn|al|alfaromeo|alibaba|alipay|allfinanz|allstate|ally|alsace|alstom|am|americanexpress|americanfamily|amex|amfam|amica|amsterdam|analytics|android|anquan|anz|ao|aol|apartments|app|apple|aq|aquarelle|ar|arab|aramco|archi|army|arpa|art|arte|as|asda|asia|associates|at|athleta|attorney|au|auction|audi|audible|audio|auspost|author|auto|autos|avianca|aw|aws|ax|axa|az|azure|ba|baby|baidu|banamex|bananarepublic|band|bank|bar|barcelona|barclaycard|barclays|barefoot|bargains|baseball|basketball|bauhaus|bayern|bb|bbc|bbt|bbva|bcg|bcn|bd|be|beats|beauty|beer|bentley|berlin|best|bestbuy|bet|bf|bg|bh|bharti|bi|bible|bid|bike|bing|bingo|bio|biz|bj|black|blackfriday|blanco|blockbuster|blog|bloomberg|blue|bm|bms|bmw|bn|bnl|bnpparibas|bo|boats|boehringer|bofa|bom|bond|boo|book|booking|bosch|bostik|boston|bot|boutique|box|br|bradesco|bridgestone|broadway|broker|brother|brussels|bs|bt|budapest|bugatti|build|builders|business|buy|buzz|bv|bw|by|bz|bzh|ca|cab|cafe|cal|call|calvinklein|cam|camera|camp|cancerresearch|canon|capetown|capital|capitalone|car|caravan|cards|care|career|careers|cars|cartier|casa|case|caseih|cash|casino|cat|catering|catholic|cba|cbn|cbre|cbs|cc|cd|ceb|center|ceo|cern|cf|cfa|cfd|cg|ch|chanel|channel|charity|chase|chat|cheap|chintai|christmas|chrome|chrysler|church|ci|cipriani|circle|cisco|citadel|citi|citic|city|cityeats|ck|cl|claims|cleaning|click|clinic|clinique|clothing|cloud|club|clubmed|cm|cn|co|coach|codes|coffee|college|cologne|com|comcast|commbank|community|company|compare|computer|comsec|condos|construction|consulting|contact|contractors|cooking|cookingchannel|cool|coop|corsica|country|coupon|coupons|courses|cr|credit|creditcard|creditunion|cricket|crown|crs|cruise|cruises|csc|cu|cuisinella|cv|cw|cx|cy|cymru|cyou|cz|dabur|dad|dance|data|date|dating|datsun|day|dclk|dds|de|deal|dealer|deals|degree|delivery|dell|deloitte|delta|democrat|dental|dentist|desi|design|dev|dhl|diamonds|diet|digital|direct|directory|discount|discover|dish|diy|dj|dk|dm|dnp|do|docs|doctor|dodge|dog|doha|domains|dot|download|drive|dtv|dubai|duck|dunlop|duns|dupont|durban|dvag|dvr|dz|earth|eat|ec|eco|edeka|edu|education|ee|eg|email|emerck|energy|engineer|engineering|enterprises|epost|epson|equipment|er|ericsson|erni|es|esq|estate|esurance|et|etisalat|eu|eurovision|eus|events|everbank|exchange|expert|exposed|express|extraspace|fage|fail|fairwinds|faith|family|fan|fans|farm|farmers|fashion|fast|fedex|feedback|ferrari|ferrero|fi|fiat|fidelity|fido|film|final|finance|financial|fire|firestone|firmdale|fish|fishing|fit|fitness|fj|fk|flickr|flights|flir|florist|flowers|fly|fm|fo|foo|food|foodnetwork|football|ford|forex|forsale|forum|foundation|fox|fr|free|fresenius|frl|frogans|frontdoor|frontier|ftr|fujitsu|fujixerox|fun|fund|furniture|futbol|fyi|ga|gal|gallery|gallo|gallup|game|games|gap|garden|gb|gbiz|gd|gdn|ge|gea|gent|genting|george|gf|gg|ggee|gh|gi|gift|gifts|gives|giving|gl|glade|glass|gle|global|globo|gm|gmail|gmbh|gmo|gmx|gn|godaddy|gold|goldpoint|golf|goo|goodyear|goog|google|gop|got|gov|gp|gq|gr|grainger|graphics|gratis|green|gripe|grocery|group|gs|gt|gu|guardian|gucci|guge|guide|guitars|guru|gw|gy|hair|hamburg|hangout|haus|hbo|hdfc|hdfcbank|health|healthcare|help|helsinki|here|hermes|hgtv|hiphop|hisamitsu|hitachi|hiv|hk|hkt|hm|hn|hockey|holdings|holiday|homedepot|homegoods|homes|homesense|honda|honeywell|horse|hospital|host|hosting|hot|hoteles|hotels|hotmail|house|how|hr|hsbc|ht|hu|hughes|hyatt|hyundai|ibm|icbc|ice|icu|id|ie|ieee|ifm|ikano|il|im|imamat|imdb|immo|immobilien|in|inc|industries|infiniti|info|ing|ink|institute|insurance|insure|int|intel|international|intuit|investments|io|ipiranga|iq|ir|irish|is|iselect|ismaili|ist|istanbul|it|itau|itv|iveco|jaguar|java|jcb|jcp|je|jeep|jetzt|jewelry|jio|jll|jm|jmp|jnj|jo|jobs|joburg|jot|joy|jp|jpmorgan|jprs|juegos|juniper|kaufen|kddi|ke|kerryhotels|kerrylogistics|kerryproperties|kfh|kg|kh|ki|kia|kim|kinder|kindle|kitchen|kiwi|km|kn|koeln|komatsu|kosher|kp|kpmg|kpn|kr|krd|kred|kuokgroup|kw|ky|kyoto|kz|la|lacaixa|ladbrokes|lamborghini|lamer|lancaster|lancia|lancome|land|landrover|lanxess|lasalle|lat|latino|latrobe|law|lawyer|lb|lc|lds|lease|leclerc|lefrak|legal|lego|lexus|lgbt|li|liaison|lidl|life|lifeinsurance|lifestyle|lighting|like|lilly|limited|limo|lincoln|linde|link|lipsy|live|living|lixil|lk|llc|loan|loans|locker|locus|loft|lol|london|lotte|lotto|love|lpl|lplfinancial|lr|ls|lt|ltd|ltda|lu|lundbeck|lupin|luxe|luxury|lv|ly|ma|macys|madrid|maif|maison|makeup|man|management|mango|map|market|marketing|markets|marriott|marshalls|maserati|mattel|mba|mc|mckinsey|md|me|med|media|meet|melbourne|meme|memorial|men|menu|merckmsd|metlife|mg|mh|miami|microsoft|mil|mini|mint|mit|mitsubishi|mk|ml|mlb|mls|mm|mma|mn|mo|mobi|mobile|mobily|moda|moe|moi|mom|monash|money|monster|mopar|mormon|mortgage|moscow|moto|motorcycles|mov|movie|movistar|mp|mq|mr|ms|msd|mt|mtn|mtr|mu|museum|mutual|mv|mw|mx|my|mz|na|nab|nadex|nagoya|name|nationwide|natura|navy|nba|nc|ne|nec|net|netbank|netflix|network|neustar|new|newholland|news|next|nextdirect|nexus|nf|nfl|ng|ngo|nhk|ni|nico|nike|nikon|ninja|nissan|nissay|nl|no|nokia|northwesternmutual|norton|now|nowruz|nowtv|np|nr|nra|nrw|ntt|nu|nyc|nz|obi|observer|off|office|okinawa|olayan|olayangroup|oldnavy|ollo|om|omega|one|ong|onl|online|onyourside|ooo|open|oracle|orange|org|organic|origins|osaka|otsuka|ott|ovh|pa|page|panasonic|paris|pars|partners|parts|party|passagens|pay|pccw|pe|pet|pf|pfizer|pg|ph|pharmacy|phd|philips|phone|photo|photography|photos|physio|piaget|pics|pictet|pictures|pid|pin|ping|pink|pioneer|pizza|pk|pl|place|play|playstation|plumbing|plus|pm|pn|pnc|pohl|poker|politie|porn|post|pr|pramerica|praxi|press|prime|pro|prod|productions|prof|progressive|promo|properties|property|protection|pru|prudential|ps|pt|pub|pw|pwc|py|qa|qpon|quebec|quest|qvc|racing|radio|raid|re|read|realestate|realtor|realty|recipes|red|redstone|redumbrella|rehab|reise|reisen|reit|reliance|ren|rent|rentals|repair|report|republican|rest|restaurant|review|reviews|rexroth|rich|richardli|ricoh|rightathome|ril|rio|rip|rmit|ro|rocher|rocks|rodeo|rogers|room|rs|rsvp|ru|rugby|ruhr|run|rw|rwe|ryukyu|sa|saarland|safe|safety|sakura|sale|salon|samsclub|samsung|sandvik|sandvikcoromant|sanofi|sap|sarl|sas|save|saxo|sb|sbi|sbs|sc|sca|scb|schaeffler|schmidt|scholarships|school|schule|schwarz|science|scjohnson|scor|scot|sd|se|search|seat|secure|security|seek|select|sener|services|ses|seven|sew|sex|sexy|sfr|sg|sh|shangrila|sharp|shaw|shell|shia|shiksha|shoes|shop|shopping|shouji|show|showtime|shriram|si|silk|sina|singles|site|sj|sk|ski|skin|sky|skype|sl|sling|sm|smart|smile|sn|sncf|so|soccer|social|softbank|software|sohu|solar|solutions|song|sony|soy|space|sport|spot|spreadbetting|sr|srl|srt|ss|st|stada|staples|star|starhub|statebank|statefarm|stc|stcgroup|stockholm|storage|store|stream|studio|study|style|su|sucks|supplies|supply|support|surf|surgery|suzuki|sv|swatch|swiftcover|swiss|sx|sy|sydney|symantec|systems|sz|tab|taipei|talk|taobao|target|tatamotors|tatar|tattoo|tax|taxi|tc|tci|td|tdk|team|tech|technology|tel|telefonica|temasek|tennis|teva|tf|tg|th|thd|theater|theatre|tiaa|tickets|tienda|tiffany|tips|tires|tirol|tj|tjmaxx|tjx|tk|tkmaxx|tl|tm|tmall|tn|to|today|tokyo|tools|top|toray|toshiba|total|tours|town|toyota|toys|tr|trade|trading|training|travel|travelchannel|travelers|travelersinsurance|trust|trv|tt|tube|tui|tunes|tushu|tv|tvs|tw|tz|ua|ubank|ubs|uconnect|ug|uk|unicom|university|uno|uol|ups|us|uy|uz|va|vacations|vana|vanguard|vc|ve|vegas|ventures|verisign|versicherung|vet|vg|vi|viajes|video|vig|viking|villas|vin|vip|virgin|visa|vision|vistaprint|viva|vivo|vlaanderen|vn|vodka|volkswagen|volvo|vote|voting|voto|voyage|vu|vuelos|wales|walmart|walter|wang|wanggou|warman|watch|watches|weather|weatherchannel|webcam|weber|website|wed|wedding|weibo|weir|wf|whoswho|wien|wiki|williamhill|win|windows|wine|winners|wme|wolterskluwer|woodside|work|works|world|wow|ws|wtc|wtf|xbox|xerox|xfinity|xihuan|xin|xxx|xyz|yachts|yahoo|yamaxun|yandex|ye|yodobashi|yoga|yokohama|you|youtube|yt|yun|za|zappos|zara|zero|zip|zippo|zm|zone|zuerich|zw))$"
1734
+ autoCompleteName = "email"
1735
+ caption = "address.email.caption"
1736
+ group = "contact"
1737
+ regPatternFlags = "i"
1738
+ }
1739
+ )
1740
+
1741
+ billingFields = new BillingAddress{
1742
+ fields = List(
1743
+ new Field {
1744
+ name = "country"
1745
+ type = "select"
1746
+ required = true
1747
+ group = "address"
1748
+ label = "address.country.label"
1749
+ errorKey = "address.country.error"
1750
+ placeholder = "address.country.placeholder"
1751
+ autoCompleteName = "country-name"
1752
+ caption = "address.country.caption"
1753
+ options = Map(
1754
+ "US", "United States",
1755
+ "AF", "Afghanistan",
1756
+ "AL", "Albania",
1757
+ "DZ", "Algeria",
1758
+ "AD", "Andorra",
1759
+ "AO", "Angola",
1760
+ "AG", "Antigua and Barbuda",
1761
+ "AR", "Argentina",
1762
+ "AM", "Armenia",
1763
+ "AU", "Australia",
1764
+ "AT", "Austria",
1765
+ "AZ", "Azerbaijan",
1766
+ "BS", "Bahamas",
1767
+ "BH", "Bahrain",
1768
+ "BD", "Bangladesh",
1769
+ "BB", "Barbados",
1770
+ "BY", "Belarus",
1771
+ "BE", "Belgium",
1772
+ "BZ", "Belize",
1773
+ "BJ", "Benin",
1774
+ "BT", "Bhutan",
1775
+ "BO", "Bolivia",
1776
+ "BA", "Bosnia and Herzegovina",
1777
+ "BW", "Botswana",
1778
+ "BR", "Brazil",
1779
+ "BN", "Brunei",
1780
+ "BG", "Bulgaria",
1781
+ "BF", "Burkina Faso",
1782
+ "BI", "Burundi",
1783
+ "CV", "Cabo Verde",
1784
+ "KH", "Cambodia",
1785
+ "CM", "Cameroon",
1786
+ "CA", "Canada",
1787
+ "CF", "Central African Republic",
1788
+ "TD", "Chad",
1789
+ "CL", "Chile",
1790
+ "CN", "China",
1791
+ "CO", "Colombia",
1792
+ "KM", "Comoros",
1793
+ "CG", "Congo",
1794
+ "CR", "Costa Rica",
1795
+ "HR", "Croatia",
1796
+ "CU", "Cuba",
1797
+ "CY", "Cyprus",
1798
+ "CZ", "Czech Republic",
1799
+ "CI", "Côte d'Ivoire",
1800
+ "DK", "Denmark",
1801
+ "DJ", "Djibouti",
1802
+ "DM", "Dominica",
1803
+ "DO", "Dominican Republic",
1804
+ "CD", "DR Congo",
1805
+ "EC", "Ecuador",
1806
+ "EG", "Egypt",
1807
+ "SV", "El Salvador",
1808
+ "GQ", "Equatorial Guinea",
1809
+ "ER", "Eritrea",
1810
+ "EE", "Estonia",
1811
+ "ET", "Ethiopia",
1812
+ "FJ", "Fiji",
1813
+ "FI", "Finland",
1814
+ "FR", "France",
1815
+ "GA", "Gabon",
1816
+ "GB", "United Kingdom",
1817
+ "GM", "Gambia",
1818
+ "GE", "Georgia",
1819
+ "DE", "Germany",
1820
+ "GH", "Ghana",
1821
+ "GR", "Greece",
1822
+ "GD", "Grenada",
1823
+ "GT", "Guatemala",
1824
+ "GN", "Guinea",
1825
+ "GW", "Guinea-Bissau",
1826
+ "GY", "Guyana",
1827
+ "HT", "Haiti",
1828
+ "VA", "Holy See",
1829
+ "HN", "Honduras",
1830
+ "HU", "Hungary",
1831
+ "IS", "Iceland",
1832
+ "IN", "India",
1833
+ "ID", "Indonesia",
1834
+ "IR", "Iran",
1835
+ "IQ", "Iraq",
1836
+ "IE", "Ireland",
1837
+ "IL", "Israel",
1838
+ "IT", "Italy",
1839
+ "JM", "Jamaica",
1840
+ "JP", "Japan",
1841
+ "JO", "Jordan",
1842
+ "KZ", "Kazakhstan",
1843
+ "KE", "Kenya",
1844
+ "KI", "Kiribati",
1845
+ "KW", "Kuwait",
1846
+ "KG", "Kyrgyzstan",
1847
+ "LA", "Laos",
1848
+ "LV", "Latvia",
1849
+ "LB", "Lebanon",
1850
+ "LS", "Lesotho",
1851
+ "LR", "Liberia",
1852
+ "LY", "Libya",
1853
+ "LI", "Liechtenstein",
1854
+ "LT", "Lithuania",
1855
+ "LU", "Luxembourg",
1856
+ "MG", "Madagascar",
1857
+ "MW", "Malawi",
1858
+ "MY", "Malaysia",
1859
+ "MV", "Maldives",
1860
+ "ML", "Mali",
1861
+ "MT", "Malta",
1862
+ "MH", "Marsha Islands",
1863
+ "MR", "Mauritania",
1864
+ "MU", "Mauritius",
1865
+ "MX", "Mexico",
1866
+ "FM", "Micronesia",
1867
+ "MD", "Moldova",
1868
+ "MC", "Monaco",
1869
+ "MN", "Mongolia",
1870
+ "ME", "Montenegro",
1871
+ "MA", "Morocco",
1872
+ "MZ", "Mozambique",
1873
+ "MM", "Myanmar",
1874
+ "NA", "Namibia",
1875
+ "NR", "Nauru",
1876
+ "NP", "Nepal",
1877
+ "NL", "Netherlands",
1878
+ "NZ", "New Zealand",
1879
+ "NI", "Nicaragua",
1880
+ "NE", "Niger",
1881
+ "NG", "Nigeria",
1882
+ "KP", "North Korea",
1883
+ "MK", "North Macedonia",
1884
+ "NO", "Norway",
1885
+ "OM", "Oman",
1886
+ "PK", "Pakistan",
1887
+ "PW", "Palau",
1888
+ "PA", "Panama",
1889
+ "PG", "Papua New Guinea",
1890
+ "PY", "Paraguay",
1891
+ "PE", "Peru",
1892
+ "PH", "Philippines",
1893
+ "PL", "Poland",
1894
+ "PT", "Portugal",
1895
+ "QA", "Qatar",
1896
+ "RO", "Romania",
1897
+ "RU", "Russia",
1898
+ "RW", "Rwanda",
1899
+ "KN", "Saint Kitts and Nevis",
1900
+ "LC", "Saint Lucia",
1901
+ "WS", "Samoa",
1902
+ "SM", "San Marino",
1903
+ "ST", "Sao Tome and Principe",
1904
+ "SA", "Saudi Arabia",
1905
+ "SN", "Senegal",
1906
+ "RS", "Serbia",
1907
+ "SC", "Seychelles",
1908
+ "SL", "Sierra Leone",
1909
+ "SG", "Singapore",
1910
+ "SK", "Slovakia",
1911
+ "SI", "Slovenia",
1912
+ "SB", "Solomon Islands",
1913
+ "SO", "Somalia",
1914
+ "ZA", "South Africa",
1915
+ "KR", "South Korea",
1916
+ "SS", "South Sudan",
1917
+ "ES", "Spain",
1918
+ "LK", "Sri Lanka",
1919
+ "VC", "St. Vincent & Grenadines",
1920
+ "PS", "State of Palestine",
1921
+ "SD", "Sudan",
1922
+ "SR", "Suriname",
1923
+ "SZ", "Swaziland",
1924
+ "SE", "Sweden",
1925
+ "CH", "Switzerland",
1926
+ "SY", "Syria",
1927
+ "TJ", "Tajikistan",
1928
+ "TZ", "Tanzania",
1929
+ "TH", "Thailand",
1930
+ "TL", "Timor-Leste",
1931
+ "TG", "Togo",
1932
+ "TO", "Tonga",
1933
+ "TT", "Trinidad and Tobago",
1934
+ "TN", "Tunisia",
1935
+ "TR", "Turkey",
1936
+ "TM", "Turkmenistan",
1937
+ "TV", "Tuvalu",
1938
+ "UG", "Uganda",
1939
+ "UA", "Ukraine",
1940
+ "AE", "United Arab Emirates",
1941
+ "UY", "Uruguay",
1942
+ "UZ", "Uzbekistan",
1943
+ "VU", "Vanuatu",
1944
+ "VE", "Venezuela",
1945
+ "VN", "Vietnam",
1946
+ "YE", "Yemen",
1947
+ "ZM", "Zambia",
1948
+ "ZW", "Zimbabwe"
1949
+ )
1950
+ },
1951
+ new Field {
1952
+ name = "firstName"
1953
+ label = "address.firstName.label"
1954
+ errorKey = "address.firstName.error"
1955
+ placeholder = "address.firstName.placeholder"
1956
+ required = true
1957
+ autoCompleteName = "given-name"
1958
+ caption = "address.firstName.caption"
1959
+ group = "address"
1960
+ regPattern = "^[\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u2019a-zA-Z\\.\\'\\-\\s]{1,}$"
1961
+ maxLength = 33
1962
+ },
1963
+ new Field {
1964
+ name = "lastName"
1965
+ label = "address.lastName.label"
1966
+ errorKey = "address.lastName.error"
1967
+ placeholder = "address.lastName.placeholder"
1968
+ required = true
1969
+ autoCompleteName = "family-name"
1970
+ caption = "address.lastName.caption"
1971
+ group = "address"
1972
+ regPattern = "^[\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u2019a-zA-Z\\.\\'\\-\\s]{1,}$"
1973
+ maxLength = 33
1974
+ },
1975
+ new Field {
1976
+ name = "address1"
1977
+ label = "address.address1.label"
1978
+ errorKey = "address.address1.error"
1979
+ placeholder = "address.address1.placeholder"
1980
+ required = true
1981
+ regPattern = "^[\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u20190-9a-zA-Z\\u002E\\u003A\\u0023\\u0027\\u002D\\u002F\\u005C\\u007C\\u0022\\u00AB\\u00BB\\u0028\\u0029\\u005F\\u0060\\u003B\\u007E\\u002C\\s]{1,}$"
1982
+ autoCompleteName = "street-address address-line1"
1983
+ caption = "address.address1.caption"
1984
+ group = "address"
1985
+ noAutoCorrect = true
1986
+ minLength = 2
1987
+ maxLength = 70
1988
+ },
1989
+ new Field {
1990
+ name = "address2"
1991
+ label = "address.address2.label"
1992
+ errorKey = "address.address2.error"
1993
+ placeholder = "address.address2.placeholder"
1994
+ required = false
1995
+ autoCompleteName = "street-address address-line2"
1996
+ caption = "address.address2.caption"
1997
+ group = "address"
1998
+ regPattern = "^[\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u20190-9a-zA-Z\\u002E\\u003A\\u0023\\u0027\\u002D\\u002F\\u005C\\u007C\\u0022\\u00AB\\u00BB\\u0028\\u0029\\u005F\\u0060\\u003B\\u007E\\u002C\\s]{1,}$"
1999
+ noAutoCorrect = true
2000
+ maxLength = 70
2001
+ },
2002
+ new Field {
2003
+ name = "city"
2004
+ label = "address.city.label"
2005
+ errorKey = "address.city.error"
2006
+ placeholder = "address.city.placeholder"
2007
+ required = true
2008
+ regPattern = "^(?:([\\u00C0-\\u1FFF\\u2C00-\\uD7FF\\u2019a-zA-Z\\,\\.\\'\\-\\s])(?!\\1{2})){2,}$"
2009
+ autoCompleteName = "address-level2"
2010
+ caption = "address.city.caption"
2011
+ group = "address"
2012
+ noAutoCorrect = true
2013
+ minLength = 3
2014
+ maxLength = 33
2015
+ },
2016
+ new Field {
2017
+ name = "stateCode"
2018
+ label = "address.statecode.label"
2019
+ errorKey = "address.statecode.error"
2020
+ placeholder = "address.statecode.placeholder"
2021
+ required = true
2022
+ autoCompleteName = "state-code"
2023
+ caption = "address.statecode.caption"
2024
+ group = "address"
2025
+ type = "select"
2026
+ options = Map(
2027
+ "AA", "AA Military",
2028
+ "AE", "AE Military",
2029
+ "AP", "AP Military",
2030
+ "AL", "Alabama",
2031
+ "AK", "Alaska",
2032
+ "AZ", "Arizona",
2033
+ "AR", "Arkansas",
2034
+ "CA", "California",
2035
+ "CO", "Colorado",
2036
+ "CT", "Connecticut",
2037
+ "DE", "Delaware",
2038
+ "DC", "District Of Columbia",
2039
+ "FL", "Florida",
2040
+ "GA", "Georgia",
2041
+ "HI", "Hawaii",
2042
+ "ID", "Idaho",
2043
+ "IL", "Illinois",
2044
+ "IN", "Indiana",
2045
+ "IA", "Iowa",
2046
+ "KS", "Kansas",
2047
+ "KY", "Kentucky",
2048
+ "LA", "Louisiana",
2049
+ "ME", "Maine",
2050
+ "MD", "Maryland",
2051
+ "MA", "Massachusetts",
2052
+ "MI", "Michigan",
2053
+ "MN", "Minnesota",
2054
+ "MS", "Mississippi",
2055
+ "MO", "Missouri",
2056
+ "MT", "Montana",
2057
+ "NE", "Nebraska",
2058
+ "NV", "Nevada",
2059
+ "NH", "New Hampshire",
2060
+ "NJ", "New Jersey",
2061
+ "NM", "New Mexico",
2062
+ "NY", "New York",
2063
+ "NC", "North Carolina",
2064
+ "ND", "North Dakota",
2065
+ "OH", "Ohio",
2066
+ "OK", "Oklahoma",
2067
+ "OR", "Oregon",
2068
+ "PA", "Pennsylvania",
2069
+ "RI", "Rhode Island",
2070
+ "SC", "South Carolina",
2071
+ "SD", "South Dakota",
2072
+ "TN", "Tennessee",
2073
+ "TX", "Texas",
2074
+ "UT", "Utah",
2075
+ "VT", "Vermont",
2076
+ "VA", "Virginia",
2077
+ "WA", "Washington",
2078
+ "WV", "West Virginia",
2079
+ "WI", "Wisconsin",
2080
+ "WY", "Wyoming"
2081
+ )
2082
+ },
2083
+ new Field {
2084
+ name = "zipCode"
2085
+ label = "address.zipCode.label"
2086
+ errorKey = "address.zipCode.error"
2087
+ placeholder = "address.zipCode.placeholder"
2088
+ required = true
2089
+ regPattern = "(^\\d{5}$)|(^\\d{5}-\\d{4}$)"
2090
+ autoCompleteName = "address-zipCode"
2091
+ caption = "address.zipCode.caption"
2092
+ group = "address"
2093
+ minLength = 5
2094
+ maxLength = 10
2095
+ },
2096
+ new Field {
2097
+ name = "phoneNumber"
2098
+ type = "tel"
2099
+ label = "address.phone.label"
2100
+ errorKey = "address.phone.error"
2101
+ placeholder = "address.phone.placeholder"
2102
+ required = false
2103
+ regPattern = "^((\\+?|00?)1\\s?)?[\\s\\-]?((\\([0-9]{3}\\))|[0-9]{3})[\\s\\-]?[\\0-9]{3}[\\s\\-]?[0-9]{4}$"
2104
+ autoCompleteName = "home tel"
2105
+ caption = "address.phone.caption"
2106
+ group = "contact"
2107
+ minLength = 7
2108
+ maxLength = 25
2109
+ }
2110
+ )
2111
+
2112
+ billableCountries = List("US", "CA")
2113
+ }
2114
+ }