Skip to content

Instantly share code, notes, and snippets.

@adiwids
Last active July 1, 2020 01:18
Show Gist options
  • Save adiwids/876c70cf1b3d4d8f37ed129e7e93107f to your computer and use it in GitHub Desktop.
Save adiwids/876c70cf1b3d4d8f37ed129e7e93107f to your computer and use it in GitHub Desktop.

GET /shipments/1

{
  "shipment": {
    ...,
    "current_spal_version": 0,
    "pending_spal_revision": false,
    "spal_revisions": [
            ...,
            {
                "id": 3,
                "version": 0,
                "is_initial_version": true,
                "is_current_version": true,
                "created_at": "2020-06-25T22:31:42.484+07:00",
                "updated_at": "2020-06-25T22:31:42.484+07:00",
                "shipment_id": 1, // <Shipment.id>
                "suppliant_id": 2, // <User.id>
                "suppliant": {
                  "id": 2,
                  "full_name": "Jane Doe",
                  "contact_number": "",
                  "role": "owner",
                  "company": {
                      "id": 2,
                      "name": "Cargo Company #1",
                      "type": "cargo_owner",
                      "logo": null
                  }
                },
                "proposed_at": "2020-06-23T15:50:14.461+07:00",
                "status": "approved",
                "display_status": "Currently in used",
                "ship_id": 1, // <Ship.id>
                "ship": {
                  "id": 1,
                  "company_id": 1,
                  "name": "Pontoon & Nootnop",
                  "call_sign": "TB000001",
                  "status": "booked",
                  "state": "registered",
                  "remark": {
                      "en": "",
                      "id": ""
                  },
                  "shippable_type": "TugBoat",
                  "shippable_id": 1,
                  "track_info": {}
                }, 
                "laycan_start": "2020-07-01",
                "laycan_end": "2020-07-03",
                "loading_jetty": "Di Sana",
                "loading_city": "Di Mana",
                "loading_coordinate": "2.1333333, 106.116669",
                "discharging_jetty": "DI DINYA",
                "discharging_city": "DI MANA",
                "discharging_coordinate": "3.2111111, 108.669711",
                "bid_price": 250000000,
                "display_bid_price": "250.000.000 IDR",
                "demurrage": 1,
                "display_demurrage": "1 IDR",
                "channel_fee": "not_available",
                "cleaning": "not_available",
                "responded_by_id": null, // <User.id>
                "responded_by": {}, // lihat "suppliant"
                "responded_at": "2020-06-25T22:31:42.469+07:00",
                "remark": null,
                "can_be_responded": false, // tanda bisa review & approve/reject atau tidak
                "file": "http://localhost:3000/uploads/shipment/1/spal_revision_00.pdf"
            }
        ]
  }
}

GET /shipments/:shipment_id/revisions/:version

{
  "spal_revision": {
      "latest_applied": {}, // <SpalRevision>
      "id": 3,
      "version": 0,
      "is_initial_version": true,
      "is_current_version": true,
      "created_at": "2020-06-25T22:31:42.484+07:00",
      "updated_at": "2020-06-25T22:31:42.484+07:00",
      "shipment_id": 1, // <Shipment.id>
      "suppliant_id": 2, // <User.id>
      "suppliant": {
        "id": 2,
        "full_name": "Jane Doe",
        "contact_number": "",
        "role": "owner",
        "company": {
            "id": 2,
            "name": "Cargo Company #1",
            "type": "cargo_owner",
            "logo": null
        }
      },
      "proposed_at": "2020-06-23T15:50:14.461+07:00",
      "status": "approved",
      "display_status": "Currently in used",
      "ship_id": 1, // <Ship.id>
      "ship": {
        "id": 1,
        "company_id": 1,
        "name": "Pontoon & Nootnop",
        "call_sign": "TB000001",
        "status": "booked",
        "state": "registered",
        "remark": {
            "en": "",
            "id": ""
        },
        "shippable_type": "TugBoat",
        "shippable_id": 1,
        "track_info": {}
      }, 
      "laycan_start": "2020-07-01",
      "laycan_end": "2020-07-03",
      "loading_jetty": "Di Sana",
      "loading_city": "Di Mana",
      "loading_coordinate": "2.1333333, 106.116669",
      "discharging_jetty": "DI DINYA",
      "discharging_city": "DI MANA",
      "discharging_coordinate": "3.2111111, 108.669711",
      "bid_price": 250000000,
      "display_bid_price": "250.000.000 IDR",
      "demurrage": 1,
      "display_demurrage": "1 IDR",
      "channel_fee": "not_available",
      "cleaning": "not_available",
      "responded_by_id": null, // <User.id>
      "responded_by": {}, // lihat "suppliant"
      "responded_at": "2020-06-25T22:31:42.469+07:00",
      "remark": null,
      "can_be_responded": false, // tanda bisa review & approve/reject atau tidak
      "file": "http://localhost:3000/uploads/shipment/1/spal_revision_00.pdf"
  }
}

GET /shipments/:shipment_id/revisions/new

Prepopulate revision with latest applied revision.

{
  "spal_revision": {
    "latest_applied": {}, // <SpalRevision>
    "id": 3,
      "version": 0,
      "is_initial_version": true,
      "is_current_version": true,
      "created_at": "2020-06-25T22:31:42.484+07:00",
      "updated_at": "2020-06-25T22:31:42.484+07:00",
      "shipment_id": 1, // <Shipment.id>
      "suppliant_id": 2, // <User.id>
      "suppliant": {
        "id": 2,
        "full_name": "Jane Doe",
        "contact_number": "",
        "role": "owner",
        "company": {
            "id": 2,
            "name": "Cargo Company #1",
            "type": "cargo_owner",
            "logo": null
        }
      },
      "proposed_at": "2020-06-23T15:50:14.461+07:00",
      "status": "approved",
      "display_status": "Currently in used",
      "ship_id": 1, // <Ship.id>
      "ship": {
        "id": 1,
        "company_id": 1,
        "name": "Pontoon & Nootnop",
        "call_sign": "TB000001",
        "status": "booked",
        "state": "registered",
        "remark": {
            "en": "",
            "id": ""
        },
        "shippable_type": "TugBoat",
        "shippable_id": 1,
        "track_info": {}
      }, 
      "laycan_start": "2020-07-01",
      "laycan_end": "2020-07-03",
      "loading_jetty": "Di Sana",
      "loading_city": "Di Mana",
      "loading_coordinate": "2.1333333, 106.116669",
      "discharging_jetty": "DI DINYA",
      "discharging_city": "DI MANA",
      "discharging_coordinate": "3.2111111, 108.669711",
      "bid_price": 250000000,
      "display_bid_price": "250.000.000 IDR",
      "demurrage": 1,
      "display_demurrage": "1 IDR",
      "channel_fee": "not_available",
      "cleaning": "not_available",
      "responded_by_id": null, // <User.id>
      "responded_by": {}, // lihat "suppliant"
      "responded_at": "2020-06-25T22:31:42.469+07:00",
      "remark": null,
      "can_be_responded": false, // tanda bisa review & approve/reject atau tidak
      "file": "http://localhost:3000/uploads/shipment/1/spal_revision_00.pdf"
  }  
}

POST /shipments/:shipment_id/revisions

Request Body

{
  "spal_revision": {
    "ship_id": <int>,
    "laycan_start": <date>,
    "laycan_end": <date>,
    "loading_jetty": <string>,
    "loading_city": <string>,
    "loading_coordinate": <string>,
    "discharging_jetty": <string>,
    "discharging_city": <string>,
    "discharging_coordinate": <string>,
    "bid_price": <bigint>,
    "demurrage": <bigint>,
    "dead_freight": <int>,
    "channel_fee": <string>,
    "cleaning": <string>
  }
}

POST /shipments/:shipment_id/revisions/:version/approve

POST /shipments/:shipment_id/revisions/:version/reject

Request Body

{
  "spal_revision": {
     "remark": <Text>
  }
}

Error Responses

Not Found HTTP 404

{
  "error": <string>
}

Validation errors HTTP 422

{
    "error": <string>,
    "error_messages": [<string>, <string>, ...]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment