Proca.Contact.EciDataRules (proca v3.4.1)
Rules generated from SQL released by EC (see utils/ECI).
Provides schema
macro to generate EciData embedded schema
Link to this section Summary
Link to this section Functions
Link to this function
age_limit(country)
Link to this function
countries()
Link to this function
document_number_format(country, document_type)
Link to this function
document_number_formats(rls \\ %{"AT" => %{"id.card" => %{"pattern" => "[0-9]{7}|[0-9]{8}", "skippable" => true}, "passport" => %{"pattern_i" => "[a-z][0-9]{7,8}", "skippable" => true}}, "BE" => %{"national.id.number" => %{"pattern" => "([0-9][0-9])(0?0[1-9]|1[0-2])([0-2]?[0-2][0-9]|3[0-1])[0-9]{3}[0-9]{2}", "skippable" => true}}, "BG" => %{"personal.number" => %{"pattern" => "[0-9]{10}", "skippable" => true}}, "CY" => %{"id.card" => %{"pattern" => "[0-9]{1,10}", "skippable" => true}, "passport" => %{"pattern_i" => "([bcej][0-9]{6})|(k[0-9]{8})|([ds]p[0-9]{7})", "skippable" => true}}, "CZ" => %{"id.card" => %{"pattern" => "([0-9]{9})|([0-9]{6}[a-z]{2}[0-9]{2})|([0-9]{6}[a-z]{2})|([a-z]{2}[0-9]{6})", "skippable" => true}, "passport" => %{"pattern" => "[0-9]{7,8}", "skippable" => true}}, "DE" => %{"postal.code" => %{"pattern" => "[0-9]{5}", "skippable" => true}}, "DK" => %{"postal.code" => %{"pattern" => "[0-9]{4}", "skippable" => true}}, "EE" => %{"personal.number" => %{"pattern" => "[0-9]{11}", "skippable" => true}}, "ES" => %{"id.card" => %{"pattern_i" => "[0-9]{8}[a-z]", "skippable" => true}, "passport" => %{"pattern_i" => "[a-z0-9]*", "skippable" => true}}, "FI" => %{"postal.code" => %{"pattern" => "[0-9]{5}", "skippable" => true}}, "FR" => %{"postal.code" => %{"pattern" => "[0-9]{5}", "skippable" => true}}, "GR" => %{"postal.code" => %{"pattern" => "[0-9]{5}", "skippable" => true}}, "HR" => %{"personal.id" => %{"pattern" => "[0-9]{11}", "skippable" => true}}, "HU" => %{"id.card" => %{"pattern_i" => "([0-9]{6}[a-z]{2})|([a-z]{2}[a-z][0-9]{6})|([a-z]{2}[a-z]{2}[0-9]{6})|([a-z]{2}[a-z]{3}[0-9]{6})|([a-z]{2}[0-9]{6})", "skippable" => true}, "passport" => %{"pattern_i" => "([a-z]{2}[0-9]{6})|([a-z]{2}[0-9]{7})", "skippable" => true}, "personal.number" => %{"pattern" => "[0-9][0-9]{6}[0-9]{4}", "skippable" => true}}, "IE" => %{"postal.code" => %{"skippable" => true}}, "IT" => %{"id.card" => %{"pattern_i" => "([a-z]{2}[0-9]{6,8})|([0-9]{7}[a-z]{2})|([a-z]{2}[0-9]{5}[a-z]{2})", "skippable" => true}, "issuing.authority" => %{"empty" => false, "skippable" => true}, "passport" => %{"pattern_i" => "([a-z]{2}[0-9]{7})|([a-z][0-9]{6})|([0-9]{6}[a-z])", "skippable" => true}}, "LT" => %{"personal.number" => %{"pattern" => "[0-9]{11}", "skippable" => true}}, "LU" => %{"postal.code" => %{"pattern" => "[0-9]{4}", "skippable" => true}}, "LV" => %{"personal.id" => %{"pattern" => "[0-9]{6}[0-9]{5}", "skippable" => true}}, "MT" => %{"id.card" => %{"pattern_i" => "[a-z0-9]*", "skippable" => true}}, "NL" => %{"postal.code" => %{"pattern_i" => "[1-9][0-9]{3}( ?[a-z]{2})?", "skippable" => true}}, "PL" => %{"national.id.number" => %{"pattern" => "[0-9]{11}", "skippable" => true}}, "PT" => %{"citizens.card" => %{"pattern_i" => "[0-9]{9}[a-z]{2}[0-9]", "skippable" => true}, "id.card" => %{"pattern" => "[0-9]{1,8}", "skippable" => true}, "passport" => %{"pattern_i" => "([a-z]{1}[0-9]{6})|([a-z]{2}[0-9]{6})", "skippable" => true}}, "RO" => %{"id.card" => %{"pattern_i" => "[a-z]{2}[0-9]{6}", "skippable" => true}, "passport" => %{"pattern_i" => "[a-z0-9]*", "skippable" => true}, "personal.id" => %{"pattern" => "[0-9]{13}", "skippable" => true}}, "SE" => %{"personal.number" => %{"pattern" => "([0-9]{8}-[0-9]{4}|[0-9]{6}-[0-9]{4}|[0-9]{12}|[0-9]{10})", "skippable" => true}}, "SI" => %{"personal.number" => %{"pattern" => "[0-9]{13}", "skippable" => true}}, "SK" => %{"postal.code" => %{"pattern" => "[089][0-9]{4}", "skippable" => true}}, "common" => %{"city" => %{"empty" => false, "skippable" => false}, "country" => %{"empty" => false, "skippable" => false}, "date.of.birth" => %{"age" => true, "empty" => false, "skippable" => false}, "family.names" => %{"empty" => false, "skippable" => false}, "full.first.names" => %{"empty" => false, "skippable" => false}, "postal.code" => %{"empty" => false, "skippable" => true}, "street" => %{"empty" => false, "skippable" => false}, "street.number" => %{"empty" => false, "skippable" => false}}})
Link to this function
fields(rls)
Link to this function
our_field(fld)
Link to this function
postcode_format(country)
Link to this function
postcode_formats(rls \\ %{"AT" => %{"id.card" => %{"pattern" => "[0-9]{7}|[0-9]{8}", "skippable" => true}, "passport" => %{"pattern_i" => "[a-z][0-9]{7,8}", "skippable" => true}}, "BE" => %{"national.id.number" => %{"pattern" => "([0-9][0-9])(0?0[1-9]|1[0-2])([0-2]?[0-2][0-9]|3[0-1])[0-9]{3}[0-9]{2}", "skippable" => true}}, "BG" => %{"personal.number" => %{"pattern" => "[0-9]{10}", "skippable" => true}}, "CY" => %{"id.card" => %{"pattern" => "[0-9]{1,10}", "skippable" => true}, "passport" => %{"pattern_i" => "([bcej][0-9]{6})|(k[0-9]{8})|([ds]p[0-9]{7})", "skippable" => true}}, "CZ" => %{"id.card" => %{"pattern" => "([0-9]{9})|([0-9]{6}[a-z]{2}[0-9]{2})|([0-9]{6}[a-z]{2})|([a-z]{2}[0-9]{6})", "skippable" => true}, "passport" => %{"pattern" => "[0-9]{7,8}", "skippable" => true}}, "DE" => %{"postal.code" => %{"pattern" => "[0-9]{5}", "skippable" => true}}, "DK" => %{"postal.code" => %{"pattern" => "[0-9]{4}", "skippable" => true}}, "EE" => %{"personal.number" => %{"pattern" => "[0-9]{11}", "skippable" => true}}, "ES" => %{"id.card" => %{"pattern_i" => "[0-9]{8}[a-z]", "skippable" => true}, "passport" => %{"pattern_i" => "[a-z0-9]*", "skippable" => true}}, "FI" => %{"postal.code" => %{"pattern" => "[0-9]{5}", "skippable" => true}}, "FR" => %{"postal.code" => %{"pattern" => "[0-9]{5}", "skippable" => true}}, "GR" => %{"postal.code" => %{"pattern" => "[0-9]{5}", "skippable" => true}}, "HR" => %{"personal.id" => %{"pattern" => "[0-9]{11}", "skippable" => true}}, "HU" => %{"id.card" => %{"pattern_i" => "([0-9]{6}[a-z]{2})|([a-z]{2}[a-z][0-9]{6})|([a-z]{2}[a-z]{2}[0-9]{6})|([a-z]{2}[a-z]{3}[0-9]{6})|([a-z]{2}[0-9]{6})", "skippable" => true}, "passport" => %{"pattern_i" => "([a-z]{2}[0-9]{6})|([a-z]{2}[0-9]{7})", "skippable" => true}, "personal.number" => %{"pattern" => "[0-9][0-9]{6}[0-9]{4}", "skippable" => true}}, "IE" => %{"postal.code" => %{"skippable" => true}}, "IT" => %{"id.card" => %{"pattern_i" => "([a-z]{2}[0-9]{6,8})|([0-9]{7}[a-z]{2})|([a-z]{2}[0-9]{5}[a-z]{2})", "skippable" => true}, "issuing.authority" => %{"empty" => false, "skippable" => true}, "passport" => %{"pattern_i" => "([a-z]{2}[0-9]{7})|([a-z][0-9]{6})|([0-9]{6}[a-z])", "skippable" => true}}, "LT" => %{"personal.number" => %{"pattern" => "[0-9]{11}", "skippable" => true}}, "LU" => %{"postal.code" => %{"pattern" => "[0-9]{4}", "skippable" => true}}, "LV" => %{"personal.id" => %{"pattern" => "[0-9]{6}[0-9]{5}", "skippable" => true}}, "MT" => %{"id.card" => %{"pattern_i" => "[a-z0-9]*", "skippable" => true}}, "NL" => %{"postal.code" => %{"pattern_i" => "[1-9][0-9]{3}( ?[a-z]{2})?", "skippable" => true}}, "PL" => %{"national.id.number" => %{"pattern" => "[0-9]{11}", "skippable" => true}}, "PT" => %{"citizens.card" => %{"pattern_i" => "[0-9]{9}[a-z]{2}[0-9]", "skippable" => true}, "id.card" => %{"pattern" => "[0-9]{1,8}", "skippable" => true}, "passport" => %{"pattern_i" => "([a-z]{1}[0-9]{6})|([a-z]{2}[0-9]{6})", "skippable" => true}}, "RO" => %{"id.card" => %{"pattern_i" => "[a-z]{2}[0-9]{6}", "skippable" => true}, "passport" => %{"pattern_i" => "[a-z0-9]*", "skippable" => true}, "personal.id" => %{"pattern" => "[0-9]{13}", "skippable" => true}}, "SE" => %{"personal.number" => %{"pattern" => "([0-9]{8}-[0-9]{4}|[0-9]{6}-[0-9]{4}|[0-9]{12}|[0-9]{10})", "skippable" => true}}, "SI" => %{"personal.number" => %{"pattern" => "[0-9]{13}", "skippable" => true}}, "SK" => %{"postal.code" => %{"pattern" => "[089][0-9]{4}", "skippable" => true}}, "common" => %{"city" => %{"empty" => false, "skippable" => false}, "country" => %{"empty" => false, "skippable" => false}, "date.of.birth" => %{"age" => true, "empty" => false, "skippable" => false}, "family.names" => %{"empty" => false, "skippable" => false}, "full.first.names" => %{"empty" => false, "skippable" => false}, "postal.code" => %{"empty" => false, "skippable" => true}, "street" => %{"empty" => false, "skippable" => false}, "street.number" => %{"empty" => false, "skippable" => false}}})
Link to this function
required(country)
Link to this function
required_document_types(country)
Link to this function