#pragma once

#include <string>

namespace maps {

namespace category {
const std::string AD = "ad";
const std::string AD_SUBST = "ad_subst";
const std::string AD_CNT = "ad_cnt";
const std::string AD_EL = "ad_el";
const std::string AD_FC = "ad_fc";
const std::string AD_SUBST_FC = "ad_subst_fc";
const std::string AD_JC = "ad_jc";
const std::string AD_NM = "ad_nm";
const std::string BOUND_JC = "bound_jc";
const std::string COND = "cond";
const std::string COND_DT = "cond_dt";
const std::string RD = "rd";
const std::string RD_EL = "rd_el";
const std::string RD_JC = "rd_jc";
const std::string RD_NM = "rd_nm";
const std::string ADDR = "addr";
const std::string ADDR_NM = "addr_nm";
const std::string ADDR_ARR = "addr_arr";
const std::string ADDR_RANGE = "addr_range";
const std::string BLD = "bld";
const std::string FT = "ft";
const std::string FT_FC_EL = "ft_fc_el";
const std::string FT_LN_EL = "ft_ln_el";
const std::string FT_FC = "ft_fc";
const std::string FT_FC_JC = "ft_fc_jc";
const std::string FT_LN_JC = "ft_ln_jc";
const std::string FT_NM = "ft_nm";
const std::string META = "meta";
const std::string META_PARAM = "meta_param";
const std::string MODEL3D = "model3d";
const std::string SYS = "sys";
const std::string ZIPCODE = "zipcode";
} // namepsace category

namespace role {
const std::string CENTER = "center";
const std::string CHILD = "child";
const std::string AD_SUBST_CHILD = "ad_subst_child";
const std::string SUBSTITUTION = "substitution";
const std::string ALTERNATIVE = "alternative";
const std::string APPLIED_TO = "applied_to";
const std::string END = "end";
const std::string EXCLUSION = "exclusion";
const std::string FROM = "from";
const std::string OFFICIAL = "official";
const std::string RENDER_LABEL = "render_label";
const std::string ADDRESS_LABEL = "address_label";
const std::string SHORT = "short";
const std::string SYNONYM = "synonym";
const std::string OLD = "old";
const std::string PART = "part";
const std::string START = "start";
const std::string TO = "to";
const std::string VIA = "via";
const std::string ASSIGNED = "assigned";
const std::string ASSIGNED_TERMINAL = "assigned_terminal";
const std::string ASSOCIATED_WITH = "associated_with";
const std::string ADDR_ASSOCIATED_WITH = "addr_associated_with";
const std::string ADDR_ASSOCIATED_WITH_ZIPCODE = "addr_associated_with_zipcode";
} // namespace role

namespace jkey {
const std::string ATTRIBUTES = "attributes";
const std::string GEOMETRY = "geometry";
const std::string TYPE = "type";
const std::string COORDINATES = "coordinates";
const std::string POLYGON = "Polygon";
const std::string OBJECTS = "objects";
const std::string RELATIONS = "relations";
const std::string MASTER = "master";
const std::string SLAVE = "slave";

const std::string EXTENDS = "extends";
const std::string CATEGORY = "category";
const std::string FILES = "files";
const std::string PAGE_INDEX = "page_index";
const std::string PAGE_COUNT = "page_count";
const std::string OBJECTS_COUNT = "objects_count";

const std::string DBHOST = "dbhost";
const std::string DBNAME = "dbname";
const std::string SCHEMA = "schema";
const std::string DESCRIPTION = "description";
} // namespace jkey

namespace attribute {
const std::string MASTER = "master";
const std::string SLAVE = "slave";
const std::string ROLE = "role";
} // namespace attribute

namespace ns {
const std::string CAT = "cat";
const std::string REL = "rel";
} // namespace ns

const std::string ID = "id";
const std::string STR_NULL = "NULL";
const std::string STR_EMPTY_ARRAY = "{}";
const std::string STR_TRUE = "1";

const std::string ARRAY_DELIM = "|";
const std::string SHAPE = "shape";

} // namespace maps
