package segment

import . "github.com/mrcrypt/go-fints/element"

type Verarbeitungsvorbereitung struct {
	Segment
	Segmentkopf        *Segmentkopf
	BPDVersion         *Numeric
	UPDVersion         *Numeric
	Dialogsprache      *Code
	Produktbezeichnung *Alphanumeric
	Produktversion     *Alphanumeric
}

func NewVerarbeitungsvorbereitung(segmentNummer int) *Verarbeitungsvorbereitung {
	v := &Verarbeitungsvorbereitung{
		Segmentkopf:        NewSegmentkopf("HKVVB", segmentNummer, 2, 0),
		BPDVersion:         NewNumeric(0, 3),
		UPDVersion:         NewNumeric(0, 3),
		Dialogsprache:      NewCode("1", 3, []string{"0", "1", "2", "3", "4"}),
		Produktbezeichnung: NewAlphanumeric("go-fints library", 25),
		Produktversion:     NewAlphanumeric("0.0.1", 5),
	}
	v.list = v
	return v
}
