Identity Document Service Events
Document Types
- TSA
- Travel documents
- Passport
- License
- Real ID
- Passport Card
Event categories
- Document collected
- Document added to trip
- Document updated/replaced (not cascading)
- Document deleted (cascading)
// data sent for wallet event and trip event
type TSAInformationAddedEvent = {
customerId: string;
firstName: string;
middleName?: string;
lastName: string;
suffix?: string;
dateOfBirth: Date;
gender: Gender;
};
type TSAInformation = {
customerId: string;
firstName: string;
middleName?: string;
lastName: string;
suffix?: string;
dateOfBirth: Date;
gender: Gender;
};
type TSAInformationUpdatedEvent = {
oldDocument: TSAInformation;
newDocument: TSAInformation;
}
NOTE: also handles "replace"
type TSAInformationDeletedEvent = {
tsaInformationId: string;
tripIds: string[];
}
NOTE: only "delete", not "replace"
type Passport = {
customerId!: string;
isDeleted!: boolean;
kind!: TravelDocument;
passportNumber!: string;
countryOfIssue!: string;
expirationDate!: Date;
issueDate!: Date;
}
type License = {
customerId!: string;
isDeleted!: boolean;
kind!: TravelDocument;
licenseNumber!: string;
stateOfIssue!: string;
countryOfIssue!: string;
expirationDate!: Date;
issueDate!: Date;
}
type DocumentAddedToTripEvent = {
document:
| Passport
| License
| RealID
| PassportCard;
tripId: string;
}
type PassportCard = {
customerId!: string;
isDeleted!: boolean;
kind!: TravelDocument;
passportNumber!: string;
countryOfIssue!: string;
expirationDate!: Date;
issueDate!: Date;
}
type RealID = {
customerId!: string;
isDeleted!: boolean;
kind!: TravelDocument;
realIdNumber!: string;
stateOfIssue!: string;
expirationDate!: Date;
issueDate!: Date;
}
type DocumentUpdatedOnTripEvent = {
document:
| Passport
| License
| RealID
| PassportCard;
tripId: string;
}
type DocumentDeletedOnTripEvent = {
travelDocumentId: string;
tripIds: string[];
}
deck
By Alex Hughes
deck
- 52