Source: app/data/enum/FieldNames/onlineRegistrationFields.js

/**
 * This file contains all the names of the fields for online registration
 * as they are defined in the backend API.
 *
 * @module
 */

/*
 * Address fields are already defined separately
 * todo: this export style currently does not work
 */
// export * from '../../addressFields';

/**
 * string invite id (optional, currently not being used)
 * @type {string}
 */
export const INVITE_ID = 'inviteId';
/**
 * string username
 * @type {string}
 */
export const USER_NAME = 'userName';
/**
 * string first name
 * @type {string}
 */
export const FIRST_NAME = 'firstName';
/**
 * string last name
 * @type {string}
 */
export const LAST_NAME = 'lastName';
/**
 * number gender (0 = Male, 1 = Female)
 * @type {string}
 */
export const GENDER = 'gender';
/**
 * string email address
 * @type {string}
 */
export const EMAIL_ADDRESS = 'email';
/**
 * number terms of service version
 * @type {string}
 */
export const TOS_VERSION = 'termsOfServiceVersion';
/**
 * string password
 * @type {string}
 */
export const PASSWORD = 'password';
/**
 * string date of birth. Format: YYYY-MM-DDT00:00:00Z
 * (timezone is always T00:00:00Z because we only care about the date)
 * @type {string}
 */
export const DATE_OF_BIRTH = 'dateOfBirth';
/**
 * number height (currently always as Imperial)
 * @type {string}
 */
export const HEIGHT = 'height';
/**
 * number initial weight (currently always passed as Imperial)
 * @type {string}
 */
export const INITIAL_WEIGHT = 'initialWeight';
/**
 * number weight unit preference (0 = Imperial, 1 = Metric)
 * @type {string}
 */
export const WEIGHT_UNIT = 'weightUnit';
/**
 * number height unit preference (0 = Imperial, 1 = Metric)
 * @type {string}
 */
export const HEIGHT_UNIT = 'heightUnit';
/**
 * string phone number
 * @type {string}
 */
export const PHONE_NUMBER = 'phoneNumber';

/* Values below are part of the form but NOT included in the API call */

/**
 * string email address confirm
 * @type {string}
 */
export const CONFIRM_EMAIL_ADDRESS = 'emailConfirm';

/**
 * string email inside breastfeeding warning block
 * @type {string}
 */
export const BABY_REMINDER_EMAIL_ADDRESS = 'babyReminderEmailAddress';

/**
 * string password confirm
 * @type {string}
 */
export const CONFIRM_PASSWORD = 'passwordConfirm';

/**
 * String indicating if the user has medical conditions "0"/"1"
 * @type {string}
 */
export const HAS_MEDICAL_CONDITIONS = 'medicalConditions';

/**
 * String indicating if the user is pregnant "0"/"1"
 * @type {string}
 */
export const IS_PREGNANT = 'isPregnant';

/**
 * String indicating if the user is breastfeeding "0"/"1"
 * @type {string}
 */
export const IS_BREASTFEEDING = 'isBreastfeeding';

/**
 * string date of birth of baby (only when breastfeeding). Format: YYYY-MM-DDT00:00:00Z
 * (timezone is always T00:00:00Z because we only care about the date)
 * @type {string}
 */
export const BABY_DATE_OF_BIRTH = 'babyDateOfBirth';

/* Values below are currently not included in the API but will be in the future */
/**
 * string security question
 * @type {string}
 */
export const SECURITY_QUESTION = 'securityQuestionId';

/**
 * string security answer
 * @type {string}
 */
export const SECURITY_ANSWER = 'securityQuestionAnswer';

/**
 * Form section containing an object with all address fields.
 * Will be flattened before API call is made.
 * @type {string}
 */
export const BILLING_ADDRESS = 'billingAddress';

/**
 * Voucher code
 * @type {string}
 */
export const VOUCHER_CODE = 'voucherCode';

/**
 * Group search post code
 * @type {string}
 */
export const GROUP_SEARCH_POST_CODE = 'groupSearchPostcode';

/**
 * Region code
 * @type {string}
 */
export const REGION_CODE = 'region';