<?php

namespace Planaday\Entities\Booking\Form\Students;

use Planaday\Config\OptionGroupEnum;
use Planaday\Entities\Booking\Form\BookingFormSettingsEnum;

enum StudentSettingsEnum: string implements OptionGroupEnum {
	case AdditionalRemark = "additionalRemark";
	case AllowCode95Booking = "allowCode95Booking";
	case Code95BookingDescription = "code95BookingDescription";
	case AllowSOOBBooking = "allowSOOBBooking";
	case SOOBBookingDescription = "SOOBBookingDescription";
	case CostCenterCodeName = "costCenterCodeName";

	case AskGender = "askGender";
	case GenderRequired = "genderRequired";

	case AskInitials = "askInitials";
	case InitialsRequired = "initialsRequired";

	case AskAddress = "askAdress";
	case AddressRequired = "addressRequired";

	case AskMaidenName = "askMaidenName";
	case MaidenNameRequired = "maidenNameRequired";

	case AskCallingName = "askCallingName";
	case CallingNameRequired = "callingNameRequired";

	case AskPhoneNumber = "askPhoneNumber";
	case PhoneNumberRequired = "phoneNumberRequired";

	case AskDateOfBirth = "askDateOfBirth";
	case DateOfBirthRequired = "dateOfBirthRequired";

	case AskPlaceOfBirth = "askPlaceOfBirth";
	case PlaceOfBirthRequired = "placeOfBirthRequired";

	case AskCompanyPosition = "askCompanyPosition";
	case CompanyPositionRequired = "companyPositionRequired";

	case AskEmployeeNumber = "askEmployeeNumber";
	case EmployeeNumberRequired = "employeeNumberRequired";

	case AskCostCenterCode = "askCostCenterCode";
	case CostCenterCodeRequired = "costCenterCodeRequired";

	case AskInternalReference = "askInternalReference";
	case InternalReferenceRequired = "internalReferenceRequired";

	public static function getClassName(): string {
		return StudentSettings::class;
	}

	public static function getParentEnum(): ?OptionGroupEnum {
		return BookingFormSettingsEnum::Students;
	}
}