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