export type PersonPhotoResponse = {
  id: string;
  photoContent: string;
};

export type PersonDetailResponse = {
  id: string;
  firstName: string;
  lastName: string;
  nickName: string;
  displayName: string;
  identificationCode: string;
  birthday: string;
  sex: string;
  street: string;
  city: string;
  postcode: string;
  state: string;
  identificationCodeHasPermission: boolean;
  displayAddress: boolean;
  displayBirthday: boolean;
  displayFunction: boolean;
  displayMembership: boolean;
  displayOffer: boolean;
  displayQualification: boolean;
};

export type PersonOtherDetailResponse = {
  assurance: string;
  insuranceNumber: string;
  allergy: string;
  drugs: string;
  healthLimitation: string;
  note: string;
};

export type PersonContactAllResponse = {
  contactType: string;
  contactTypeId: string;
  value: string;
  displayValue: string;
};

export type FunctionAllPersonResponse = {
  unit: string;
  function: string;
};

export type QualificationAllResponse = {
  qualificationType: string;
};

export type OfferAllResponse = {
  offerType: string;
};

export type MembershipAllPersonResponse = {
  unit: string;
  unitId: string;
  membershipType: string;
  membershipTypeId: string;
};

export type UnitDetailResponse = {
  id: string;
  displayName: string;
  city: string;
  street: string;
  postcode: string;
  postalCity: string;
  postalStreet: string;
  postalPostcode: string;
  postalFirstLine: string;
  parentUnitId: string;
  regNumber: string;
};

export type UnitTreeAllResponse = {
  id: string;
  unit: string;
  registrationNumber: string;
};

export type UnitContactAllResponse = {
  contactType: string;
  contactTypeId: string;
  value: string;
  displayValue: string;
};

export type FunctionAllResponse = {
  id: string;
  person: string;
  functionType: string;
  functionTypeId: string;
};

export type MembershipAllResponse = {
  unit: string;
  category: string;
  person: string;
  personId: string;
};

export type UnitRegistrationAllResponse = {
  id: string;
  unit: string;
  year: string;
  displayName: string;
  isAccepted: boolean;
  isDelivered: boolean;
};

export type UnitRegistrationMembersUnit = {
  type: string;
  count: number;
};

export type UnitRegistrationMembersCategory = {
  displayName: string;
  category: string;
  type: string;
  row: string;
  count: number;
};

export type UnitRegistrationMembersResponse = {
  units: UnitRegistrationMembersUnit[];
  ages: UnitRegistrationMembersCategory[];
  restrictions: UnitRegistrationMembersCategory[];
};

export type AdvertisingDetailResponse = {
  unit: string;
  note: string;
};

export type AdvertisingCategoryAllResponse = {
  id: string;
  sex: string;
  meetingDate: string;
};

export type MeetingDateAllResponse = {
  id: string;
  displayName: string;
};

export type OccupationAllUnitResponse = {
  id: string;
  realtyId: string;
  realtyType: string;
};

export type RealtyAllResponse = {
  id: string;
  displayName: string;
};

export type MeetingDateDetailResponse = {
  weekDayId: string;
  weekDay: string;
  timeFrom: Date;
  timeTo: Date;
  periodicity: string;
  occupationId: string;
};

export type AdvertisingCategoryDetailResponse = {
  ageFrom: string;
  ageTo: string;
  sex: string;
  sexId: string;
  meetingDateId: string;
  note: string;
};

export type MembershipApplicationInsertResponse = {
  name: string;
  surname: string;
  email: string;
  isYounger: boolean;
  parentName: string;
  parentSurname: string;
};

export type OfferTypeAllResponse = {
  id: string;
  displayName: string;
};

export type PersonAllResponse = {
  id: string;
  displayName: string;
};

export type PersonAllCatalogResponse = {
  id: string;
  displayName: string;
};

export type UnitAllResponse = {
  id: string;
  displayName: string;
  number: string;
  type: string;
  place: string;
};

export type PersonAllEventCampMultiResponse = {
  id: string;
  displayName: string;
  category: string;
  isParticipant: boolean;
};

export type UnitAllCampResponse = {
  id: string;
  sortName: string;
};
