Planung
Die Planungsverwaltung in InLoox umfasst drei Entitäten: Planning (Planungselemente wie Arbeitspakete und Meilensteine), PlanningPublication (projektübergreifende Meilenstein-Verknüpfungen) und PlanningTemplate (Planungsvorlagen). Über die OData-API können Sie die gesamte Projektplanung programmatisch steuern.
| Entität | Beschreibung |
|---|---|
| Planning | Planungselemente (Arbeitspakete, Meilensteine, Gruppierungen) |
| PlanningPublication | Projektübergreifende Meilenstein-Veröffentlichungen |
| PlanningTemplate | Wiederverwendbare Planungsvorlagen |
Planning
Datenmodell
| Property | Type | Description |
|---|---|---|
PlanningId | Guid (UUID) | Eindeutiger Bezeichner des Planungselements (Primärschlüssel). |
ProjectId | Guid | Zugehöriges Projekt. |
DisplayName | string? | Anzeigename des Planungselements. |
ParentPlanningId | Guid? | Übergeordnetes Planungselement (null = Stammebene). |
PlanningTypeId | Guid? | Typ des Planungselements. |
PositionNumber | int32 | Positionsnummer in der Reihenfolge. |
CustomColor | int32? | Benutzerdefinierte Farbe (als Integer-Wert). |
Progress | int32? | Fortschritt in Prozent (0–100). |
StartDateTime | DateTimeOffset | Startdatum und -uhrzeit. |
EndDateTime | DateTimeOffset | Enddatum und -uhrzeit. |
DurationTicks | int64 | Dauer in Ticks. |
IsMilestone | boolean | Gibt an, ob es sich um einen Meilenstein handelt. |
IsGrouping | boolean | Gibt an, ob es sich um eine Gruppierung handelt. |
IsProjectGrouping | boolean | Gibt an, ob es sich um eine Projektgruppierung handelt. |
IsCollapsed | boolean | Gibt an, ob das Element in der Ansicht eingeklappt ist. |
DescriptionHTML | string? | Beschreibung als HTML. |
PSPCode | string? | Projektstrukturplan-Code (PSP/WBS). |
Location | string? | Ort des Planungselements. |
CalendarId | Guid | Zugewiesener Kalender. |
ConstraintType | int32? | Einschränkungstyp für die Terminplanung. |
ConstraintDate | DateTimeOffset? | Datum der Einschränkung. |
WorkAmountSum | double? | Summe des Arbeitsaufwands. |
Endpunkte
CRUD-Operationen
/odata/PlanningAlle Planungselemente abrufen. Unterstützt OData-Abfrageparameter.
/odata/PlanningNeues Planungselement erstellen.
| Parameter | Type | Required | Description |
|---|---|---|---|
Body | Delta<ApiPlanning> | ✅ | JSON-Objekt mit den Planungseigenschaften. |
/odata/Planning({key})Ein einzelnes Planungselement abrufen.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die PlanningId. |
/odata/Planning({key})Planungselement teilweise aktualisieren.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die PlanningId. |
Body | Delta<ApiPlanning> | ✅ | JSON-Objekt mit den zu aktualisierenden Feldern. |
/odata/Planning({key})Planungselement löschen.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die PlanningId. |
/odata/Planning/$countGesamtanzahl aller Planungselemente abrufen.
Abhängigkeiten (Relationen)
/odata/Planning({key})/AddRelationEine Abhängigkeit zum Planungselement hinzufügen (z. B. Ende-Start-Verknüpfung).
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die PlanningId. |
Body | object | ✅ | JSON-Objekt mit den Abhängigkeitsdetails (Vorgänger/Nachfolger, Verknüpfungstyp). |
/odata/Planning({key})/RemoveRelationEine Abhängigkeit vom Planungselement entfernen.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die PlanningId. |
Body | object | ✅ | JSON-Objekt mit der Verknüpfungs-ID. |
Planungsabhängigkeiten unterstützen typische Gantt-Verknüpfungen: Ende-Start (FS), Start-Start (SS), Ende-Ende (FF) und Start-Ende (SF).
Dokumente
/odata/Planning({key})/AddDocumentToPlanningEin Dokument mit dem Planungselement verknüpfen.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die PlanningId. |
Body | object | ✅ | JSON-Objekt mit der Dokument-ID. |
/odata/Planning({key})/RemoveDocumentFromPlanningEin Dokument vom Planungselement entfernen.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die PlanningId. |
Body | object | ✅ | JSON-Objekt mit der Dokument-ID. |
Rückwärtsterminierung
/odata/Planning({key})/ConvertBackwardSchedulingDas Planungselement auf Rückwärtsterminierung umstellen.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die PlanningId. |
Body | object | ✅ | JSON-Objekt mit den Terminierungsparametern. |
Bei der Rückwärtsterminierung wird vom Endtermin rückwärts geplant. Dies ist nützlich für Projekte mit fixem Endtermin, bei denen die Starttermine berechnet werden sollen.
Benachrichtigungen
/odata/Planning({key})/AddNotificationFollowersBenachrichtigungsabonnenten zum Planungselement hinzufügen.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die PlanningId. |
Body | object | ✅ | JSON-Objekt mit den Kontakt-IDs der Abonnenten. |
/odata/Planning({key})/RemoveNotificationFollowerEinen Benachrichtigungsabonnenten entfernen.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die PlanningId. |
Body | object | ✅ | JSON-Objekt mit der Kontakt-ID. |
/odata/Planning({key})/GetNotificationFollowerContacts()Alle Benachrichtigungsabonnenten des Planungselements abrufen.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die PlanningId. |
PlanningPublication
Planungsveröffentlichungen ermöglichen die projektübergreifende Verknüpfung von Meilensteinen. So können Sie Abhängigkeiten zwischen verschiedenen Projekten abbilden.
Datenmodell
| Property | Type | Description |
|---|---|---|
PlanningPublicationId | Guid (UUID) | Eindeutiger Bezeichner der Veröffentlichung. |
SourcePlanningId | Guid | Quell-Planungselement. |
SourceProjectId | Guid | Quell-Projekt. |
SourceProjectName | string? | Name des Quell-Projekts (schreibgeschützt). |
SourceProjectNumber | string? | Nummer des Quell-Projekts (schreibgeschützt). |
SourceProjectImageId | Guid? | Bild-ID des Quell-Projekts (schreibgeschützt). |
DisplayName | string? | Anzeigename der Veröffentlichung. |
TargetProjectId | Guid | Ziel-Projekt. |
TargetProjectNumber | string? | Nummer des Ziel-Projekts (schreibgeschützt). |
TargetProjectName | string? | Name des Ziel-Projekts (schreibgeschützt). |
TargetProjectImageId | Guid? | Bild-ID des Ziel-Projekts (schreibgeschützt). |
Endpunkte
/odata/PlanningPublicationAlle Planungsveröffentlichungen abrufen.
/odata/PlanningPublicationNeue Planungsveröffentlichung erstellen.
| Parameter | Type | Required | Description |
|---|---|---|---|
Body | Delta<ApiPlanningPublication> | ✅ | JSON-Objekt mit den Veröffentlichungseigenschaften. |
/odata/PlanningPublication({key})Eine einzelne Veröffentlichung abrufen.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die PlanningPublicationId. |
/odata/PlanningPublication({key})Veröffentlichung löschen.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die PlanningPublicationId. |
/odata/PlanningPublication/$countGesamtanzahl der Veröffentlichungen abrufen.
Planungsveröffentlichungen können nicht aktualisiert werden. Löschen Sie die bestehende und erstellen Sie eine neue, um Änderungen vorzunehmen.
PlanningTemplate
Planungsvorlagen ermöglichen die Wiederverwendung von Planungsstrukturen über verschiedene Projekte hinweg. Sie können Vorlagen exportieren, importieren und in Projekte laden.
Datenmodell
| Property | Type | Description |
|---|---|---|
PlanningTemplateId | Guid (UUID) | Eindeutiger Bezeichner der Vorlage. |
Name | string? | Name der Vorlage. |
Endpunkte
CRUD-Operationen
/odata/PlanningTemplateAlle Planungsvorlagen abrufen.
/odata/PlanningTemplateNeue Planungsvorlage erstellen.
| Parameter | Type | Required | Description |
|---|---|---|---|
Body | Delta<ApiPlanningTemplate> | ✅ | JSON-Objekt mit dem Vorlagennamen. |
/odata/PlanningTemplate({key})Eine einzelne Vorlage abrufen.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die PlanningTemplateId. |
/odata/PlanningTemplate({key})Vorlage aktualisieren.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die PlanningTemplateId. |
Body | Delta<ApiPlanningTemplate> | ✅ | JSON-Objekt mit den zu aktualisierenden Feldern. |
/odata/PlanningTemplate({key})Vorlage löschen.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die PlanningTemplateId. |
/odata/PlanningTemplate/$countGesamtanzahl der Vorlagen abrufen.
Export & Download
/odata/PlanningTemplate({key})/DownloadPlanningTemplate()Planungsvorlage als Datei herunterladen.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die PlanningTemplateId. |
/odata/PlanningTemplate({key})/DownloadMSProjectXML()Vorlage im MS-Project-XML-Format herunterladen.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die PlanningTemplateId. |
/odata/PlanningTemplate({key})/DownloadTemplate()Vorlage herunterladen (alternativer Endpunkt).
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die PlanningTemplateId. |
Mit DownloadMSProjectXML können Sie Planungsvorlagen im XML-Format für Microsoft Project exportieren. Dies ermöglicht den Datenaustausch zwischen InLoox und MS Project.
Import & Anwendung
/odata/PlanningTemplate({key})/LoadTemplateForProjectEine Vorlage in ein Projekt laden.
| Parameter | Type | Required | Description |
|---|---|---|---|
key | Guid | ✅ | Die PlanningTemplateId. |
projectId | Guid | ✅ | Die Ziel-Projekt-ID (als Query-Parameter). |
settings | string | — | Import-Einstellungen als JSON-String (ApiPlanningTemplateImportSettings). |
Die Import-Einstellungen (ApiPlanningTemplateImportSettings) umfassen:
| Property | Type | Description |
|---|---|---|
CalculationMode | string? | Berechnungsmodus für die Terminplanung. |
StartDateForManualCalculation | DateTimeOffset? | Startdatum für manuelle Berechnung. |
LoadResourceData | boolean | Ressourcendaten übernehmen. |
LoadCompletionData | boolean | Fortschrittsdaten übernehmen. |
/odata/PlanningTemplate/SaveTemplateForProjectDie Planung eines Projekts als Vorlage speichern.
| Parameter | Type | Required | Description |
|---|---|---|---|
Body | object | ✅ | JSON-Objekt mit der Projekt-ID und dem Vorlagennamen. |
OData-Abfragebeispiele
Alle Planungselemente eines Projekts
GET /odata/Planning?$filter=ProjectId eq 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'&$orderby=PositionNumber
Nur Meilensteine abrufen
GET /odata/Planning?$filter=ProjectId eq 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' and IsMilestone eq true
Planungselemente mit Fortschritt unter 50 %
GET /odata/Planning?$filter=Progress lt 50 and IsGrouping eq false
Projektübergreifende Meilensteine eines Projekts
GET /odata/PlanningPublication?$filter=SourceProjectId eq 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
Neues Arbeitspaket erstellen
POST /odata/Planning
Content-Type: application/json
{
"ProjectId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"DisplayName": "Konzeptphase",
"StartDateTime": "2025-02-01T08:00:00Z",
"EndDateTime": "2025-02-28T17:00:00Z",
"Progress": 0,
"IsMilestone": false,
"IsGrouping": false
}
Meilenstein erstellen
POST /odata/Planning
Content-Type: application/json
{
"ProjectId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"DisplayName": "Go-Live",
"StartDateTime": "2025-06-30T00:00:00Z",
"EndDateTime": "2025-06-30T00:00:00Z",
"IsMilestone": true
}
Vorlage in ein Projekt laden
POST /odata/PlanningTemplate('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')/LoadTemplateForProject?projectId='yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy'
Content-Type: application/json
{
"CalculationMode": "Manual",
"StartDateForManualCalculation": "2025-03-01T00:00:00Z",
"LoadResourceData": true,
"LoadCompletionData": false
}
Der PSPCode (Projektstrukturplan-Code) entspricht dem internationalen WBS-Code (Work Breakdown Structure). Er wird automatisch basierend auf der Hierarchie berechnet, kann aber auch manuell gesetzt werden.