package peserta import "api-service/internal/models" // === PESERTA MODELS === // PesertaRequest represents peserta lookup request type PesertaRequest struct { models.BaseRequest NoKartu string `json:"nokartu" validate:"required,min=13,max=13"` NIK string `json:"nik,omitempty" validate:"omitempty,min=16,max=16"` TanggalSEP string `json:"tglsep" validate:"required" example:"2024-01-15"` NoTelepon string `json:"notelp,omitempty" validate:"omitempty,max=15"` } // PesertaData represents peserta information from BPJS type PesertaData struct { NoKartu string `json:"noKartu"` NIK string `json:"nik"` Nama string `json:"nama"` Pisa string `json:"pisa"` Sex string `json:"sex"` TanggalLahir string `json:"tglLahir"` TglCetakKartu string `json:"tglCetakKartu"` TglTAT string `json:"tglTAT"` TglTMT string `json:"tglTMT"` StatusPeserta struct { Kode string `json:"kode"` Keterangan string `json:"keterangan"` } `json:"statusPeserta"` ProvUmum struct { KdProvider string `json:"kdProvider"` NmProvider string `json:"nmProvider"` } `json:"provUmum"` JenisPeserta struct { Kode string `json:"kode"` Keterangan string `json:"keterangan"` } `json:"jenisPeserta"` HakKelas struct { Kode string `json:"kode"` Keterangan string `json:"keterangan"` } `json:"hakKelas"` Umur struct { UmurSekarang string `json:"umurSekarang"` UmurSaatPelayanan string `json:"umurSaatPelayanan"` } `json:"umur"` Informasi struct { Dinsos interface{} `json:"dinsos"` ProlanisPRB string `json:"prolanisPRB"` NoSKTM interface{} `json:"noSKTM"` ESEP interface{} `json:"eSEP"` } `json:"informasi"` Cob struct { NoAsuransi interface{} `json:"noAsuransi"` NmAsuransi interface{} `json:"nmAsuransi"` TglTMT interface{} `json:"tglTMT"` TglTAT interface{} `json:"tglTAT"` } `json:"cob"` MR struct { NoMR string `json:"noMR"` NoTelepon string `json:"noTelepon"` } `json:"mr,omitempty"` RawResponse string `json:"raw_response,omitempty"` } // PesertaResponse represents peserta API response type PesertaResponse struct { models.BaseResponse Data *PesertaData `json:"data,omitempty"` MetaData interface{} `json:"metaData,omitempty"` }