NAV

Εισαγωγή

Στο εγχειρίδιο θα βρείτε όλες τις πληροφορίες που χρειάζεστε για να αξιοποιήσετε με επιτυχία τις υπηρεσίες της Χρυσής Ευκαιρίας όσον αφορά στη φόρτωση, αποθήκευση και πολυκαναλική δημοσίευση των αγγελιών των Παρόχων.

Αν το προτιμάτε, μπορείτε να βρείτε τις πληροφορίες αυτές συγκεντρωμένες και σε ένα SDK.

Γενικές πληροφορίες

Περιγραφή

To Bulk Import Tool είναι μια υπηρεσία μαζικής αποστολής - καταχώρησης αγγελιών και των τυχόν ψηφιακών αρχείων που συνδέονται μαζί τους, και δημοσίευσής τους στην πολυκαναλική υποδομή της Χρυσής Ευκαιρίας.

Η υπηρεσία παρέχεται σε επιχειρήσεις και επαγγελματίες οι οποίοι διαθέτουν μεγάλο πλήθος αγγελιών για δημοσίευση και οι ανάγκες αλλαγών, τόσο στο περιεχόμενο των αγγελιών όσο και στις ανανεώσεις δημοσιεύσεων, είναι ιδιαίτερα αυξημένες.

Η υπηρεσία:

Σύνοψη διαδικασίας

Ο Παροχέας μπορεί να χρησιμοποιήσει τη διαδικασία ακολουθώντας τα εξής βήματα:

  1. Μορφοποιεί τις αγγελίες χρησιμοποιώντας την προδιαγραφή Unified Ad format ορίζοντας ταυτόχρονα τα ψηφιακά αρχεία τα οποία τις συνοδεύουν.
  2. Δημιουργεί αρχεία σε zipped μορφή που περιέχουν τις αγγελίες και τα συνοδευόμενα ψηφιακά αρχεία.
  3. Αποστέλλει στους ειδικά διαμορφωμένους Διακομιστές της Χρυσής Ευκαιρίας μέσω HTTP POST request, χρησιμοποιώντας τα διαπιστευτήρια που έλαβε κατά την εγγραφή του στην υπηρεσία.
  4. Η υπηρεσία τους απαντάει με τα αποτελέσματα της διαδικασίας και τα πιθανά λάθη.

Υποδοχή πακέτων

Παράδειγμα αποστολής:

<html>
  <form action="http://import.xe.gr/request/add" 
      enctype="multipart/form-data" method="POST">
    <div>
      <strong>Φόρμα δοκιμαστική χρήσης υπηρεσίας μαζικής καταχώρησης</strong>
    </div>

    <table>
      <tr>
        <td>Username (Xρήστη υπηρεσίας μαζικής καταχώρησης)</td>
        <td><input type="text" name="username" size="30"></td>
      </tr>
      <tr>
        <td>Password (Xρήστη υπηρεσίας μαζικής καταχώρησης)</td>
        <td><input type="text" name="password" size="30"></td>
      </tr>
      <tr>
        <td>Αρχείο Αγγελιών</td>
        <td><input type="file" name="file" size="40"></td>
      </tr>
      <tr>
        <td colspan="2" align="center">
          <input type="submit" value="Αποστολή αρχείου">
        </td>
      </tr>
    </table>
  </form>
</html>

Η υποδοχή αρχείων μαζικής φόρτωσης αγγελιών εξυπηρετείται από 2 διαφορετικά endpoints προσβάσιμα μέσω HTTP (POST request). Συγκεκριμένα:

Και στις δύο περιπτώσεις η παράμετροι του POST request είναι τρεις:

Παράμετρος Description
file το αρχείο που περιλαμβάνει το xml request καθώς και τις εικόνες
username το username χρήσης της υπηρεσίας
password το password χρήσης της υπηρεσίας

Κατά τη διαδικασία παραλαβής του αρχείου γίνεται xsd validation καθώς και έλεγχοι που αφορούν το package id κ.ά.. Η απάντηση του request ενημερώνει αν η παραλαβή ολοκληρώθηκε με επιτυχία και το πακέτο είναι έτοιμο για επεξεργασία ή αν παρουσιάστηκε κάποιο σφάλμα. Η επεξεργασία του πακέτου γίνεται ασύγχρονα. Όταν ολοκληρωθεί η επεξεργασία του πακέτου αποστέλεται ενημερωτικό email που περιγράφει αναλυτικά τα αποτελέσματα επεξεργασίας.

Επεξεργασία πακέτων

Η διαδικασία εξυπηρέτησης των αιτημάτων εκτελείται σε 2 χρόνους και αποτελείται από τα παρακάτω βήματα:

1ος χρόνος

2ος χρόνος

Εμφάνιση αλλαγών στο site του xe.gr

Οι αγγελίες τις οποίες διαχειρίζεται ο μηχανισμός μαζικής καταχώρησης είναι άμεσα προσβάσιμες, μετά την ολοκλήρωση της επιτυχούς επεξεργασίας, από τη διαχειριστική πλατφόρμα (Pro) που διατίθεται στους επαγγελματίες. Ωστόσο, οι αλλαγές αυτές θα εμφανιστούν στο site του xe.gr μετά από κάποιο χρονικό διάστημα λόγω διαδικασιών συγχρονισμού που επιφέρουν μια μικρή καθυστέρηση.

Πολιτικές δημοσίευσης

Οι πολιτικές δημοσίευσης ορίζουν τον τρόπο και τους κανόνες με βάση τους οποίους γίνεται η ενημέρωση των αγγελιών του Παροχέα στους Διακομιστές της Χρυσής Ευκαιρίας.

Πολιτική “RENEW ALL STOCK”

Για όλες τις αγγελίες του Παροχέα που φορτώνονται:

Πολιτική "INCREMENTAL"

Η πολιτική αυτή:

Η πολιτική δηλώνεται στο xml element Package.policy και μπορεί να πάρει τις τιμές:

Η σχέση μετξύ τύπου πακέτου και πολιτικών δημοσίευσης εμφανίζεται στον κάτωθι πίνακα

Πολιτική Δημοσίευσης Mήνυμα
RENEW ALL STOCK AddItemsRequest
INCREMENTAL AddItemsRequest
INCREMENTAL RemoveItemsRequest

Authentication

Testing

Για να μπορείτε να στέλνετε δοκιμαστικά αγγελίες στα πλαίσια της ανάπτυξης της γέφυρας, χρειάζεστε ένα λογαριασμό μεσίτη.

Ακολουθούν τα στοιχεία ενός τέτοιου αλλά δοκιμαστικού λογαριασμού. Οι αγγελίες που στέλνετε με αυτό το λογαριασμό θα επεξεργάζονται κανονικά αλλά δεν θα δημοσιεύονται.

Τα στοιχεία του λογαριασμού για να στέλνετε δοκιμαστικά τις αγγελίες:

Στοιχείο Τιμή
Όνομα TEST ACCOUNT
Όνομα σύνδεσης batchImportTest@gmail.com
Κωδικός 999999
AuthToken 1C12807239C511E083E1A3E108D089EC
Agent ID 10004616

Πιστοποιημένοι αριθμοί τηλεφώνων:

Στα πακέτα που θα στέλνετε, στον κωδικό του κάθε πακέτου, τοποθετείτε το πρόθεμα <Πρόθεμα που θα σας δώσουμε>-BIT-SANDBOX-. Μετά την επεξεργασία των πακέτων, θα λαμβάνετε ένα email με τα αποτελέσματα, πόσες αγγελίες επεξεργάστηκαν, πόσες επιτυχώς, πόσες ανεπιτυχώς και γιατί.

Production

Επικοινωνείστε μαζί μας για να προχωρήσουμε στη δημιουργία του λογαριασμού.

Προδιαγραφές

Unified Ad Format

Το Unified Ad Format είναι η πρόταση της Χρυσής Ευκαιρίας για την προτυποποίηση του ορισμού μιας αγγελίας. Περιέχει επίσης πληροφορίες (metadata) απαραίτητες για τη διαχείριση των ψηφιακών αρχείων που τις συνοδεύει, των δημοσιεύσεων ή των προϊόντων που χρησιμοποιούν για τη δημοσιευσή τους, τα μέσα στα οποία θα δημοσιευτούν καθώς και την πολιτική ενημέρωσης που θα ακολουθήσει το σύστημα.

Το Unified Ad Format είναι ένα έγγραφο XML και μπορεί να περιέχει πάνω από μια αγγελίες.

PackageId

Κάθε τέτοιο έγγραφο αποτελεί ένα πακέτο (Package) και σημαίνεται με το μοναδικό PackageId που είναι ευθύνη του παρόχου. Με το μοναδικό PackageId – άλλο κάθε φορά – ο Παροχέας αλλά και το σύστημα μπορεί να παρακολουθήσει με ευκολία την πορεία επεξεργασίας του πακέτου. Στην απλούστερη μορφή του θα μπορούσε να είναι ένας συνδυασμός κάποιου αναγνωριστικού του παρόχου μαζί με ένα timestamp. Η πληροφορία αυτή θα χρησιμοποιείται στην συνέχεια για τον εντοπισμό του πακέτου και για την παροχή πληροφορίας αναφορικά με το αποτέλεσμα της επεξεργασίας του πακέτου και των περιεχομένων αγγελιών (ποσοστό αγγελιών που καταχωρήθηκαν με επιτυχία, errors και warnings τα οποία παράχθηκαν).

Βασικά τμήματα πακέτου

Το έγγραφο αποτελείται από δυο βασικά τμήματα:

  1. Μεταδεδομένα που αφορούν το πακέτο στο σύνολό του, τον Παροχέα και το κατάστημα όπου θα δημοσιευτούν οι αγγελίες (σήμερα μόνο το xe.gr) κ.ά..
  2. Πληροφορία που αφορά τις αγγελίες και μπορεί να υπάρχει πάνω από μια φορές, μία για κάθε αγγελία, τα Item.

Η πληροφορία που παρέχεται σε αυτό το επίπεδο αφορά:

XML structure

Η δομή του XML ορίζεται από το root Element με το όνομα AddItemsRequest (RemoveItemsRequest για διαγραφή) που ορίζει και το όνομα της υπηρεσίας. Σε κάθε περίπτωση το root element περιλαμβάνει τα μεταδεδομένα του πακέτου (Package Metadata) και τα Item elements.

Package Metadata

Αίτημα προσθήκης αγγελιών

<?xml version="1.0" encoding="UTF-8"?> 
<AddItemsRequest>
    <Package.xeAuthToken>YOURTOKENHERE</Package.xeAuthToken> 
    <Package.schemaVersion>1.0</Package.schemaVersion> 
    <Package.id>1</Package.id> 
    <Package.timestamp>2010-11-30T18:33</Package.timestamp> 
    <Package.storeId>Store 1</Package.storeId> 
    <Package.trademark>XE</Package.trademark> 
    <Package.skipAssets>true</Package.skipAssets>
    <Package.crmProviderCode>ABCDE</Package.crmProviderCode>
    <Package.policy>INCREMENTAL</Package.policy>
    <Item>.........</Item>
    <Item>.........</Item>
    ...................
</AddItemsRequest>

Αίτημα διαγραφής αγγελιών

<?xml version="1.0" encoding="UTF-8"?>
<RemoveItemsRequest>
    <Package.xeAuthToken>YOURTOKENHERE</Package.xeAuthToken> 
    <Package.schemaVersion>1.0</Package.schemaVersion> 
    <Package.id>1</Package.id> 
    <Package.timestamp>2010-11-30T18:33</Package.timestamp> 
    <Package.storeId>Store 1</Package.storeId> 
    <Package.trademark>XE</Package.trademark> 
    <Item>.........</Item>
    <Item>.........</Item>
    ...................
</RemoveItemsRequest>

Τα μεταδεδομένα του Package είναι της μορφής Package.<πεδίο> και περιγράφονται στον παρακάτω πίνακα. Είναι όλα τύπου STRING.

Πεδίο Υποχρεωτικό Περιγραφή
xeAuthToken ΝΑΙ Κωδικός αυθεντικοποίησης - Σε κάθε Παροχέα αποδίδεται από το σύστημα ένας κωδικός ο οποίος πρέπει να χρησιμοποιείται σε κάθε επικοινωνία με αύτη την υπηρεσία
schemaVersion NAI Έκδοση του request που χρησιμοποιείται (παρέχεται από το σύστημα. Σήμερα 1.1)
id NAI Κωδικός πακέτου που παρέχεται από τον πελάτη και οφείλει να είναι μοναδικός για κάθε Παροχέα και πακέτο.
timestamp NAI Ημερομηνία εισαγωγής πακέτου σύμφωνα με το πρότυπο UTC
storeId OXI Αναγνωριστικό καταστήματος (Σήμερα μόνο xe.gr)
trademark OXI Λεκτικό αναγνωριστικό αποστολέα. Το αναγνωριστικό εμφανίζεται στο κείμενο της αγγελίας κατά την δημοσίευσή της στο xe.gr
skipAssets OXI Στέλνονται πακέτα χωρίς να επηρεάζονται κατά την ενημέρωση μιας αγγελίας οι φωτογραφίες που υπάρχουν μέχρι εκείνη την ώρα. Είναι τιμή per package και όχι per αγγελία. Αν είναι true, όλα τα assets αγνοούνται. Η τιμή true ή false είναι case insensitive.
crmProviderCode OXI Αναγνωριστικό παρόχου γεφύρωσης.

Τα παραπάνω πεδία ορίζονται στο σώμα του request όπως φαίνεται δίπλα και η πληροφορία αυτή προσαρτάται στην πληροφορία που αφορά το κάθε Item.

Item Metadata

Ως μεταδεδομένα αναφέρουμε όλα τα πεδία του item τα οποία δε σχετίζονται με περιγραφικά χαρακτηριστικά και δεν ανήκουν στα elements που περιγράφονται στις επόμενες παραγράφους.

Attributes

<Item type="re_prof" refId="4f4c33f6-d705-43a5-9180-6cdc181bdcf4" publicationType="GOLD"> 
    <Item.ownerId>90</Item.ownerId>
    <Item.majorPhone>210/200002047></Item.majorPhone> 
    <Item.departmentOnCategory>Real Estate</Item.departmentOnCategory> 
    <Item.otherPhones>
        <Item.phone><![CDATA[ 6236/760183]]></Item.phone> 
    </Item.otherPhones>
    <Item.internetText></Item.bodyText>
    <Item.addOnText>
      <![CDATA[κοντά στο μετρό και σε σχολεία]]>
    </Item.internetText>
    <Item.bodyText></Item.bodyText>
    <Transaction.type>LET.NORMAL</Transaction.type>
    .......
</Item>

Κάθε Item έχει τα ακόλουθα δύο υποχρεωτικά attributes:

Πεδίο Τύπος Περιγραφή
type LOOKUP Τύπος αγγελίας. (Οικόπεδο, Κατοικία κ.ά.).
refId STRING Μοναδικός κωδικός αγγελίας που παρέχεται από τον Παροχέα και χρησιμοποιείται στη συνέχεια για τον εντοπισμό της. Χρησιμοποιείται από τον Παροχέα για να συνδέσει την αγγελία του με μοναδικό τρόπο με τη δική του Βάση Δεδομένων.

Επιπλέον κάθε Item έχει το ακόλουθο προαιρετικό attribute:

Πεδίο Τύπος Περιγραφή
publicationType LOOKUP Τύπος προβολής (Οι αποδεκτές τιμές είναι: BASIC, GOLD). Αν το πεδίο δε συμπληρωθεί, η default τιμή είναι BASIC

Elements

Κάθε Item έχει τα ακόλουθα elements. Είναι της μορφής Item.<πεδίο> και είναι όλα τύπου String.

Πεδίο Υποχρεωτικό Περιγραφή
ownerId ΝΑΙ Κωδικός ιδιοκτήτη της αγγελίας.
majorPhone ΝΑΙ Κύριο τηλέφωνο αγγελίας. (Πιστοποιημένο)
departmentOnCategory ΟΧΙ Κατηγοριοποίηση (Σήμερα έχει μόνο την τιμή ‘Real Estate’)
otherPhones ΟΧΙ Άλλα τηλέφωνα.

Σημειώσεις

Το Item.ownerID είναι ο μοναδικός κωδικός που έχει ήδη αποδοθεί από το σύστημα στον ιδιοκτήτη της αγγελίας (μεσίτη). Ένα πακέτο μπορεί να περιέχει αγγελίες διαφορετικών ιδιοκτητών (Franchisees), αρκεί ο αποστολέας (Franchiser) να μπορεί να χρησιμοποιήσει το ownerId του Franchisee με τον οποίο έχει συμφωνία διαχείρισης των αγγελιών του. Το σύστημα ελέγχει για τη σχέση του ownerid (Franchisee) και του Franchiser που αποστέλλει το πακέτο.

<Item.otherPhones>
  <Item.phone>2100000000</Item.phone>`
  <Item.phone>2100000001</Item.phone>
</Item.otherPhones>

Το πεδίο Item.otherPhones περιλαμβάνει στοιχεία της μορφής Item.phone (δείτε δίπλα). Τα τηλέφωνα αυτά θα πρέπει να είναι πιστοποιημένα για να γίνουν αποδεκτά και να εμφανιστούν στην αγγελία. Η πιστοποίηση γίνεται ακολουθώντας τις συνήθεις διαδικασίες της Χρυσής Ευκαιρίας κατά τη διαδικασία registration του Παροχέα.

Item Fields

Αν θέλαμε να περιγράψουμε το συνολικό εμβαδόν 100 τετραγωνικών μιας κατοικίας θα έπρεπε στην λίστα πεδίων της αγγελίας να υπάρχει o εξής κώδικας

<Field>
       <Name>Item.area</Name>
       <Value>100</Value>
</Field>

Όπου Item.area είναι το όνομα του χαρακτηριστικού και το 100 είναι η τιμή του χαρακτηριστικού.

Ο κατάλογος των πεδίων που αφορούν το item παρέχονται με την μορφή ζευγών <όνομα πεδίου, τιμή πεδίου>.

Τύποι χαρακτηριστικών – δυνατές τιμές

Τα χαρακτηριστικά μπορούν να έχουν έναν από τους παρακάτω τύπους τιμών:

OTHER value

Τα χαρακτηριστικά που έχουν τύπο LOOKUP παρέχουν ένα σύνολο τιμών από τα οποία ο Παροχέας πρέπει να επιλέξει. Υπάρχει η περίπτωση όμως, για κάποιο LOOKUP χαρακτηριστικό, να υποστηρίζεται η δυνατότητα ο Παροχέας να δώσει τη δική του τιμή. Το σύστημα τότε θα επιλέξει κατά την επεξεργασία την τιμή OTHER. Δεν υπάρχει ιδιαίτερος τρόπος να δώσει ο Παροχέας την τιμή OTHER. Σε κάποιο LOOKUP χαρακτηριστικό που υποστηρίζει OTHER πχ Item.Style απλά δίνουμε την τιμή, πχ: <Value>Ιδιοκατασκευή</Value>

Fields

Εισαγωγή

Κατάλογος χαρακτηριστικών (fields) για κάθε τύπο αγγελίας και οι εξαρτήσεις τους

Ακουλουθεί η πλήρης λίστα χαρακτηριστικών (fields) που προσφέρονται για κάθε τύπο αγγελίας. Σε ιδιαίτερη στήλη αναφέρεται ποια από αυτά είναι υποχρεωτικά. Στο τέλος κάθε τύπου αναφέρονται οι εξαρτήσεις των χαρακτηριστικών εφόσον υπάρχουν. Για παράδειγμα – όπως φαίνεται και από τον πίνακα Εξαρτήσεις χαρακτηριστικών - το Item.buildable_area εξαρτάται από το Item.buildable. Για να έχουμε δηλαδή Item.buildable_area πρέπει να υπάρχει το Item.buildable και να έχει την τιμή true.

Κάποια πεδία μπορούν να πάρουν πολλαπλές τιμές από τις διαθέσιμες οι οποίες δίνονται χωρισμένες με κόμμα π.χ. τοItem.viewType μπορεί να έχει τις τιμές <Value>MOUNTAIN,FOREST</Value>.

Τέλος, για τα πεδία που υπόκεινται σε έλεγχο τιμής, πέραν της υποχρεωτικής παρουσίας ή της τιμής από λίστες LOOKUP, περιγράφεται το είδος του ελέγχου.

Αγγελίες Κατοικίας

Χαρακτηριστικό Τύπος Υπ. Περιγραφή MC Σχόλια
Item.type LOOKUP ΝΑΙ Είδος
Item.subtype LOOKUP Υποείδος ΝΑΙ
Item.area FLOAT ΝΑΙ Εμβαδόν
Item.level LOOKUP ΝΑΙ Επίπεδο ΝΑΙ
Item.constructionType LOOKUP Είδος κατασκευής ΝΑΙ
Item.conditionSpecific LOOKUP Λεπτομερής κατάσταση
Item.constructionYear INTEGER ΝΑΙ Έτος κατασκευής Μεγαλύτερη του 1900 και μικρότερη ή ίση του τρέχοντος έτους
Item.refurbishmentYear INTEGER Έτος ανακαίνισης Μεγαλύτερη του 1900 και μικρότερη ή ίση του τρέχοντος έτους
Item.floors INTEGER Όροφοι
Item.floorsArea FLOAT Εμβαδόν ορόφων Πεδίο προς κατάργηση
Item.orientation LOOKUP Είδος προσανατολισμού NAI
Item.bedrooms INTEGER Αριθμός υπνοδωματίων
Item.masterBedrooms INTEGER Αριθμός κυρίων υπνοδωματίων Μικρότερη απο την τιμή του πεδίου Item.bedrooms
Item.bathrooms INTEGER Μπάνια
Item.wc INTEGER Πλήθος WC Επιπλέον των Item.bathrooms
Item.hasParking 0/1 Διαθέτει parking
Item.parkingType LOOKUP Είδος parking NAI
Item.hasStorage 0/1 Διαθέτει αποθήκη
Item.storageArea FLOAT Εμβαδόν αποθήκης
Item.hasAircondition 0/1 Διαθέτει aircondition
Item.hasSecureDoor 0/1 Διαθέτει πόρτα ασφαλείας
Item.viewType LOOKUP Τύπος θέας NAI
Item.hasFireplace 0/1 Διαθέτει τζάκι
Item.hasSolarBoiler 0/1 Διαθέτει ηλιακό θερμοσίφωνα
Item.withoutElevator 0/1 Χωρίς ανελκυστήρα
Item.hasGarden 0/1 Διαθέτει κήπο
Item.gardenArea FLOAT Εμβαδόν κήπου
Item.location STRING Περιοχή
Item.land FLOAT Εμβαδόν οικοπέδου Δεκαδικός με ακρίβεια 1 ψηφίου.
Item.availabilityType LOOKUP Τύπος διαθεσιμότητας
Item.hasPrivateTerrace 0/1 Διαθέτει ιδιόκτητη ταράτσα
Item.terraceArea FLOAT Εμβαδόν ταράτσας
Item.hasPool 0/1 Διαθέτει πισίνα
Item.hasTents 0/1 Διαθέτει τέντες
Item.isWithoutCommunalCharge 0/1 Χωρίς κοινόχρηστα
Item.isSuitableForProfessionalUse 0/1 Κατάλληλο για επαγγελματική χρήση
Item.isFurnished 0/1 Είναι επιπλωμένο
Item.availableFrom STRING Διαθέσιμο από
Item.spacesPlan STRING Διαμόρφωση χώρων
Item.isSuitableForStudents 0/1 Κατάλληλο για φοιτητές
Item.isAgentAccepted 0/1 Δεκτοί μεσίτες
Item.hasSemiOpenSpaces 0/1 Διαθέτει ημιυπαίθριους χώρους
Item.semiOpenSpacesArea FLOAT Εμβαδόν ημιυπαίθριων χώρων
Item.energy_class LOOKUP ΝΑΙ Ενεργειακή κλάση A A_PLUS B B_PLUS C D E Z H NOT_APPLICABLE PENDING
Item.isSuitableForHolidayResidence 0/1 Κατάλληλο για εξοχική κατοικία
Item.isSuitableForInvestment 0/1 Κατάλληλο για επένδυση
Item.isAvailableForShortTimeRent 0/1 Διαθέσιμο και για μίσθωση μικρής διάρκειας Εφαρμόζεται μόνο για τις ενοικιάσεις ακινήτων
Item.hasAluminiumFrames 0/1 Κουφώματα αλουμινίου
Item.hasInsectScreens 0/1 Σίτες
Item.hasNightTimeElectricityDiscounts 0/1 Νυχτερινό ρεύμα
Item.hasPlayroom 0/1 Playroom
Item.petsAllowed 0/1 Επιτρέπονται κατοικίδια
Item.floorType LOOKUP Δάπεδα ΝΑΙ
Item.utilitiesIncludedInRent LOOKUP Ενοίκιο περιλαμβάνει ΝΑΙ Εφαρμόζεται μόνο για τις ενοικιάσεις ακινήτων
Item.propertyZone LOOKUP Ζώνη ΝΑΙ
Item.heating LOOKUP Θέρμανση ΝΑΙ
Item.heatingMedium LOOKUP Μέσο θέρμανσης ΝΑΙ
Εξαρτώμενο χαρακτηριστικό Πρωτεύον χαρακτηριστικό
Item.storageArea Item.hasStorage
Item.semiOpenSpacesArea Item.hasSemiOpenSpaces
Item.garden_area Item.hasGarden
Item.terraceArea Item.hasPrivateTerrace
Item.floors Item.floorsArea
Item.parkingType Item.hasParking

Αγγελίες Επαγγελματικής Στέγης

Χαρακτηριστικό Τύπος Υπ. Περιγραφή MC Σχόλια
Item.type LOOKUP ΝΑΙ Είδος
Item.constructionType LOOKUP Είδος κατασκευής ΝΑΙ
Item.totalArea FLOAT ΝΑΙ Συνολικό εμβαδόν
Item.level LOOKUP ΝΑΙ Επίπεδο ΝΑΙ
Item.floorsArea FLOAT Εμβαδόν ορόφων Πεδίο προς κατάργηση
Item.conditionSpecific LOOKUP Λεπτομερής κατάσταση
Item.constructionYear INTEGER ΝΑΙ Έτος κατασκευής Μεγαλύτερη του 1900 και μικρότερη ή ίση του τρέχοντος έτους
Item.refurbishmentYear INTEGER Έτος ανακαίνισης Μεγαλύτερη του 1900 και μικρότερη ή ίση του τρέχοντος έτους
Item.spacesLayout STRING Διαμόρφωση χώρων Πεδίο προς κατάργηση
Item.hasWC 0/1 Διαθέτει WC
Item.hasLoadingRamp 0/1 Διαθέτει ράμπα φορτοεκφόρτωσης
Item.hasLoft 0/1 Διαθέτει πατάρι
Item.loftArea FLOAT Εμβαδόν παταριού
Item.height FLOAT Ύψος
Item.hasStorage 0/1 Διαθέτει αποθήκη
Item.storageArea FLOAT Εμβαδόν αποθήκης
Item.hasParking 0/1 Διαθέτει parking
Item.parkingType LOOKUP Τύπος parking
Item.parkingArea FLOAT Εμβαδόν parking
Item.parkingSlots INTEGER Θέσεις parking
Item.hasAircondition 0/1 Διαθέτει aircondition
Item.hasElevator 0/1 Διαθέτει ανελκυστήρα
Item.elevatorPayload INTEGER Βάρος ανύψωσης ανελκυστήρα
Item.electricityType LOOKUP Τύπος ρεύματος ΝΑΙ
Item.location STRING Τοποθεσία
Item.isWithInLand 0/1 Σε οικόπεδο Προειδοποίηση για τιμές μικρότερες του 50 και μεγαλύτερες του 50000
Item.availabilityType LOOKUP Τύπος διαθεσιμότητας
Item.isWithoutCommunalCharge 0/1 Χωρίς κοινόχρηστα
Item.availableFrom STRING Διαθέσιμο από
Item.isAgentAccepted 0/1 Δεκτοί μεσίτες
Item.hasStructuredCabling 0/1 Διαθέτει δομημένη καλωδίωση
Item.isSingleSpace 0/1 Είναι ενιαίος χώρος Πεδίο προς κατάργηση
Item.isFurnished 0/1 Είναι επιπλωμένο
Item.isEquiped 0/1 Είναι εξοπλισμένο
Item.orientation LOOKUP Τύπος προσανατολισμού ΝΑΙ
Item.energy_class LOOKUP ΝΑΙ Ενεργειακή κλάση A A_PLUS B B_PLUS C D E Z H NOT_APPLICABLE PENDING
Item.isSuitableForInvestment 0/1 Κατάλληλο για επένδυση
Item.hasAluminiumFrames 0/1 Κουφώματα αλουμινίου
Item.hasWheelchairAccessibility 0/1 Πρόσβαση ΑΜΕΑ
Item.hasVentilation 0/1 Εξαερισμός
Item.hasFalseFloor 0/1 Ψευδοπάτωμα
Item.hasFalseCeiling 0/1 Ψευδοροφές
Item.hasGoodsElevator 0/1 Ανελκυστήρας φορτίων
Item.hasSewage 0/1 Αποχέτευση
Item.alarm 0/1 Συναγερμός
Item.hasFireDetection 0/1 Πυρανίχνευση
Item.propertyZone LOOKUP Ζώνη ΝΑΙ
Item.heating LOOKUP Θέρμανση ΝΑΙ
Item.heatingMedium LOOKUP Μέσο θέρμανσης ΝΑΙ

Υπόμνημα: Υπ. = Υποχρεωτικό MC = Πολλαπλές τιμές

Εξαρτώμενο χαρακτηριστικό Πρωτεύον χαρακτηριστικό
Item.storageArea Item.hasStorage
Item.elevatorPayload Item.hasElevator
Item.parkingType Item.hasParking
Item.parkingArea Item.hasParking
Item.parkingSlots Item.hasParking
Item.loftArea Item.hasLoft

Αγγελίες Parking

Χαρακτηριστικό Τύπος Υπ. Περιγραφή MC Σχόλια
Item.type LOOKUP ΝΑΙ Είδος
Item.area FLOAT ΝΑΙ Εμβαδόν
Item.usage LOOKUP Είδος χρήσης ΝΑΙ
Item.slots INTEGER Θέσεις
Item.level LOOKUP ΝΑΙ Επίπεδο
Item.hasElectricDoor 0/1 Διαθέτει ηλεκτρική πόρτα
Item.hasAlarm 0/1 Διαθέτει συναγερμό
Item.isAgentAccepted 0/1 Δεκτοί μεσίτες
Item.hasFireExtinguishingSystem 0/1 Πυρόσβεση
Item.hasVehicleElevator 0/1 Ασανσέρ αυτοκινήτου

Υπόμνημα: Υπ. = Υποχρεωτικό MC = Πολλαπλές τιμές

Αγγελίες Γης

Χαρακτηριστικό Τύπος Υπ. Περιγραφή MC Σχόλια
Item.type LOOKUP ΝΑΙ Είδος
Item.contains STRING Περιέχει Πεδίο προς κατάργηση
Item.area FLOAT ΝΑΙ Εμβαδόν
Item.buildFactor FLOAT Συντελεστής δόμησης Δεκαδικός με ακρίβεια 2 ψηφίων. Προειδοποίηση για τιμές μεγαλύτερες του 3.
Item.coverFactor FLOAT Συντελεστής κάλυψης Δεκαδικός με ακρίβεια 2 ψηφίων και τιμή μικρότερη ή ίση με 1
Item.cityPlanType LOOKUP Σχέδιο πόλης
Item.dimensions STRING Διαστάσεις
Item.facadeDimension FLOAT Πρόσοψη
Item.isWhole 0/1 Άρτιο
Item.isBuildable 0/1 Οικοδομήσιμο
Item.buildableArea FLOAT Οικοδομήσιμο εμβαδόν
Item.containsBuilding 0/1 Περιέχει κτίσμα
Item.buildingArea FLOAT Εμβαδόν κτίσματος
Item.viewType LOOKUP Τύπος θέας NAI
Item.utilities STRING Παροχές Πεδίο προς κατάργηση
Item.availabilityType LOOKUP Τύπος διαθεσιμότητας
Item.availableFrom STRING Διαθέσιμο από
Item.isProfessional 0/1 Κατάλληλο για επαγγελματική χρήση Πεδίο προς κατάργηση
Item.location STRING Τοποθεσία
Item.AntiparoxiAccepted 0/1 Δεκτή αντιπαροχή
Item.hasBuildLicense 0/1 Διαθέσιμη άδεια χρήσης
Item.sides INTEGER Αριθμός όψεων
Item.isAgentAccepted 0/1 Δεκτοί μεσίτες
Item.isCorner 0/1 Γωνιακό
Item.isSeeThrough 0/1 Διαμπερές
Item.distanceToShore INTEGER Απόσταση από θάλασσα
Item.tilt LOOKUP Τύπος κλίσης ΝΑΙ
Item.canDrill 0/1 Γεώτρηση
Item.isFenced 0/1 Περιφραγμένο
Item.isSuitableForInvestment 0/1 Κατάλληλο για επένδυση
Item.propertyZone LOOKUP Ζώνη ΝΑΙ

Υπόμνημα: Υπ. = Υποχρεωτικό MC = Πολλαπλές τιμές

Εξαρτώμενο χαρακτηριστικό Πρωτεύον χαρακτηριστικό
Item.buildableArea Item.buildable
Item.buildingArea Item.containsBuilding

Αγγελίες Εξοχικής Κατοικίας

Αγγελίες Διάφορων Ακινήτων

Χαρακτηριστικό Τύπος Υπ. Περιγραφή MC Σχόλια
Item.ad_title STRING ΝΑΙ Τίτλος αγγελίας
Item.type LOOKUP ΝΑΙ Είδος
Item.availabiltyType LOOKUP Τύπος διαθεσιμότητας
Item.availableFrom STRING Διαθέσιμο
Item.isAgentAccepted 0/1 Δεκτοί μεσίτες
Item.isSuitableForInvestment 0/1 Κατάλληλο για επένδυση

Οικονομικά στοιχεία

Παράδειγμα οικονομικών πληροφοριών

<Item type="..." refId="..."> 
    ...
    <Transaction.price>10.000</Transaction.price> 
    <Transaction.currency>EUR</Transaction.currency> 
    <Transaction.frequency>ONCE</Transaction.frequency> 
    <Transaction.type>SELL.NORMAL</Transaction.type> 
    <Transaction.isOffer>0</Transaction.isOffer> 
    <Transaction.isPromo>1</Transaction.isPromo> 
    <Transaction.isNegotiable>0</Transaction.isNegotiable>
</Item>

Τα οικονομικά στοιχεία της αγγελίας περιλαμβάνουν τα παρακάτω πεδία:

Πεδίο Τύπος Υποχρεωτικό Περιγραφή
Transaction.price FLOAT Τιμή
Transaction.currency LOOKUP Νόμισμα με βάση τη διεθνή γραφή
Transaction.frequency LOOKUP Συχνότητα καταβολής
Transaction.type LOOKUP ΝΑΙ Τύπος
Transaction.isOffer 0/1 Ένδειξη προσφοράς
Transaction.isPromo 0/1 Ένδειξης προώθησης
Transaction.isNegotiable 0/1 Ένδειξη διαπραγματεύσιμης τιμής

Τα πεδία αυτά περιγράφονται στο σώμα κάθε Item στο XML document και όχι στην λίστα των χαρακτηριστικών της. Δίπλα παρουσιάζεται ένα παράδειγμα χρήσης των παραπάνω πεδίων στο σώμα ενός Item/Αγγελίας.

Η τιμή του Transaction.currency είναι προκαθορισμένη σε ευρώ (EUR) αν δεν συμπεριληφθεί αυτό το πεδίο στο request. Η κωδικοποίηση των νομισμάτων θα ακολουθεί τα διεθνές πρότυπο ISO 4217 που χρησιμοποιεί κωδικούς τριών γραμμάτων για να περιγράψει τα ονόματα των νομισμάτων.

Η τιμές που μπορούν να πάρουν τα LOOKUP πεδία παρουσιάζονται στο παράρτημα Α.

Γεωγραφική πληροφορία

Παράδειγμα γεωγραφικών πληροφοριών

<AddItemsRequest>
  <Item>
     <Fields>
          <Field>
              <Name>Geo.streetName</Name>
              <Value>Κασομούλη</Value>
          </Field>
          <Field> 
              <Name>Geo.streetNumber</Name>
              <Value>100</Value>
          </Field>
          <Field>
              <Name>Geo.longitude</Name>
              <Value>13.222</Value>
          </Field>
          <Field>
              <Name>Geo.latitude</Name>
              <Value>1.567</Value>
          </Field>
          <Field>
              <Name>Geo.postcode</Name>
              <Value>11740</Value>
          </Field>
          <Field>
              <Name>Geo.hideExactAddress</Name>
              <Value>1</Value>
          </Field>
     </Fields>
  </Item>
</AddItemsRequest>

Η γεωγραφική πληροφορία κάθε αγγελίας περιγράφεται από τα παρακάτω πεδία τα οποία αποστέλλονται ως ζεύγη <κλειδί,τιμή> στην λίστα χαρακτηριστικών της αγγελίας.

Πεδίο Τύπος Υποχρεωτικό Περιγραφή
Geo.streetName STRING Όνομα οδού
Geo.streetNumber STRING Αριθμός οδού
Geo.longitude FLOAT Γεωγραφικό μήκος
Geo.latitude FLOAT Γεωγραφικό πλάτος
Geo.postcode STRING Ταχυδρομικός κώδικας
Geo.hideExactAddress 0/1 Ένδειξη απόκρυψης της ακριβούς διεύθυνσης

Συνημμένα ψηφιακά αρχεία

Περιγραφή assets (μιας εικόνας και ενός βίντεο)

<Item>
    ........
    <Asset>
      <Asset.type>IMAGE</Asset.type>
        <Asset.id>filename.jpg</Asset.id>
        <Asset.fileType>jpg</Asset.fileType>
        <Asset.status>ACTIVE</Asset.status>
        <Asset.isPrimary>0</Asset.isPrimary>
        <Asset.caption>Main image</Asset.caption>
        <Asset.order>1</Asset.order>
        <Asset.uri>filename.jpg</Asset.uri>
        <Asset.properties key="something">100</Asset.properties>
    </Asset>
    ........
    <Asset>
        <Asset.type>VIDEO</Asset.type>
        <Asset.id>v1</Asset.id>
        <Asset.isPrimary>0</Asset.isPrimary>
        <Asset.order>1</Asset.order>
        <Asset.caption>Ermis Bronze στη Χρυσή Ευκαιρία</Asset.caption>
        <Asset.uri><![CDATA[http://www.youtube.com/watch?v=NebuqG1OFXM]]></Asset.uri>
    </Asset>
    ........
</Item>

Ο μηχανισμός εισαγωγής αγγελιών στο σύστημα της Χρυσής Ευκαιρίας επιτρέπει κάθε αγγελία να συνοδεύεται από εικόνες ή video τα οποία δεν θα είναι πάνω από 30 φωτογραφίες + 1 video. Η πληροφορία που αφορά κάθε αρχείο περιγράφεται σε ένα στοιχείο Asset το οποίο περιλαμβάνεται στο σώμα του στοιχείου Item. Τα πεδία που χρησιμοποιούνται για την περιγραφή της εικόνας περιγράφονται στον παρακάτω πίνακα:

Πεδίο Τύπος Υποχρεωτικό Περιγραφή
Asset.type LOOKUP ΝΑΙ Τύπος Αρχείου (IMAGE ή VIDEO)
Asset.id STRING ΝΑΙ Κωδικός
Asset.fileType LOOKUP Ο τύπος της εικόνας. Αν δεν υπάρχει θεωρείται jpg
Asset.status LOOKUP Κατάσταση εικόνας (για μελλοντική χρήση - στην τρέχουσα έκδοση πάντα ACTIVE)
Asset.isPrimary 0/1 ΝΑΙ Ένδειξη κύριας εικόνας ή βίντεο
Asset.caption FLOAT Λεκτικό περιγραφής (για μελλοντική χρήση)
Asset.order FLOAT ΝΑΙ Σειρά εμφάνισης
Asset.uri STRING ΝΑΙ Το όνομα του αρχείου τής εικόνας ως ή το URL τού Video (το url τού video μέσα σε <![CDATA[]]>)
Asset.properties KEY / VALUE(STRING) Placeholder για έξτρα πληροφορία

Σειρά εμφάνισης των εικόνων στο xe.gr

Για τον καθορισμό της σειράς εμφάνισης των εικόνων στο xe.gr χρησιμοποιούνται τα πεδία Asset.isPrimary και Asset.order:

Παρατηρήσεις:

Σύνοψη

Στην παρακάτω εικόνα φαίνεται η σύνοψη της δομής μίας αγγελίας.

Outline

Παραρτήματα

Lookup values

A. Πίνακες LOOKUP των χαρακτηριστικών

Είδος -Υποείδος (Item.type - Item.subtype)

Item.type Τιμή Περιγραφή Τιμή Item.subtype Περιγραφή
re_land AGROTEMAXIO Αγροτεμάχιο
  EKTASH Έκταση
  OIKOPEDO Οικόπεδο
re_parking CLOSED Κλειστό
  OPEN Ανοιχτό
  YPOGEIO Υπόγειο
  PILOTIS Πιλοτής
re_prof BIOTEXNIA Βιοτεχνικός Χώρος
  EXHIBITION Εκθεσιακός Χώρος
  INDUSTRIAL Βιομηχανικός Χώρος
  KTIRIO Κτίριο
  OFFICE Γραφείο
  RETAIL Κατάστημα
  ROOM Αίθουσα
  STORAGE Αποθηκευτικός Χώρος
re_residence APARTMENT Διαμέρισμα FLOORFLAT Οροφοδιαμέρισμα
LOFT Δώμα (τιμή προς κατάργηση)
PENTHOUSE Ρετιρέ
SINGLEROOM Γκαρσονιέρα
BUILDING Κτήριο
HOUSE Μονοκατοικία
SPLIT_LEVEL Μεζονέτα
re_misc AERAS Αέρας Κατοικίας
  LYOMENO Λυόμενο
  MULTIPLE Πολλαπλά Ακίνητα
  OTHER Άλλο
  PROKAT Προκατασκευασμένο

Τύπος προβολής (Item.publicationType)

Τιμή Περιγραφή
BASIC Τύπος προβολής ΑΠΛΗ
GOLD Τύπος προβολής GOLD

Σχέδιο πόλης (Item.cityPlanType)

Τιμή Περιγραφή
IN Εντός σχεδίου πόλης
OUT Εκτός σχεδίου πόλης
TOBE Υπό ένταξη

Τύπος Θέας (Item.viewType)

Τιμή Περιγραφή
FOREST Θέα δάσος
MOUNTAIN Θέα βουνό
SEA Θέα Θάλασσα
UNLIMITED Απεριόριστη θέα

Διαθεσιμότητα(Item.availabilityType)

Τιμή Περιγραφή
AVAILABLE Ελεύθερο
OCCUPATED Μισθωμένο

Κλίση (Item.tilt)

Τιμή Περιγραφή
AMFITHEATRIKO Αμφιθεατρικό
LEVEL Επίπεδο
TILTED Επικλινές

Χρήση parking (Item.usage)

Τιμή Περιγραφή
BIKE Μοτοσικλέτας
BOAT Σκάφους
CAR Αυτοκινήτου
CARAVAN Τροχόσπιτου

Επίπεδο(Item.level)

Είδος Αγγελίας Τιμή Περιγραφή
re_parking GROUND Ισόγειο
LEV_1 1
LEV_2 2
LEV_3 3
LEV_4 4
SUB_1 -1
SUB_2 -2
SUB_3 -3
SUB_4 -4
re_prof - re_residence L0 Ισόγειο
L1 1
L2 2
L3 3
L4 4
L5 5
L6 6
L7 7
L8 8
LH Ημιόροφος
LHH Υπερυψωμένο
S1 Υπόγειο
SH Ημιυπόγειο

Λεπτομερής κατάσταση (Item.conditionSpecific)

Τιμή Περιγραφή
NEWBUILT Νεόδμητο
UNDER_CONSTRUCTION Υπό κατασκευή
UNFINISHED Ημιτελές
REFURBISHED Ανακαινισμένο
GOOD Καλή Κατάσταση
NEEDS_REPAIR Χρήζει ανακαίνισης

Είδος parking(Item.parkingType)

Τιμή Περιγραφή
CLOSED Κλειστό
OPEN Ανοιχτό
YPOGEIO Υπόγειο
PILOTIS Πιλοτής

Τύπος ρεύματος (Item.electricityType)

Τιμή Περιγραφή
INDUSTRIAL Βιομηχανικό
SINGLE_PHASED Μονοφασικό
TRI_PHASED Τριφασικό

Τύπος προσανατολισμού (Item.orientation)

Τιμή Περιγραφή
DIAMPERES Διαμπερές
ESWTERIKO Εσωτερικό
GONIAKO Γωνιακό
PROSOPSEOS Προσόψεως

Είδος κατασκευής (Item.constructionType)

Τιμή Περιγραφή
LOFT Loft
LYOMENO Λυόμενο
NEOKLASIKO Νεοκλασικό
PRESERVED Διατηρητέο
PROKAT Προκατασκευή
ROCK Πέτρινο
STUDIO Στούντιο
TRADITIONAL Παραδοσιακό
VILA Βίλα

Δάπεδα (Item.floorType)

Τιμή Περιγραφή
PARQUET Παρκέ
LAMINATE Laminate
TILES Πλακάκι
MARBLE Μάρμαρο
MOSAIC Μωσαϊκό

Ενοίκιο περιλαμβάνει (Item.utilitiesIncludedInRent)

Τιμή Περιγραφή
ELECTRICITY Ρεύμα
WATER Νερό
INTERNET Ίντερνετ
COMMUNAL_FEES Κοινόχρηστα

Ζώνη (Item.propertyZone)

Τιμή Περιγραφή
RESIDENTIAL Οικιστική
COMMERCIAL Εμπορική
INDUSTRIAL Βιομηχανική

Είδος θέρμανσης (Item.heating)

Τιμή Περιγραφή
AUTONOMOUS_CENTRAL Αυτόνομη θέρμανση με κεντρική εγκατάσταση
FULLY_AUTONOMOUS Αυτόνομη θέρμανση με ατομική εγκατάσταση
CENTRAL Κεντρική θέρμανση
NO_HEATING Δεν έχει θέρμανση

Τρόποι θέρμανσης (Item.heatingMedium)

Τιμή Περιγραφή
NATURAL_GAS Φυσικό αέριο
OIL Πετρέλαιο
ELECTRICITY Ρεύμα
PELLET Pellet

Οικονομικά Στοιχεία

Μονάδα (Item.Transaction.currency)

Τιμή Περιγραφή
EUR Ευρώ

Συχνότητα(Transaction.frequency)

Τιμή Περιγραφή
ANNUALY Ετήσια
DAILY Ημερήσια
HOURLY Ωριαία
MONTHLY Μηνιαία
ONCE Εφ'άπαξ
QUARTERLY Τετραμηνιαία
WEEKLY Εβδομαδιαία

Τύπος Συναλλαγής (Transaction.Type)

Τιμή Περιγραφή
SELL.NORMAL Πώληση
SELL.EXCHANGE Ανταλλαγή
SELL.AUCTION Πλειστηριασμός
SELL.GIFT Δωρεά
SELL.ANTIPAROXI Αντιπαροχή
LET.NORMAL Ενοικίαση

Ψηφιακά αρχεία

Τύπος (Asset.type)

Τιμή Περιγραφή
IMAGE Εικόνα

Τύπος αρχείου (Asset.fileType)

Τιμή Περιγραφή
jpeg Εικόνα JPEG
jpg Εικόνα JPEG
pjpeg Εικόνα JPEG
jfif Εικόνα JPEG
pjp Εικόνα JPEG
png Εικόνα PNG
bmp Εικόνα BMP

Κατάσταση(Asset.status)

Τιμή Περιγραφή
ACTIVE Ενεργή
INACTIVE Μή ενεργή

XSD (Schemata) Ver 1.0

AddItemsRequest

Το σχήμα της έκδοσης 1.1 αντιμετωπίζει τα metadata του πακέτου και των χαρακτηριστικών καθώς και τα Items που αφορούν αντικείμενα του Real Estate

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           targetNamespace="http://www.xe.gr"
           xmlns="http://www.xe.gr"
           elementFormDefault="qualified">

    <xs:simpleType name="transCurrency">
        <xs:restriction base="xs:string">
            <xs:enumeration value="EUR" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="transFrequency">
        <xs:restriction base="xs:string">
            <xs:enumeration value="ANNUALY" />
            <xs:enumeration value="DAILY" />
            <xs:enumeration value="HOURLY" />
            <xs:enumeration value="MONTHLY" />
            <xs:enumeration value="ONCE" />
            <xs:enumeration value="QUARTERLY" />
            <xs:enumeration value="WEEKLY" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="transType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="SELL.NORMAL"/>
            <xs:enumeration value="SELL.GIFT"/>
            <xs:enumeration value="SELL.EXCHANGE"/>
            <xs:enumeration value="SELL.ANTIPAROXI"/>
            <xs:enumeration value="SELL.AUCTION"/>
            <xs:enumeration value="LET.NORMAL"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="itemType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="re_land" />
            <xs:enumeration value="re_misc" />
            <xs:enumeration value="re_parking" />
            <xs:enumeration value="re_prof" />
            <xs:enumeration value="re_residence" />
            <xs:enumeration value="re_residence_hol" />
            <xs:enumeration value="auto" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="pubType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="GOLD" />
            <xs:enumeration value="BASIC" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="xeBoolean">
        <xs:restriction base="xs:string">
            <xs:enumeration value="0" />
            <xs:enumeration value="1" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="assetType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="IMAGE" />
            <xs:enumeration value="VIDEO" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="assetFileType">
        <xs:restriction base="xs:string">
            <!-- DO NOT re-format the pattern, it messes with the regex validation-->
            <xs:pattern value="(([Jj])([Pp])([Gg]))|(([Pp])([Jj])([Pp]))|(([Jj])([Ff])([Ii])([Ff]))|(([Jj])([Pp])([Ee])([Gg]))|(([Pp])([Jj])([Pp])([Ee])([Gg]))|(([Pp])([Nn])([Gg]))|(([Bb])([Mm])([Pp]))|(([Hh])([Ee])([Ii])([Cc]))|(([Hh])([Ee])([Ii])([Ff]))"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="assetUriValidation">
        <xs:restriction base="xs:string">
            <xs:pattern value="(\s*(http(s)?://)?(www\.)?(m\.)?youtu(\.)?be(\.com)?/(embed/)?(watch\?v=)?.*\s*)|(.)+\.((([Jj])([Pp])([Gg]))|(([Pp])([Jj])([Pp]))|(([Jj])([Ff])([Ii])([Ff]))|(([Jj])([Pp])([Ee])([Gg]))|(([Pp])([Jj])([Pp])([Ee])([Gg]))|(([Pp])([Nn])([Gg]))|(([Bb])([Mm])([Pp]))|(([Hh])([Ee])([Ii])([Cc]))|(([Hh])([Ee])([Ii])([Ff])))"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="assetStatus">
        <xs:restriction base="xs:string">
            <xs:enumeration value="ACTIVE" />
            <xs:enumeration value="INACTIVE" />
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="assetProperty">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="key" type="xs:string"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="otherPhones">
        <xs:sequence>
            <xs:element name="Item.phone" type="xs:string" minOccurs="1" maxOccurs="5"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="field">
        <xs:sequence>
            <xs:element name="Name" type="xs:string"/>
            <xs:element name="Value" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="asset">
        <xs:sequence>
            <xs:element name="Asset.type" type="assetType"/>
            <xs:element name="Asset.id" type="xs:string"/>
            <xs:element name="Asset.fileType" type="assetFileType" minOccurs="0"/>
            <xs:element name="Asset.status" type="assetStatus" minOccurs="0"/>
            <xs:element name="Asset.isPrimary" type="xeBoolean"/>
            <xs:element name="Asset.caption" type="xs:string" minOccurs="0"/>
            <xs:element name="Asset.order" type="xs:integer" minOccurs="0"/>
            <xs:element name="Asset.uri" type="assetUriValidation"/>
            <xs:element name="Asset.properties" type="assetProperty" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="item">
        <xs:sequence>
            <xs:element name="Item.ownerId" type="xs:string"/>
            <xs:element name="Item.majorPhone" type="xs:string"/>
            <xs:element name="Item.departmentOnCategory" type="xs:string" minOccurs="0"/>
            <xs:element name="Item.otherPhones" type="otherPhones" minOccurs="0"/>
            <xs:element name="Item.internetText" type="xs:string" minOccurs="0"/>
            <xs:element name="Item.addOnText" type="xs:string" minOccurs="0"/>
            <xs:element name="Item.bodyText" type="xs:string" minOccurs="0"/>
            <xs:element name="Transaction.price" type="xs:string" minOccurs="0"/>
            <xs:element name="Transaction.currency" type="transCurrency" minOccurs="0"/>
            <xs:element name="Transaction.frequency" type="transFrequency" minOccurs="0"/>
            <xs:element name="Transaction.type" type="transType"/>
            <xs:element name="Transaction.isOffer" type="xs:string" minOccurs="0"/>
            <xs:element name="Transaction.isPromo" type="xs:string" minOccurs="0"/>
            <xs:element name="Transaction.isNegotiable" type="xs:string" minOccurs="0"/>
            <xs:element name="Field" type="field" minOccurs="1" maxOccurs="100"/>
            <xs:element name="Asset" type="asset" minOccurs="0" maxOccurs="31"/>
        </xs:sequence>
        <xs:attribute name="type" type="itemType" use="required"/>
        <xs:attribute name="refId" type="xs:string" use="required"/>
        <xs:attribute name="publicationType" type="pubType" default="BASIC"/>
    </xs:complexType>

    <xs:element name="AddItemsRequest">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Package.xeAuthToken" type="xs:string"/>
                <xs:element name="Package.schemaVersion" type="xs:string"/>
                <xs:element name="Package.id" type="xs:string"/>
                <xs:element name="Package.timestamp" type="xs:string"/>
                <xs:element name="Package.storeId" type="xs:string" minOccurs="0"/>
                <xs:element name="Package.trademark" type="xs:string" minOccurs="0"/>
                <xs:element name="Package.skipAssets" type="xs:string" minOccurs="0"/>
                <xs:element name="Package.crmProviderCode" type="xs:string" minOccurs="0"/>
                <xs:element name="Package.policy" type="xs:string"/>
                <xs:element name="Item" type="item" minOccurs="1" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

</xs:schema>

Μηνύματα Σφάλματος

Αποστολή πακέτου

Μήνυμα Λάθους Επεξήγηση
CREDENTIALS DO NOT MATCH WITH AUTH TOKEN Τα στοιχεία αυθεντικοποίησης (username,password) δεν αντιστοιχούν στο κλειδί αυθεντικοποίησης (authtoken)
FILE HANDLING ERROR Σφάλμα κατά τον χειρισμό του zip αρχείου, πρόβλημα με την δομή του
FAILED XSD VALIDATION Μη έγκυρο XML αρχείο, απέτυχε το XSD validation

Επεξεργασία πακέτου

Σε επίπεδο πακέτου:

Μήνυμα Λάθους Επεξήγηση
DUPLICATE ID Ο κωδικός πακέτου έχει χρησιμοποιηθεί ήδη )
XML PARSING ERROR Σφάλμα κατα την ανάγνωση του αρχείου xml)
NO MATCHING POLICY FOUND Μη έγκυρη πολιτική χρήσης, αναντιστοιχία ανάμεσα στην επιλεγμένη πολιτική χρήσης (INCREMENTAL/RENEW_ALL_STOCK) και σε αυτή που αναφέρεται στο πακέτο του request )
REQUEST TYPE NOT ALLOWED BY POLICY Μη αποδεκτός τύπος αιτήματος , ο τύπος αιτήματος/πολιτικής δεν είναι κάποιος απο τους επιτρεπτούς (INCREMENTAL/RENEW_ALL_STOCK) )

Σε επίπεδο αγγελίας:

Μήνυμα Λάθους Επεξήγηση
INVALID AGENT Μή έγκυρος agent
ΙNVALID CONTACT PHONE Μή πιστοποιημένος αριθμός τηλεφώνου επικοινωνίας
UPDATE NOT ALLOWED BY POLICY Η ενημέρωση της αγγελλίας δεν επιτρέπεται απο την πολιτική
DELETION NOT ALLOWED BY POLICY Η διαγραφή δεν επιτρέπεται απο την πολιτική
ITEM NOT FOUND Ο κωδικός αναφοράς δεν βρέθηκε
IMAGE MANIPULATION FAILED Σφάλμα κατα την επεξεργασία εικόνων
INVALID AGENT MODERATION POLICY Λάθος πολιτική τροποποίσης για τον agent (moderation/no moderation)
SYSTEM ERROR Σφάλμα συστήματος, οφείλεται σε εσωτερικό σφάλμα στους servers του xe.gr
INVALID UPDATE TYPE CHANGED Αδυναμία ενημέρωσης της αγγελίας καθώς αλλάζει ο τύπος της

Καθώς και άλλα σφάλματα validation της αγγελίας τα οποία είναι περιγραφικά σε κάθε περίπτωση.