syntax = "proto3";

package poa_result_proto;

enum DocumentType {
    UNSPECIFIED_DOCUMENT_TYPE = 0;
    PAY_SLIP = 1;
    UTILITY_BILL = 2;
    FINANCIAL_DOCUMENT = 3;
    RECEIPT = 4;
    INVOICE = 5;
    BANK_DOCUMENT = 6;
    TAX_CLEARANCE_CERTIFICATE = 7;
    HOUSEHOLD_REGISTER = 8;
    CERTIFICATE_OF_RESIDENCE = 9;
    DLDV = 10;
    OTHER = 99;
}

message Document {
  string content_type = 1;
  bytes data = 2;
}

enum ResultStatus {
    FAILED = 0;
    PASSED = 1;
    NOT_IMPLEMENTED = 99;
}

message DocumentInfo {
  string first_name = 1;
  string last_name = 2;
  string postal_address = 3;
  string document_emission_date = 4;
}

message Details {
  ResultStatus status = 1;
  DocumentType document_type = 2;
}

message Message {
    oneof part {
        Details details = 1;
        Document document = 2;
        DocumentInfo document_info = 3;
    }
}