initalizing the mobile apps

This commit is contained in:
Achintha Isuru
2026-01-21 15:42:51 -05:00
parent fbadd976cf
commit 4a67b2f541
578 changed files with 28462 additions and 2 deletions

View File

@@ -0,0 +1,20 @@
import 'package:equatable/equatable.dart';
/// Represents accessibility requirements or features.
///
/// Can apply to Staff (needs) or Events (provision).
class Accessibility extends Equatable {
/// Unique identifier.
final String id;
/// Description (e.g. "Wheelchair Access").
final String name;
const Accessibility({
required this.id,
required this.name,
});
@override
List<Object?> get props => [id, name];
}

View File

@@ -0,0 +1,34 @@
import 'package:equatable/equatable.dart';
/// Represents bank account details for payroll.
class BankAccount extends Equatable {
/// Unique identifier.
final String id;
/// The [User] owning the account.
final String userId;
/// Name of the bank.
final String bankName;
/// Account number.
final String accountNumber;
/// Name on the account.
final String accountName;
/// Sort code (if applicable).
final String? sortCode;
const BankAccount({
required this.id,
required this.userId,
required this.bankName,
required this.accountNumber,
required this.accountName,
this.sortCode,
});
@override
List<Object?> get props => [id, userId, bankName, accountNumber, accountName, sortCode];
}

View File

@@ -0,0 +1,24 @@
import 'package:equatable/equatable.dart';
/// Represents an emergency contact for a user.
///
/// Critical for staff safety during shifts.
class EmergencyContact extends Equatable {
/// Full name of the contact.
final String name;
/// Relationship to the user (e.g. "Spouse", "Parent").
final String relationship;
/// Phone number.
final String phone;
const EmergencyContact({
required this.name,
required this.relationship,
required this.phone,
});
@override
List<Object?> get props => [name, relationship, phone];
}

View File

@@ -0,0 +1,32 @@
import 'package:equatable/equatable.dart';
/// Represents general availability schedule for a [Staff] member.
///
/// Defines recurring availability (e.g., "Mondays 9-5").
class Schedule extends Equatable {
/// Unique identifier.
final String id;
/// The [Staff] member.
final String staffId;
/// Day of the week (1 = Monday, 7 = Sunday).
final int dayOfWeek;
/// Start time of availability.
final DateTime startTime;
/// End time of availability.
final DateTime endTime;
const Schedule({
required this.id,
required this.staffId,
required this.dayOfWeek,
required this.startTime,
required this.endTime,
});
@override
List<Object?> get props => [id, staffId, dayOfWeek, startTime, endTime];
}