# customsubcategory=210=Basic
# customsubcategory=220=Immosolve
# customsubcategory=221=Immosolve API
# customsubcategory=230=Realty Request
# customsubcategory=231=Realty Request: Content
# customsubcategory=232=Realty Request: Mapping
# customsubcategory=233=Realty Request: Formvalidation
# customsubcategory=240=Search Request
# customsubcategory=241=Search Request: Content
# customsubcategory=242=Search Request: Mapping
# customsubcategory=243=Search Request: Formvalidation
plugin.tx_sgestateimmosolve_pi1 {
    view {
        # cat=sg.estate Extension: Immosolve/210/10; type=string; label=Path to template root (FE)
        templateRootPath = EXT:sg_estate_immosolve/Resources/Private/Templates/
        # cat=sg.estate Extension: Immosolve/210/20; type=string; label=Path to template partials (FE)
        partialRootPath = EXT:sg_estate_immosolve/Resources/Private/Partials/
        # cat=sg.estate Extension: Immosolve/210/30; type=string; label=Path to template layouts (FE)
        layoutRootPath = EXT:sg_estate_immosolve/Resources/Private/Layouts/
    }

    persistence {
        # cat=sg.estate Extension: Immosolve/210/40; type=string; label=Storage Pid (e.g. for Regions)
        storagePid =
    }

    settings {
        immosolve {
            # cat=sg.estate Extension: Immosolve/220/10; type=options[email,api]; label= Immosolve Service [Email, API]
            service = email
            # cat=sg.estate Extension: Immosolve/220/20; type=string; label=Immosolve Gruppen-ID
            gruppenid =
            # cat=sg.estate Extension: Immosolve/220/30; type=string; label=Immosolve E-Mail Adresse
            email =
            # cat=sg.estate Extension: Immosolve/220/40; type=string; label=Gesuchsanfrage Immosolve Gruppen-ID
            searchRequestGruppenid =
            # cat=sg.estate Extension: Immosolve/220/50; type=string; label=Gesuchsanfrage Immosolve E-Mail Adresse
            searchRequestEmail =
            # cat=sg.estate Extension: Immosolve/220/60; type=string; label=Error Email Sender Address
            errorEmailSender =
            # cat=sg.estate Extension: Immosolve/220/70; type=string; label=Error Email Address
            errorEmail =
            # cat=sg.estate Extension: Immosolve/220/80; type=string; label=Admin Email Sender Address
            adminEmailSender =
            # cat=sg.estate Extension: Immosolve/220/90; type=string; label=Admin Email Address
            adminEmail =
            # cat=sg.estate Extension: Immosolve/220/100; type=boolean; label=Send Admin Email ?
            sendAdminEmail = 0
            # cat=sg.estate Extension: Immosolve/220/110; type=int+; label=Warteschlagen-Elemente speichern in PID
            queuePid =

            api {
                # cat=sg.estate Extension: Immosolve/221/10; type=string; label=kodierte Id des Vermarktungskanales /  PresentationId (über Kundenbetreuer)
                presentationId =
                # cat=sg.estate Extension: Immosolve/221/20; type=string; label=kodierte Mandantennummer (über Kundenbetreuer)
                mandatorId =
                # cat=sg.estate Extension: Immosolve/221/30; type=string; label=API Consumer Key
                consumerKey =
                # cat=sg.estate Extension: Immosolve/221/40; type=string; label=API Consumer Secret
                consumerSecret =
                # cat=sg.estate Extension: Immosolve/221/50; type=string; label=API Token
                token =
                # cat=sg.estate Extension: Immosolve/221/60; type=string; label=API Token Secret
                tokenSecret =
                # cat=sg.estate Extension: Immosolve/221/70; type=string; label=API Server
                server =
                # cat=sg.estate Extension: Immosolve/221/80; type=string; label=ObjectIdentifier
                objectIdentifier = 2
                # cat=sg.estate Extension: Immosolve/221/90; type=string; label=Radius for Petition Inquiries (Only required if regions not set)
                radius =
                # cat=sg.estate Extension: Immosolve/221/91; type=string; label=Latitude for Petition Inquiries
                latitude =
                # cat=sg.estate Extension: Immosolve/221/92; type=string; label=Longitude for Petition Inquiries
                longitude =
            }
        }

        realtyRequest {
            content {
                privacy {
                    # cat=sg.estate Extension: Immosolve - Realty Request/231/10; type=string; label=Privacy checkbox label
                    label = I accept the privacy statement.
                    # cat=sg.estate Extension: Immosolve - Realty Request/231/20; type=string; label=Privacy checkbox link
                    link =
                    # cat=sg.estate Extension: Immosolve - Realty Request/231/30; type=string; label=Privacy checkbox link caption
                    linkCaption = Learn more
                }
            }

            mapping {
                salutation {
                    # cat=sg.estate Extension: Immosolve - Realty Request/232/10; type=string; label=Fieldname of salutation form field (API required)
                    fieldName = salutation
                    options {
                        # cat=sg.estate Extension: Immosolve - Realty Request/232/11; type=string; label=Salutation option for option 'mr'
                        mr = Herr
                        # cat=sg.estate Extension: Immosolve - Realty Request/232/12; type=string; label=Salutation option for option 'mrs'
                        mrs = Frau
                        # cat=sg.estate Extension: Immosolve - Realty Request/232/13; type=string; label=Salutation option for option 'married-couple'
                        married-couple = Eheleute
                        # cat=sg.estate Extension: Immosolve - Realty Request/232/14; type=string; label=Salutation option for option 'company'
                        company = Firma
                        # cat=sg.estate Extension: Immosolve - Realty Request/232/15; type=string; label=Salutation option for option 'none'
                        none = default
                    }
                }

                firstName {
                    # cat=sg.estate Extension: Immosolve - Realty Request/232/10; type=string; label=Fieldname of firstname form field (API required)
                    fieldName = firstname
                }

                lastName {
                    # cat=sg.estate Extension: Immosolve - Realty Request/232/30; type=string; label=Fieldname of lastname form field (API required)
                    fieldName = lastname
                }

                email {
                    # cat=sg.estate Extension: Immosolve - Realty Request/232/40; type=string; label=Fieldname of email form field (API required)
                    fieldName = email
                }

                immoObjectCode {
                    # cat=sg.estate Extension: Immosolve - Realty Request/232/50; type=string; label=Fieldname of immoObjectCode form field (API required)
                    fieldName = immosolve
                }
            }

            validation {
                salutation {
                    # cat=sg.estate Extension: Immosolve - Realty Request/233/10; type=boolean; label=Salutation required ?
                    required = 0
                }

                firstname {
                    # cat=sg.estate Extension: Immosolve - Realty Request/233/20; type=boolean; label=Firstname required ?
                    required = 0
                }

                lastname {
                    # cat=sg.estate Extension: Immosolve - Realty Request/233/30; type=boolean; label=lastname required ?
                    required = 0
                }

                street {
                    # cat=sg.estate Extension: Immosolve - Realty Request/233/40; type=boolean; label=street required ?
                    required = 0
                }

                zip {
                    # cat=sg.estate Extension: Immosolve - Realty Request/233/50; type=boolean; label=zip required ?
                    required = 0
                }

                city {
                    # cat=sg.estate Extension: Immosolve - Realty Request/233/60; type=boolean; label=city required ?
                    required = 0
                }

                phone {
                    # cat=sg.estate Extension: Immosolve - Realty Request/233/70; type=boolean; label=phone required ?
                    required = 0
                }

                mobile {
                    # cat=sg.estate Extension: Immosolve - Realty Request/233/80; type=boolean; label=mobile required ?
                    required = 0
                }

                fax {
                    # cat=sg.estate Extension: Immosolve - Realty Request/233/90; type=boolean; label=fax required ?
                    required = 0
                }

                wbs {
                    # cat=sg.estate Extension: Immosolve - Realty Request/233/100; type=boolean; label=wbs required ?
                    required = 0
                }

                birthdate {
                    # cat=sg.estate Extension: Immosolve - Realty Request/233/110; type=boolean; label=birthdate required ?
                    required = 0
                }

                occupation {
                    # cat=sg.estate Extension: Immosolve - Realty Request/233/120; type=boolean; label=occupation required ?
                    required = 0
                }

                phoneBusiness {
                    # cat=sg.estate Extension: Immosolve - Realty Request/233/130; type=boolean; label=phoneBusiness required ?
                    required = 0
                }

                employer {
                    # cat=sg.estate Extension: Immosolve - Realty Request/233/140; type=boolean; label=employer required ?
                    required = 0
                }

                familyStatus {
                    # cat=sg.estate Extension: Immosolve - Realty Request/233/150; type=boolean; label=familyStatus required ?
                    required = 0
                }

                secondPersonFirstname {
                    # cat=sg.estate Extension: Immosolve - Realty Request/233/160; type=boolean; label=secondPersonFirstname required ?
                    required = 0
                }

                secondPersonLastname {
                    # cat=sg.estate Extension: Immosolve - Realty Request/233/170; type=boolean; label=secondPersonLastname required ?
                    required = 0
                }

                secondPersonBirthday {
                    # cat=sg.estate Extension: Immosolve - Realty Request/233/180; type=boolean; label=secondPersonBirthday required ?
                    required = 0
                }

                personCount {
                    # cat=sg.estate Extension: Immosolve - Realty Request/233/190; type=boolean; label=personCount required ?
                    required = 0
                }

                childCount {
                    # cat=sg.estate Extension: Immosolve - Realty Request/233/200; type=boolean; label=childCount required ?
                    required = 0
                }

                adultCount {
                    # cat=sg.estate Extension: Immosolve - Realty Request/233/210; type=boolean; label=adultCount required ?
                    required = 0
                }

                information {
                    # cat=sg.estate Extension: Immosolve - Realty Request/233/220; type=boolean; label=information required ?
                    required = 0
                }

                privacy {
                    # cat=sg.estate Extension: Immosolve - Realty Request/233/230; type=boolean; label=privacy checkbox required ?
                    required = 0
                }
            }
        }

        searchRequest {
            # cat=sg.estate Extension: Immosolve - Search Request/240/10; type=int+; label=Count of form steps
            formSteps = 3
            # cat=sg.estate Extension: Immosolve - Search Request/240/20; type=string; label=Districts from regions.xml (districname1|districid1,districtname2|districtid2,....)
            districts =
            content {
                privacy {
                    # cat=sg.estate Extension: Immosolve - Search Request/241/10; type=string; label=Privacy checkbox label
                    label = I accept the privacy statement.
                    # cat=sg.estate Extension: Immosolve - Search Request/241/20; type=string; label=Privacy checkbox link
                    link =
                    # cat=sg.estate Extension: Immosolve - Search Request/241/30; type=string; label=Privacy checkbox link caption
                    linkCaption = Learn more
                }
            }

            mapping {
                salutation {
                    # cat=sg.estate Extension: Immosolve - Search Request/242/10; type=string; label=Fieldname of salutation form field (API required)
                    fieldName = salutation
                    options {
                        # cat=sg.estate Extension: Immosolve - Search Request/242/11; type=string; label=Salutation option for option 'mr'
                        mr = Herr
                        # cat=sg.estate Extension: Immosolve - Search Request/242/12; type=string; label=Salutation option for option 'mrs'
                        mrs = Frau
                        # cat=sg.estate Extension: Immosolve - Search Request/242/13; type=string; label=Salutation option for option 'married-couple'
                        married-couple = Eheleute
                        # cat=sg.estate Extension: Immosolve - Search Request/242/14; type=string; label=Salutation option for option 'company'
                        company = Firma
                        # cat=sg.estate Extension: Immosolve - Search Request/242/15; type=string; label=Salutation option for option 'none'
                        none = default
                    }
                }

                firstName {
                    # cat=sg.estate Extension: Immosolve - Search Request/242/20; type=string; label=Fieldname of firstname form field (API required)
                    fieldName = firstname
                }

                lastName {
                    # cat=sg.estate Extension: Immosolve - Search Request/242/30; type=string; label=Fieldname of lastname form field (API required)
                    fieldName = lastname
                }

                email {
                    # cat=sg.estate Extension: Immosolve - Search Request/242/40; type=string; label=Fieldname of email form field (API required)
                    fieldName = email
                }

                immoObjectCode {
                    # cat=sg.estate Extension: Immosolve - Search Request/242/50; type=string; label=Fieldname of immoObjectCode form field (API required)
                    fieldName = immosolve
                }

                regions {
                    # cat=sg.estate Extension: Immosolve - Search Request/242/60; type=string; label=Fieldname of regions form field (If not set API requires location, radius, lat & lng)
                    fieldName = regions
                }

                minRooms {
                    # cat=sg.estate Extension: Immosolve - Search Request/242/70; type=string; label=Fieldname of minRooms form field (API required)
                    fieldName = roomsMin
                }

                minArea {
                    # cat=sg.estate Extension: Immosolve - Search Request/242/80; type=string; label=Fieldname of minArea form field (API required)
                    fieldName = sizeMin
                }

                birthday {
                    # cat=sg.estate Extension: Immosolve - Search Request/242/90 type=string; label=Fieldname of birthday form field
                    fieldName = birthday
                    # cat=sg.estate Extension: Immosolve - Search Request/242/91; type=boolean; label=add birthday to comment field ?
                    addToComment = 0
                    # cat=sg.estate Extension: Immosolve - Search Request/242/92; type=string; label=birthday description in comment field
                    commentLabel =
                    concat {
                        # cat=sg.estate Extension: Immosolve - Search Request/242/93; type=string; label=year fieldname for birthday
                        1 = day
                        # cat=sg.estate Extension: Immosolve - Search Request/242/94; type=string; label=month fieldname for birthday
                        2 = month
                        # cat=sg.estate Extension: Immosolve - Search Request/242/95; type=string; label=day fieldname for birthday
                        3 = year
                        # cat=sg.estate Extension: Immosolve - Search Request/242/96; type=string; label=separator for birthday
                        separator = .
                    }
                }

                street {
                    # cat=sg.estate Extension: Immosolve - Search Request/242/100; type=string; label=Fieldname of street form field
                    fieldName = street
                    # cat=sg.estate Extension: Immosolve - Search Request/242/101; type=boolean; label=add street to comment field ?
                    addToComment = 0
                    # cat=sg.estate Extension: Immosolve - Search Request/242/102; type=string; label=street description in comment field
                    commentLabel =
                }

                streetNumber {
                    # cat=sg.estate Extension: Immosolve - Search Request/242/110; type=string; label=Fieldname of streetNumber form field
                    fieldName = streetNo
                    # cat=sg.estate Extension: Immosolve - Search Request/242/111; type=boolean; label=add streetNumber to comment field ?
                    addToComment = 0
                    # cat=sg.estate Extension: Immosolve - Search Request/242/112; type=string; label=streetNumber description in comment field
                    commentLabel =
                }

                postalCode {
                    # cat=sg.estate Extension: Immosolve - Search Request/242/120; type=string; label=Fieldname of postalCode form field
                    fieldName = zip
                    # cat=sg.estate Extension: Immosolve - Search Request/242/121; type=boolean; label=add postalCode to comment field ?
                    addToComment = 0
                    # cat=sg.estate Extension: Immosolve - Search Request/242/122; type=string; label=postalCode description in comment field
                    commentLabel =
                }

                city {
                    # cat=sg.estate Extension: Immosolve - Search Request/242/130; type=string; label=Fieldname of city form field
                    fieldName = city
                    # cat=sg.estate Extension: Immosolve - Search Request/242/131; type=boolean; label=add city to comment field ?
                    addToComment = 0
                    # cat=sg.estate Extension: Immosolve - Search Request/242/132; type=string; label=city description in comment field
                    commentLabel =
                }

                phone {
                    # cat=sg.estate Extension: Immosolve - Search Request/242/140; type=string; label=Fieldname of phone form field
                    fieldName = phone
                    # cat=sg.estate Extension: Immosolve - Search Request/242/141; type=boolean; label=add phone to comment field ?
                    addToComment = 0
                    # cat=sg.estate Extension: Immosolve - Search Request/242/142; type=string; label=phone description in comment field
                    commentLabel =
                }

                firstName2 {
                    # cat=sg.estate Extension: Immosolve - Search Request/242/150; type=string; label=Fieldname of firstName2 form field
                    fieldName = firstname2
                    # cat=sg.estate Extension: Immosolve - Search Request/242/151; type=boolean; label=add firstName2 to comment field ?
                    addToComment = 0
                    # cat=sg.estate Extension: Immosolve - Search Request/242/152; type=string; label=firstName2 description in comment field
                    commentLabel =
                }

                lastName2 {
                    # cat=sg.estate Extension: Immosolve - Search Request/242/160; type=string; label=Fieldname of lastName2 form field
                    fieldName = lastname2
                    # cat=sg.estate Extension: Immosolve - Search Request/242/161; type=boolean; label=add lastName2 to comment field ?
                    addToComment = 0
                    # cat=sg.estate Extension: Immosolve - Search Request/242/162; type=string; label=lastName2 description in comment field
                    commentLabel =
                }

                birthday2 {
                    # cat=sg.estate Extension: Immosolve - Search Request/242/170; type=string; label=Fieldname of birthday2 form field
                    fieldName = birthday2
                    # cat=sg.estate Extension: Immosolve - Search Request/242/171; type=boolean; label=add birthday2 to comment field ?
                    addToComment = 0
                    # cat=sg.estate Extension: Immosolve - Search Request/242/172; type=string; label=birthday2 description in comment field
                    commentLabel =
                    concat {
                        # cat=sg.estate Extension: Immosolve - Search Request/242/173; type=string; label=year fieldname for birthday2
                        1 = day2
                        # cat=sg.estate Extension: Immosolve - Search Request/242/174; type=string; label=month fieldname for birthday2
                        2 = month2
                        # cat=sg.estate Extension: Immosolve - Search Request/242/175; type=string; label=day fieldname for birthday2
                        3 = year2
                        # cat=sg.estate Extension: Immosolve - Search Request/242/176; type=string; label=separator for  birthday2
                        separator = .
                    }
                }

                maxPrice {
                    # cat=sg.estate Extension: Immosolve - Search Request/242/180; type=string; label=Fieldname of maxPrice form field
                    fieldName = rentMax
                    # cat=sg.estate Extension: Immosolve - Search Request/242/181; type=boolean; label=add maxPrice to comment field ?
                    addToComment = 0
                    # cat=sg.estate Extension: Immosolve - Search Request/242/182; type=string; label=maxPrice description in comment field
                    commentLabel =
                }

                remark {
                    # cat=sg.estate Extension: Immosolve - Search Request/242/190; type=string; label=Fieldname of remark form field
                    fieldName = remark
                    # cat=sg.estate Extension: Immosolve - Search Request/242/191; type=boolean; label=add remark to comment field ?
                    addToComment = 0
                    # cat=sg.estate Extension: Immosolve - Search Request/242/192; type=string; label=remark description in comment field
                    commentLabel =
                }

                privacy {
                    # cat=sg.estate Extension: Immosolve - Search Request/242/200; type=string; label=Fieldname of privacy form field
                    fieldName = privacy
                    # cat=sg.estate Extension: Immosolve - Search Request/242/201; type=boolean; label=add privacy to comment field ?
                    addToComment = 1
                    # cat=sg.estate Extension: Immosolve - Search Request/242/202; type=string; label=privacy description in comment field
                    commentLabel = Datenschutzerklärung
                }
            }

            validation {
                birthday {
                    # cat=sg.estate Extension: Immosolve - Search Request/243/10; type=boolean; label=birthday required ?
                    required = 0
                }

                street {
                    # cat=sg.estate Extension: Immosolve - Search Request/243/20; type=boolean; label=street required ?
                    required = 0
                }

                streetNumber {
                    # cat=sg.estate Extension: Immosolve - Search Request/243/30; type=boolean; label=streetNumber required ?
                    required = 0
                }

                postalCode {
                    # cat=sg.estate Extension: Immosolve - Search Request/243/40; type=boolean; label=postalCode required ?
                    required = 0
                }

                city {
                    # cat=sg.estate Extension: Immosolve - Search Request/243/50; type=boolean; label=city required ?
                    required = 0
                }

                phone {
                    # cat=sg.estate Extension: Immosolve - Search Request/243/60; type=boolean; label=phone required ?
                    required = 0
                }

                firstName2 {
                    # cat=sg.estate Extension: Immosolve - Search Request/243/70; type=boolean; label=firstName2 required ?
                    required = 0
                }

                lastName2 {
                    # cat=sg.estate Extension: Immosolve - Search Request/243/80; type=boolean; label=lastName2 required ?
                    required = 0
                }

                birthday2 {
                    # cat=sg.estate Extension: Immosolve - Search Request/243/90; type=boolean; label=birthday2 required ?
                    required = 0
                }

                maxPrice {
                    # cat=sg.estate Extension: Immosolve - Search Request/243/100; type=boolean; label=maxPrice required ?
                    required = 0
                }

                privacy {
                    # cat=sg.estate Extension: Immosolve - Search Request/243/110; type=boolean; label=privacy checkbox required ?
                    required = 0
                }

                email {
                    required = 0
                    check = email
                }
            }
        }
    }
}
